home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / cpmug / cpmug009.ark / GL5.ASC < prev    next >
Encoding:
Text File  |  1984-04-29  |  5.5 KB  |  167 lines

  1. 10 ' PROGRAM NAME "GL5"
  2. 20 ' PROGRAMMED BY:    BUD SHAMBURGER      NOVEMBER 1976
  3. 30 '                   #27 RED OAK DR
  4. 40 '                   CONWAY ARK 72
  5. 60 '
  6. 70 ' THIS PROGRAM LIST "BANKCURR" FILE FOR ACCOUNT #1110 AND PRINTS
  7. 80 ' OUT BAL FWDS, CHECKS CASHED, CHECKS WRITTEN, CHECKS OUTSTANDING,
  8. 90 ' DEPOSITS, ADJUSTMENTS AND NEW BANK BALANCE. THE FILE IS ON DR1
  9. 100 ' "BANKCURR" IS A RANDOM FILE RESIDING IN RECORDS 201-400.
  10. 110 ' THE RECORD LAYOUT IS THE SAME AS THE GENERAL LEDGER(BLOCKED 3
  11. 120 ' PER SECTOR)
  12. 130 '
  13. 140 '*******************************************************************
  14. 150 '
  15. 160 CLEAR 1500
  16. 170 E2DT$="###,###.##-           ###,###.##-           ###,###.##-"
  17. 180 INPUT "ENTER -Y- TO MOUNT THE FILE";WY$
  18. 190 IF WY$<>"Y" THEN 210
  19. 210 OPEN "R",1,"BANKCURR"
  20. 220 IS=4:B$=" ":BK$="           "
  21. 230 REC=200        'FILE START
  22. 240 EDT$="###,###.##-"   ' EDIT WORD FOR LINE PRINTER
  23. 250 E1DT$="           ###,###.##-###,###.##-           ###,###.##-"'EDIT
  24. 260 '
  25. 270 ' PAGE HEADINGS
  26. 280 '
  27. 290 H1$="CONWAY R.I. INC., CONWAY, ARK"
  28. 300 H2$="BANK RECONCILLIATION - GENERAL ACCOUNT - PERIOD ENDING "
  29. 310 H3$="PAGE "
  30. 320 H5$="CHECKS    CKSCASHED   CKSWRIT/  DEPOSIT/    LEDGER"
  31. 330 H6$="VNUMB MO DY DESCRIPTION   "
  32. 340 H4$="CNUMB"
  33. 350 H7$="OUTSTAND   CHARGES    CHARGES   CREDITS     BALANCE"
  34. 360 '
  35. 370 PRINT "BANK RECONCILLIATION, ACCOUNT# 1110"
  36. 380 INPUT "ENTER PERIOD ENDING DATE AS MO-DY-YR";DT$
  37. 390 RMO$=MID$(DT$,1,2)
  38. 400 INPUT "ENTER BANKS BEGINNING BALANCE AS -XXXXX.XX";BL#
  39. 410 T6#=BL#               ' EOJ TOTAL ROUTINE COUNTER
  40. 420 GOSUB 1260                'GO PRINT HEADINGS
  41. 430 GOSUB 1100                 'GO GET DISK RECORD
  42. 440 DCV$=MID$(DREC$(I),11,5)  ' LOAD WORK AREAS
  43. 450 DMO$=MID$(DREC$(I),1,2)
  44. 460 DYD$=MID$(DREC$(I),3,2)
  45. 470 DIS$=MID$(DREC$(I),16,11)
  46. 480 DOL$=MID$(DREC$(I),31,11)
  47. 490 DOL#=VAL(DOL$)
  48. 500 DDC$=MID$(DREC$(I),42,1)
  49. 510 IF DMO$=RMO$ THEN 630 ' DOES DISK MONTH = REPORT MONTH
  50. 520 '
  51. 530 ' IS IT AN UNCASHED CHECK
  52. 540 '
  53. 550 IF DDC$="2"ANDMID$(DCV$,1,1)="C"THENL1#=DOL#:T1#=T1#+DOL#:GOTO880
  54. 560 '
  55. 570 ' IS IT A CASHED CHECK
  56. 580 '
  57. 590 IF DDC$="3"ANDMID$(DCV$,1,1)="C"THENL2#=DOL#:T2#=T2#+DOL#:GOTO910
  58. 600 PRINT "DISK TYPE CODE ERR":STOP
  59. 610 GOSUB 1370               'GO CHECK FOR PAGE OVERFLOW
  60. 620 GOTO 430                 'NEXT LINE & RECORD
  61. 630 L5#=DOL#      ' DOLLAR AMOUNT FROM DISK
  62. 640 T5#=T5#+DOL#  ' LEDGER BALANCE LINE TOTAL
  63. 650 IF DDC$="1" THEN 860  ' IS IT A BALANCE FORWARD DISK RECORD
  64. 660 IF MID$(DCV$,1,1)="V" THEN 760 ' IS IT A DISK VOUCHER TRANSACTION
  65. 670 L3#=DOL#:T3#=T3#+DOL# ' CHECKS WRITTEN COUNTERS
  66. 680 IF DDC$="2" AND MID$(DCV$,1,1)="C" THEN 710 ' IS IT UNCASHED CHECK
  67. 690 IF DDC$="3" AND MID$(DCV$,1,1)="C" THEN 740 ' IS IT CASHED CHECK
  68. 700 GOTO 600
  69. 710 L1#=DOL#:T1#=T1#+DOL# ' CHECKS OUTSTANDING COUNTERS
  70. 720 IF MID$(DIS$,1,4)="VOID" THEN 1060 ' IS IT A VOID CHECK OR VOUCHER
  71. 730 GOTO 940
  72. 740 L2#=DOL#:T2#=T2#+DOL# ' CHECKS CASHED COUNTERS
  73. 750 GOTO 970
  74. 760 SN=SGN(DOL#)
  75. 770 '
  76. 780 ' IS IT A CREDIT OR DEBIT TRANSACTION
  77. 790 '
  78. 800 IF SN=-1THENL3#=DOL#:T3#=T3#+DOL#:L2#=DOL#:T2#=T2#+DOL#:GOTO1030
  79. 810 L4#=DOL#:T4#=T4#+DOL#
  80. 820 GOTO 1000
  81. 830 '
  82. 840 ' PRINT THE TYPE OF REPORT LINE DESIRED
  83. 850 '
  84. 860 LPRINT SPC(6);DMO$;B$;DYD$;B$;DCV$;DIS$;SPC(40)USINGEDT$;L5#
  85. 870 GOTO 610
  86. 880 LN$=DCV$+B$+DMO$+B$+DYD$+B$+DIS$+B$
  87. 890 LPRINT LN$ USING EDT$;L1#
  88. 900 GOTO 610
  89. 910 LN$=DCV$+B$+DMO$+B$+DYD$+B$+DIS$+B$
  90. 920 LPRINT LN$ SPC(11) USING EDT$;L2#
  91. 930 GOTO 610
  92. 940 LN$=DCV$+B$+DMO$+B$+DYD$+B$+DIS$+B$
  93. 950 LPRINT LN$ USING E2DT$;L1#,L3#,L5#
  94. 960 GOTO 610
  95. 970 LN$=DCV$+B$+DMO$+B$+DYD$+B$+DIS$+B$
  96. 980 LPRINT LN$ USING E1DT$;L2#,L3#,L5#
  97. 990 GOTO 610
  98. 1000 LN$=DCV$+B$+DMO$+B$+DYD$+B$+DIS$+B$
  99. 1010 LPRINT LN$ SPC(33) USING EDT$;L4#,L5#
  100. 1020 GOTO 610
  101. 1030 LN$=DCV$+B$+DMO$+B$+DYD$+B$+DIS$+B$
  102. 1040 LPRINT LN$ USING E1DT$;L2#,L3#,L5#
  103. 1050 GOTO 610
  104. 1060 LN$=DCV$+B$+DMO$+B$+DYD$+B$+DIS$+B$
  105. 1070 LPRINT LN$
  106. 1080 GOTO 610
  107. 1090 '
  108. 1100  ' THIS ROUTINE GETS THE DISK RECORD FROM "BANKCURR" LOCATED
  109. 1110 ' ON DR1, RECORD 201-400
  110. 1120 '
  111. 1130 IF IS=4 THEN 1210
  112. 1140 FOR I=IS TO 3
  113. 1150 FIELD #1, (I-1)*42 AS D$,42 AS DREC$(I)
  114. 1160 IF MID$(DREC$(I),1,3)="EOF" THEN 1500  'TO EOJ ROUTINE
  115. 1170 IF MID$(DREC$(I),42,1)="*" THEN 1200
  116. 1180 IS=I+1
  117. 1190 RETURN
  118. 1200 NEXT I
  119. 1210 REC=REC+1:IF REC>400 THEN PRINT "FILEND ERR":STOP
  120. 1220 GET #1,REC
  121. 1230 IS=1
  122. 1240 GOTO 1130
  123. 1250 '
  124. 1260  ' THIS ROUTINE PRINTS THE PAGE HEADINGS AND RESETS
  125. 1270  ' THE LINE COUNTER
  126. 1280 '
  127. 1290 LPRINT SPC(3);H1$:LPRINT
  128. 1300 PAG=PAG+1
  129. 1310 LPRINT H2$;DT$;SPC(2);H3$;PAG:LPRINT
  130. 1320 LPRINT H4$;SPC(22);H5$
  131. 1330 LPRINT H6$;B$;H7$:LPRINT
  132. 1340 LC=8
  133. 1350 RETURN
  134. 1360 '
  135. 1370 ' THIS ROUTINE CHECKS FOR PAGE OVERFLOW
  136. 1380 '
  137. 1390 LC=LC+1
  138. 1400 IF LC>57 THEN 1420
  139. 1410 RETURN
  140. 1420 FOR J=LC TO 66
  141. 1430 LPRINT
  142. 1440 NEXT J
  143. 1450 GOSUB 1260
  144. 1460 GOTO 1410
  145. 1470 '
  146. 1480  ' EOJ TOTAL ROUTINE
  147. 1490 '
  148. 1500 LPRINT:GOSUB 1370
  149. 1510 LPRINT SPC(5)"TOTALS"SPC(13) USINGEDT$;T1#,T2#,T3#,T4#,T5#
  150. 1520 LPRINT
  151. 1530 LPRINT "BEG BANK BALANCE " USING EDT$;T6#:T6#=T6#+T2#
  152. 1540 LPRINT "CKSCASHED/CHARGES" USING EDT$;T2#:T6#=T6#+T4#
  153. 1550 LPRINT "DEPOSITS/CREDITS " USING EDT$;T4#
  154. 1560 LPRINT "------------------------------"
  155. 1570 LPRINT "END BANK BALANCE " USING EDT$;T6#:LPRINT
  156. 1580 LPRINT "CHECKS OUTSTAND  " USING EDT$;T1#:T6#=T6#+T1#
  157. 1590 LPRINT "------------------------------"
  158. 1600 LPRINT "BALANCE          " USING EDT$;T6#
  159. 1610 LPRINT "LEDGER BALANCE   " USING EDT$;T5#
  160. 1620 LPRINT "------------------------------"
  161. 1630 T7#=T6#-T5#
  162. 1640 LPRINT "DEPOSITS IN TRANS"
  163. 1650 LPRINT "LAST MONTH       " USING EDT$;T7#
  164. 1660 PRINT "EOJ"
  165. 1670 LOAD "GLMENU",0,R
  166. 1680 END
  167.