10 ' PROGRAM NAME "GL5" 20 ' PROGRAMMED BY: BUD SHAMBURGER NOVEMBER 1976 30 ' #27 RED OAK DR 40 ' CONWAY ARK 72 60 ' 70 ' THIS PROGRAM LIST "BANKCURR" FILE FOR ACCOUNT #1110 AND PRINTS 80 ' OUT BAL FWDS, CHECKS CASHED, CHECKS WRITTEN, CHECKS OUTSTANDING, 90 ' DEPOSITS, ADJUSTMENTS AND NEW BANK BALANCE. THE FILE IS ON DR1 100 ' "BANKCURR" IS A RANDOM FILE RESIDING IN RECORDS 201-400. 110 ' THE RECORD LAYOUT IS THE SAME AS THE GENERAL LEDGER(BLOCKED 3 120 ' PER SECTOR) 130 ' 140 '******************************************************************* 150 ' 160 CLEAR 1500 170 E2DT$="###,###.##- ###,###.##- ###,###.##-" 180 INPUT "ENTER -Y- TO MOUNT THE FILE";WY$ 190 IF WY$<>"Y" THEN 210 210 OPEN "R",1,"BANKCURR" 220 IS=4:B$=" ":BK$=" " 230 REC=200 'FILE START 240 EDT$="###,###.##-" ' EDIT WORD FOR LINE PRINTER 250 E1DT$=" ###,###.##-###,###.##- ###,###.##-"'EDIT 260 ' 270 ' PAGE HEADINGS 280 ' 290 H1$="CONWAY R.I. INC., CONWAY, ARK" 300 H2$="BANK RECONCILLIATION - GENERAL ACCOUNT - PERIOD ENDING " 310 H3$="PAGE " 320 H5$="CHECKS CKSCASHED CKSWRIT/ DEPOSIT/ LEDGER" 330 H6$="VNUMB MO DY DESCRIPTION " 340 H4$="CNUMB" 350 H7$="OUTSTAND CHARGES CHARGES CREDITS BALANCE" 360 ' 370 PRINT "BANK RECONCILLIATION, ACCOUNT# 1110" 380 INPUT "ENTER PERIOD ENDING DATE AS MO-DY-YR";DT$ 390 RMO$=MID$(DT$,1,2) 400 INPUT "ENTER BANKS BEGINNING BALANCE AS -XXXXX.XX";BL# 410 T6#=BL# ' EOJ TOTAL ROUTINE COUNTER 420 GOSUB 1260 'GO PRINT HEADINGS 430 GOSUB 1100 'GO GET DISK RECORD 440 DCV$=MID$(DREC$(I),11,5) ' LOAD WORK AREAS 450 DMO$=MID$(DREC$(I),1,2) 460 DYD$=MID$(DREC$(I),3,2) 470 DIS$=MID$(DREC$(I),16,11) 480 DOL$=MID$(DREC$(I),31,11) 490 DOL#=VAL(DOL$) 500 DDC$=MID$(DREC$(I),42,1) 510 IF DMO$=RMO$ THEN 630 ' DOES DISK MONTH = REPORT MONTH 520 ' 530 ' IS IT AN UNCASHED CHECK 540 ' 550 IF DDC$="2"ANDMID$(DCV$,1,1)="C"THENL1#=DOL#:T1#=T1#+DOL#:GOTO880 560 ' 570 ' IS IT A CASHED CHECK 580 ' 590 IF DDC$="3"ANDMID$(DCV$,1,1)="C"THENL2#=DOL#:T2#=T2#+DOL#:GOTO910 600 PRINT "DISK TYPE CODE ERR":STOP 610 GOSUB 1370 'GO CHECK FOR PAGE OVERFLOW 620 GOTO 430 'NEXT LINE & RECORD 630 L5#=DOL# ' DOLLAR AMOUNT FROM DISK 640 T5#=T5#+DOL# ' LEDGER BALANCE LINE TOTAL 650 IF DDC$="1" THEN 860 ' IS IT A BALANCE FORWARD DISK RECORD 660 IF MID$(DCV$,1,1)="V" THEN 760 ' IS IT A DISK VOUCHER TRANSACTION 670 L3#=DOL#:T3#=T3#+DOL# ' CHECKS WRITTEN COUNTERS 680 IF DDC$="2" AND MID$(DCV$,1,1)="C" THEN 710 ' IS IT UNCASHED CHECK 690 IF DDC$="3" AND MID$(DCV$,1,1)="C" THEN 740 ' IS IT CASHED CHECK 700 GOTO 600 710 L1#=DOL#:T1#=T1#+DOL# ' CHECKS OUTSTANDING COUNTERS 720 IF MID$(DIS$,1,4)="VOID" THEN 1060 ' IS IT A VOID CHECK OR VOUCHER 730 GOTO 940 740 L2#=DOL#:T2#=T2#+DOL# ' CHECKS CASHED COUNTERS 750 GOTO 970 760 SN=SGN(DOL#) 770 ' 780 ' IS IT A CREDIT OR DEBIT TRANSACTION 790 ' 800 IF SN=-1THENL3#=DOL#:T3#=T3#+DOL#:L2#=DOL#:T2#=T2#+DOL#:GOTO1030 810 L4#=DOL#:T4#=T4#+DOL# 820 GOTO 1000 830 ' 840 ' PRINT THE TYPE OF REPORT LINE DESIRED 850 ' 860 LPRINT SPC(6);DMO$;B$;DYD$;B$;DCV$;DIS$;SPC(40)USINGEDT$;L5# 870 GOTO 610 880 LN$=DCV$+B$+DMO$+B$+DYD$+B$+DIS$+B$ 890 LPRINT LN$ USING EDT$;L1# 900 GOTO 610 910 LN$=DCV$+B$+DMO$+B$+DYD$+B$+DIS$+B$ 920 LPRINT LN$ SPC(11) USING EDT$;L2# 930 GOTO 610 940 LN$=DCV$+B$+DMO$+B$+DYD$+B$+DIS$+B$ 950 LPRINT LN$ USING E2DT$;L1#,L3#,L5# 960 GOTO 610 970 LN$=DCV$+B$+DMO$+B$+DYD$+B$+DIS$+B$ 980 LPRINT LN$ USING E1DT$;L2#,L3#,L5# 990 GOTO 610 1000 LN$=DCV$+B$+DMO$+B$+DYD$+B$+DIS$+B$ 1010 LPRINT LN$ SPC(33) USING EDT$;L4#,L5# 1020 GOTO 610 1030 LN$=DCV$+B$+DMO$+B$+DYD$+B$+DIS$+B$ 1040 LPRINT LN$ USING E1DT$;L2#,L3#,L5# 1050 GOTO 610 1060 LN$=DCV$+B$+DMO$+B$+DYD$+B$+DIS$+B$ 1070 LPRINT LN$ 1080 GOTO 610 1090 ' 1100 ' THIS ROUTINE GETS THE DISK RECORD FROM "BANKCURR" LOCATED 1110 ' ON DR1, RECORD 201-400 1120 ' 1130 IF IS=4 THEN 1210 1140 FOR I=IS TO 3 1150 FIELD #1, (I-1)*42 AS D$,42 AS DREC$(I) 1160 IF MID$(DREC$(I),1,3)="EOF" THEN 1500 'TO EOJ ROUTINE 1170 IF MID$(DREC$(I),42,1)="*" THEN 1200 1180 IS=I+1 1190 RETURN 1200 NEXT I 1210 REC=REC+1:IF REC>400 THEN PRINT "FILEND ERR":STOP 1220 GET #1,REC 1230 IS=1 1240 GOTO 1130 1250 ' 1260 ' THIS ROUTINE PRINTS THE PAGE HEADINGS AND RESETS 1270 ' THE LINE COUNTER 1280 ' 1290 LPRINT SPC(3);H1$:LPRINT 1300 PAG=PAG+1 1310 LPRINT H2$;DT$;SPC(2);H3$;PAG:LPRINT 1320 LPRINT H4$;SPC(22);H5$ 1330 LPRINT H6$;B$;H7$:LPRINT 1340 LC=8 1350 RETURN 1360 ' 1370 ' THIS ROUTINE CHECKS FOR PAGE OVERFLOW 1380 ' 1390 LC=LC+1 1400 IF LC>57 THEN 1420 1410 RETURN 1420 FOR J=LC TO 66 1430 LPRINT 1440 NEXT J 1450 GOSUB 1260 1460 GOTO 1410 1470 ' 1480 ' EOJ TOTAL ROUTINE 1490 ' 1500 LPRINT:GOSUB 1370 1510 LPRINT SPC(5)"TOTALS"SPC(13) USINGEDT$;T1#,T2#,T3#,T4#,T5# 1520 LPRINT 1530 LPRINT "BEG BANK BALANCE " USING EDT$;T6#:T6#=T6#+T2# 1540 LPRINT "CKSCASHED/CHARGES" USING EDT$;T2#:T6#=T6#+T4# 1550 LPRINT "DEPOSITS/CREDITS " USING EDT$;T4# 1560 LPRINT "------------------------------" 1570 LPRINT "END BANK BALANCE " USING EDT$;T6#:LPRINT 1580 LPRINT "CHECKS OUTSTAND " USING EDT$;T1#:T6#=T6#+T1# 1590 LPRINT "------------------------------" 1600 LPRINT "BALANCE " USING EDT$;T6# 1610 LPRINT "LEDGER BALANCE " USING EDT$;T5# 1620 LPRINT "------------------------------" 1630 T7#=T6#-T5# 1640 LPRINT "DEPOSITS IN TRANS" 1650 LPRINT "LAST MONTH " USING EDT$;T7# 1660 PRINT "EOJ" 1670 LOAD "GLMENU",0,R 1680 END