home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload
/
ShartewareOverload.cdr
/
database
/
manage.zip
/
JOURP.PRG
< prev
next >
Wrap
Text File
|
1987-08-16
|
16KB
|
553 lines
** Last revision: April 6, 1986 at 15:54
* program to print out or display journals
CLEA
STOR '99' TO build1
STOR .t. TO maybe
STOR 'N' TO answer
STOR 'Y' TO printer
STOR 'N' TO disk
STOR ' ' TO filename
STOR '?' TO select
STOR .t. TO more
DO WHIL more
IF clipper
@ 0,0, 22, 79 BOX frame
@ 4,1 SAY line1
@ 19,1 SAY line1
ELSE
@ 0,0 TO 4,79
@ 0,0 TO 19,79
@ 0,0 TO 22,79 DOUBLE
ENDI
@ 20,5 SAY 'Please select one of the above options. You may also leave this menu'
@ 21,5 SAY "by typing 'Q' and get on-line HELP by typing '?'."
@ 2,04 SAY dconame + ' - ACCOUNTING REPORT MENU'
@ 2,65 SAY DTOC(DATE())
@ 7,27 SAY "A. Cash Receipts Journal"
@ 8,27 SAY "B. Cash Disbursements Journal"
@ 9,27 SAY "C. General Journal"
@ 10,27 SAY "D. General Ledger"
@ 11,27 SAY "E. Display records on screen"
@ 12,27 SAY "F. Reindex"
@ 13,27 SAY "G. Return to Main Menu"
@ 17,23 SAY "PLEASE SELECT ONE OF THE OPTIONS"
@ 17,58 GET select PICTURE '!'
READ
DO WHIL AT(select, 'ABCDEFG?Q') = 0
STOR '?' TO select
@ 17,58 GET select PICTURE '!'
READ
ENDD
CLEA GETS
IF select >='A' .AND. select < 'E'
* select building
@ 17,01 SAY SPACE(75)
@ 17,01 SAY " What building shall we do ('99' for all) ? "
@ 17,60 GET build1 PICTURE '99'
READ
* get a starting point
STOR '00/00/00' TO stdat
@ 17,01 SAY SPACE(75)
@ 17,01 SAY ' What is the starting date (MM/DD/YY) ? '
@ 17,57 GET stdat PICTURE '99/99/99'
READ
STOR SUBSTR(stdat,7,2)+SUBSTR(stdat,1,2)+SUBSTR(stdat,4,2) TO stday
STOR VAL(stday) TO stdate
* RELE stday
STOR DTOC(date()) TO enddat
@ 18,01 SAY ' What is the cutoff date for entries? '
@ 18,57 GET enddat PICTURE '99/99/99'
READ
STOR SUBSTR(enddat,7,2)+SUBSTR(enddat,1,2)+SUBSTR(enddat,4,2) TO endday
STOR VAL(endday) TO enddate
* RELE endday
@ 17,01 SAY SPACE(75)
@ 18,01 SAY SPACE(75)
STOR LEN(dconame)/2 TO L
STOR 40-L TO L
STOR ' ' TO bl
STOR SUBSTR(bl,1,L) + dconame TO coname1
* RELE L, bl
@ 17,01 SAY " Send Report to the Printer (Y/N) "
@ 18,01 SAY SPACE(75)
@ 17,55 GET printer PICTURE '!'
READ
@ 18,01 SAY " Send Report to a Disk File (Y/N) "
@ 18,55 GET disk PICTURE '!'
READ
IF disk ='Y'
@ 17,01 SAY SPACE(75)
@ 18,01 SAY SPACE(75)
@ 17,01 SAY " Enter Disk File Name "
@ 18,01 SAY SPACE(75)
@ 17,44 GET filename PICTURE '!!!!!!!!'
@ 17,54 SAY "(.TXT will be added )"
READ
@ 18,01 SAY ' Select drive to put Files on '
@ 18,55 GET dr PICTURE '!'
READ
DO WHIL AT(dr,'ABCD') = 0
@ 18,55 GET dr PICTURE '!'
READ
ENDD while @
ENDI disk = Y
IF printer = 'Y'
@ 17,01 SAY SPACE(75)
@ 18,01 SAY SPACE(75)
@ 17,01 SAY ' MAKE PRINTER READY AND THEN HIT ANY KEY '
SET CONSOLE OFF
WAIT
SET CONSOLE ON
SET print ON
ENDI printer = Y
IF disk = 'Y' .AND. filename <> ' '
* make a proper REPORT file name that is of type TXT
STOR AT('.',filename) TO length
IF length = 0 .OR. length > 8
STOR 9 TO length
ENDI length
STOR SUBSTR(filename,1,length-1) TO filename
STOR '&dr.:'+filename+'.TXT' TO filename
SET ALTERNATE TO &filename
SET ALTERNATE ON
ENDI disk = Y and filename <> ''
ENDI select
CLEA
CLEA GETS
DO CASE
CASE select = 'A'
CLOS INDEX
GO TOP
* initialize variables
STOR 0 TO pageno
STOR 0 TO counter
STOR 0 TO mamount
STOR 0 TO amt
STOR .t. TO more1
SET MARGIN TO 3
DO WHIL more1
* do page counter etc
STOR pageno + 1 TO pageno
STOR 4 TO lineno
CLEA
? ' '
* and write TITLE
IF pageno = 1
? coname1
? ' CASH RECEIPTS JOURNAL'
? ' '
? 'Report of ' +DTOC(date()) + '. ' + 'Covering period ' +stdat + ' to ' + enddat
STOR lineno + 4 TO lineno
ENDI pageno = 1
? ' ' + 'PAGE ' + STR(pageno,2)
? ' Date Check #'+' Payor/Description '+ ' Account Prop ' + ' ' + 'Amount'
? "----------------------------------------------------------------------------"
? ' '
* now fill up rest of page to 50 lines with entries
DO WHIL lineno < 50
* now do a page if not end of file
IF .NOT. EOF()
STOR VAL(date) TO stdate1
IF (build1 = '99' .OR. build1 = SUBSTR(data,5,2)).AND.((stdate1 >= stdate .AND. stdate1 <= enddate) .AND. SUBSTR(data,40,1) = 'R')
STOR SUBSTR(date,3,2)+'/'+SUBSTR(date,5,2)+'/'+SUBSTR(date,1,2)+' ' TO m1
IF SUBSTR(data,5,2) = '00'
STOR ' ' TO prop
ELSE
STOR SUBSTR(data,5,2) TO prop
ENDI
? m1+SUBSTR(data,1,4)+' '+SUBSTR(data,12,20)+' '+SUBSTR(data,7,4) + ' ' + prop+' ' + STR(amount,12,2)
STOR mamount + amount TO mamount
SKIP
IF amount < 0
STOR amount*-1 TO amt
ELSE
STOR amount TO amt
ENDI amount
? ' '+SUBSTR(data,12,20)+' '+SUBSTR(data,7,4) + ' ' + STR(amt,12,2)
? ' '
STOR lineno +3 TO lineno
SKIP
ELSE
SKIP
ENDI (stdate1)
ELSE
? ' '
? ' TOTAL RECEIPTS FOR THIS PERIOD: ' + STR(mamount,12,2)
? ' '
STOR .f. TO more1
STOR 60 TO lineno
ENDI not EOF
ENDD while lineno < 50
ENDD more1
* if it was on turn it off or add a formfeed
IF printer = 'Y'
EJEC
SET PRINT OFF
ENDI
IF disk = 'Y'
? CHR(12)
ENDI
SET ALTERNATE OFF
? ' Hit any key to continue'
SET CONSOLE OFF
WAIT
SET CONSOLE ON
CLEA
SET MARGIN TO 0
STOR 'Y' TO printer
STOR 'N' TO disk
STOR '99' TO build1
STOR ' ' TO filename
STOR '?' TO select
CASE select = 'B'
CLOS INDEX
GO TOP
* initialize variables
STOR 0 TO pageno
STOR 0 TO counter
STOR 0 TO mamount
STOR 0 TO amt
STOR .t. TO more1
SET MARGIN TO 3
DO WHIL more1
* do page counter etc
STOR pageno + 1 TO pageno
STOR 4 TO lineno
CLEA
? ' '
* and write TITLE
IF pageno = 1
? coname1
? ' CASH DISBURSEMENTS JOURNAL'
? ' '
? 'Report of ' +DTOC(date()) + '. ' + 'Covering period ' +stdat + ' to ' + enddat
STOR lineno + 4 TO lineno
ENDI pageno = 1
? ' ' + 'PAGE ' + STR(pageno,2)
? ' Date Check #'+' Payee/Description '+ ' Account Prop ' + ' ' + 'Amount'
? "----------------------------------------------------------------------------"
? ' '
* now fill up rest of page to 50 lines with entries
DO WHIL lineno < 50
* now do a page if not end of file
IF .NOT. EOF()
STOR VAL(date) TO stdate1
IF (build1 = '99' .OR. build1 = SUBSTR(data,5,2)).AND.((stdate1 >= stdate .AND. stdate1 <= enddate) .AND. SUBSTR(data,40,1) = 'D')
STOR SUBSTR(date,3,2)+'/'+SUBSTR(date,5,2)+'/'+SUBSTR(date,1,2)+' ' TO m1
IF SUBSTR(data,5,2) = '00'
STOR ' ' TO prop
ELSE
STOR SUBSTR(data,5,2) TO prop
ENDI $(data)
? m1+SUBSTR(data,1,4)+' '+SUBSTR(data,12,20)+' '+SUBSTR(data,7,4)+' '+prop+' ' + STR(amount,12,2)
STOR mamount + amount TO mamount
SKIP
IF amount < 0
STOR amount*-1 TO amt
ELSE
STOR amount to amt
ENDI amount
? ' '+SUBSTR(data,12,20)+' '+SUBSTR(data,7,4)+ ' ' + STR(amt,12,2)
? ' '
STOR lineno +3 TO lineno
SKIP
ELSE
SKIP
ENDI stdate
ELSE
? ' '
? ' TOTAL DISBURSEMENTS LISTED FOR PERIOD: ' + STR(mamount,12,2)
? ' '
STOR .f. TO more1
STOR 60 TO lineno
ENDI not EOF
ENDD while lineno < 50
ENDD more1
* if it was on turn it off
IF printer = 'Y'
EJEC
SET PRINT OFF
ENDI
IF disk = 'Y'
? CHR(12)
ENDI
SET ALTERNATE OFF
? ' Hit any key to continue'
SET CONSOLE OFF
WAIT
SET CONSOLE ON
CLEA
SET MARGIN TO 0
STOR 'Y' TO printer
STOR 'N' TO disk
STOR '99' TO build1
STOR ' ' TO filename
STOR ' ' TO select
CASE select = 'C'
CLOS INDEX
GO TOP
* initialize variables
STOR 0 TO pageno
STOR 0 TO counter
STOR 0 TO amt
STOR .t. TO more1
SET MARGIN TO 3
DO WHIL more1
* do page counter etc
STOR pageno + 1 TO pageno
STOR 4 TO lineno
CLEA
? ' '
* and write TITLE
IF pageno = 1
? coname1
? ' GENERAL JOURNAL'
? ' '
? 'Report of ' +DTOC(date()) + '. ' + 'Covering period ' +stdat + ' to ' + enddat
STOR lineno + 4 TO lineno
ENDI pageno = 1
? ' ' + 'PAGE ' + STR(pageno,2)
? ' Date ' + ' Journal '+' Description ' + ' '+ ' Account Prop ' + ' ' + ' Amount'
? "----------------------------------------------------------------------------"
? ' '
* now fill up rest of page to 50 lines with entries
DO WHIL lineno < 50
* now do a page if not end of file
IF .NOT. EOF()
STOR VAL(date) TO stdate1
IF (build1 = '99' .OR. build1 = SUBSTR(data,5,2)).AND.((stdate1 >= stdate .AND. stdate1 <= enddate) .AND. SUBSTR(data,40,1) = 'J')
STOR SUBSTR(date,3,2)+'/'+SUBSTR(date,5,2)+'/'+SUBSTR(date,1,2)+' ' TO m1
IF SUBSTR(data,5,2) = '00'
STOR ' ' TO prop
ELSE
STOR SUBSTR(data,5,2) TO prop
ENDI $(data)
IF amount >= 0
STOR ' ' TO sp
STOR amount TO amt
ELSE
STOR ' ' TO sp
STOR amount*-1 TO amt
ENDI amount
? m1+SUBSTR(data,1,4)+' '+SUBSTR(data,12,20)+' '+SUBSTR(data,7,4)+' '+prop+ sp + STR(amt,12,2)
STOR lineno +1 TO lineno
SKIP
ELSE
SKIP
ENDI stdate
ELSE
STOR .f. TO more1
STOR 60 TO lineno
ENDI not EOF
ENDD while lineno < 50
ENDD more1
* if it was on turn it off
IF printer = 'Y'
EJEC
SET PRINT OFF
ENDI
IF disk = 'Y'
? CHR(12)
ENDI
SET ALTERNATE OFF
? ' Hit any key to continue'
SET CONSOLE OFF
WAIT
SET CONSOLE ON
CLEA
SET MARGIN TO 0
STOR 'Y' TO printer
STOR 'N' TO disk
STOR ' ' TO filename
STOR '99' TO build1
STOR ' ' TO select
CASE select = 'D'
SET INDEX TO &dr.:account
GO TOP
* initialize variables
STOR 0 TO pageno
STOR 0 TO counter
STOR .t. TO more1
STOR SUBSTR(data,7,4) TO account
STOR 0 TO amtacct
STOR 0 TO amt
SET MARGIN TO 3
DO WHIL more1
* do page counter etc
STOR pageno + 1 TO pageno
STOR 4 TO lineno
CLEA
? ' '
* and write TITLE
IF pageno = 1
? coname1
? ' GENERAL LEDGER'
? ' '
? 'Report of ' +DTOC(date()) + '. ' + 'Covering period ' +stdat + ' to ' + enddat
STOR lineno + 4 TO lineno
ENDI pageno = 1
? ' ' + 'PAGE ' + STR(pageno,2)
? ' Date ' + ' ' + ' Journal '+' ' + ' Account Prop ' + ' ' + ' Amount'
? "----------------------------------------------------------------------------"
? ' '
* now fill up rest of page to 50 lines with entries
DO WHIL lineno < 50
* now do a page if not end of file
IF .NOT. EOF()
STOR VAL(date) TO stdate1
IF stdate1 >= stdate .AND. stdate1 <= enddate
IF SUBSTR(data,40,1) = 'D'
STOR 'Cash Disburse Jnrl' TO book
ENDI $(data,40)
IF SUBSTR(data,40,1) = 'R'
STOR 'Cash Receipt Jnrl ' TO book
ENDI $(data,40)
IF SUBSTR(data,40,1) = 'J'
STOR 'General Journal ' TO book
ENDI $(data,40)
IF build1 = '99' .OR. build1 = SUBSTR(data,5,2)
STOR SUBSTR(date,3,2)+'/'+SUBSTR(date,5,2)+'/'+SUBSTR(date,1,2)+' ' TO m1
IF SUBSTR(data,5,2) = '00'
STOR ' ' TO prop
ELSE
STOR SUBSTR(data,5,2) TO prop
ENDI $(data)
IF amount >= 0
STOR ' ' TO sp
STOR amount TO amt
ELSE
STOR ' ' TO sp
STOR amount*-1 TO amt
ENDI amount
STOR SUBSTR(data,7,4) TO account1
IF account1 = account
STOR amtacct + amount TO amtacct
? m1+book+' '+SUBSTR(data,7,4)+ ' '+prop+sp+STR(amt,12,2)
ELSE
? ' Balance account ' + account + ' = ' + STR(amtacct,12,2)
? ' '
? m1+book+' '+SUBSTR(data,7,4)+ ' '+prop+sp+STR(amt,12,2)
STOR amount TO amtacct
STOR account1 TO account
STOR lineno + 3 TO lineno
ENDI account1
SKIP
STOR lineno +1 TO lineno
ELSE
SKIP
ENDI build1
ELSE
SKIP
ENDI stdate1
ELSE
? ' Balance account ' + account + ' = ' + STR(amtacct,12,2)
? ' '
STOR .f. TO more1
STOR 60 TO lineno
ENDI not EOF
ENDD while lineno < 50
ENDD more1
* if it was on turn it off
IF printer = 'Y'
EJEC
SET PRINT OFF
ENDI
IF DISK = 'Y'
? CHR(12)
ENDI
SET MARGIN TO 0
SET ALTERNATE OFF
? ' Hit any key to continue'
SET CONSOLE OFF
WAIT
SET CONSOLE ON
CLEA
STOR 'Y' TO printer
STOR 'N' TO disk
STOR ' ' TO filename
STOR '99' TO build1
STOR ' ' TO select
CASE select = 'E'
CLEA
TEXT
Accounting entries can be displayed either in the order
they were entered (showing both the debit and credit) or
in date order further sorted by building and account.
When WAITING hit space bar to continue or ESCape to quit.
ENDT
* get a starting point in file
STOR 'E' TO sttype
@ 10,12 SAY 'Shall we display by <E)ntry order or <S)ort order'
@ 10,63 Get sttype PICTURE '!'
READ
DO WHIL AT(sttype,'ES')=0
@ 10,12 SAY 'Shall we display by <E)ntry order or <S)ort order'
@ 10,63 Get sttype PICTURE '!'
READ
ENDD WHILE @(sttype)
IF sttype = 'S'
SET INDEX TO &dr.:account
ELSE
CLOS INDEX
GO TOP
ENDI sttype
* display selected list
CLEA
SET ESCAPE OFF
DISP NEXT 65000 SUBSTR(date,5,2)+'/'+SUBSTR(date,3,2)+'/'+SUBSTR(date,1,2), SUBSTR(data,1,4), SUBSTR(data,5,2),SUBSTR(data,12,20),SUBSTR(data,7,4),SUBSTR(data,40,1),amount,SUBSTR(data,32,8)
IF EOF()
WAIT
ENDI
SET ESCAPE ON
CLEA
STOR ' ' TO select
CASE select = '?'
CLEA
TEXT
A C C O U N T I N G R E P O R T M E N U H E L P S C R E E N
This is a very powerful little module that allows you to print out
or view the various journals. You also can examine any or all of
the original entries via the Display command. (If you must change
these entries - the only way to do this in the program is via the
Browse command on the Main Accounting menu.)
Before you run any of these journal programs - make sure you index.
Financial statements are prepared and printed from the main accounting
menu.
......hit any key to continue
ENDT
SET CONSOLE OFF
WAIT
SET CONSOLE ON
CLEA
CASE select = 'F'
CLEA
SET TALK ON
SET ECHO ON
INDE on SUBSTR(data,7,4) +date+ SUBSTR(data,5,2) to &dr.:account
SET ECHO OFF
SET TALK OFF
CLEA
CASE select = 'Q' .OR. select = 'G'
STOR .f. TO more
ENDC
ENDD WHILE more
SET INDEX TO &dr.:account
STOR .t. TO account