home *** CD-ROM | disk | FTP | other *** search
/ PC-Blue - MS DOS Public Domain Library / PC-Blue MS-DOS Public Domain Library - NYACC.iso / vol136 / checkprt.bas < prev    next >
Encoding:
BASIC Source File  |  1986-12-15  |  17.7 KB  |  359 lines

  1. 4000 COLOR 7,0: REM ****************************************************************************************************
  2. 4010 REM             "CHECKPRT" SUBROUTINE TO PRINT CHECKS AND UPDATE THE CHECK DISKETTE RECORDS
  3. 4020 REM  **************************************************************************************************************
  4. 4030 GOSUB 260    'OPEN FILES #1,#2,#3
  5. 4040 REM  **************************************************************************************************************
  6. 4050 REM                        THE FOLLOWING ARRAY 'B$()' IS USED TO PRINT NUMBERS AS WORDS
  7. 4060 REM  **************************************************************************************************************
  8. 4070 B$(2) = "TWENTY"
  9. 4080 B$(3) = "THIRTY"
  10. 4090 B$(4) = "FORTY"
  11. 4100 B$(5) = "FIFTY"
  12. 4110 B$(6) = "SIXTY"
  13. 4120 B$(7) = "SEVENTY"
  14. 4130 B$(8) = "EIGHTY"
  15. 4140 B$(9) = "NINETY"
  16. 4150 B$(10) = "ONE"
  17. 4160 B$(11) = "TWO"
  18. 4170 B$(12) = "THREE"
  19. 4180 B$(13) = "FOUR"
  20. 4190 B$(14) = "FIVE"
  21. 4200 B$(15) = "SIX"
  22. 4210 B$(16) = "SEVEN"
  23. 4220 B$(17) = "EIGHT"
  24. 4230 B$(18) = "NINE"
  25. 4240 B$(19) = "TEN"
  26. 4250 B$(20) = "ELEVEN"
  27. 4260 B$(21) = "TWELVE"
  28. 4270 B$(22) = "THIRTEEN"
  29. 4280 B$(23) = "FOURTEEN"
  30. 4290 B$(24) = "FIFTEEN"
  31. 4300 B$(25) = "SIXTEEN"
  32. 4310 B$(26) = "SEVENTEEN"
  33. 4320 B$(27) = "EIGHTEEN"
  34. 4330 B$(28) = "NINETEEN"
  35. 4340 '
  36. 4350 REM  **************************************************************************************************************
  37. 4360 J = 1  'USE CKNO%(J) ARRAY TO STORE RECORD # FOR PRINTING MAILING LABELS AFTER PRINTING ALL CHECKS
  38. 4370 CKNO%(J) = 9999  'LAST ARRAY ENTRY
  39. 4380 REM  **************************************************************************************************************
  40. 4390 REM       WRITE BANK STATEMENT CHECKS AMOUNT ISSUED FIELD TO ACTIVITY LOG FILE 'BEFORE' IT IS UPDATED
  41. 4400 REM  **************************************************************************************************************
  42. 4410 GOSUB 7300  'GET BANK STATEMENT FILE #1 RECORD
  43. 4420 TC$="40"
  44. 4430 CN%=0
  45. 4440 AC$=SPACE$(1)
  46. 4450 TD$=SPACE$(8)
  47. 4460 PA%=1
  48. 4470 PC$=P1$
  49. 4480 PA$=A1$
  50. 4490 TAMT=0
  51. 4500 LACTM%=0
  52. 4510 LACTS%=0
  53. 4520 LAMT=0
  54. 4530 BDIW=CVS(S2$)
  55. 4540 BAMT=CVS(S3$)
  56. 4550 GOSUB 310  'WRITE AUDIT TRAIL RECORD
  57. 4560 REM  **************************************************************************************************************
  58. 4570 GOSUB 300   'GET PAYEE'S FILE #1 AND FILE #2 DISKETTE RECORDS
  59. 4580 IF ASC(F1$)<>255 THEN GOTO 4630
  60. 4590     COLOR 31,0: PRINT "  This Payee Record not in use. Retry."
  61. 4600     PRINT "  Press any key to continue."
  62. 4610     IF INKEY$ = "" THEN GOTO 4610
  63. 4620     COLOR 7,0: GOTO 4570
  64. 4630 IF P1$=P2$ THEN GOTO 4680
  65. 4640     COLOR 31,0: PRINT "  Payee Numbers are unequal": COLOR 7,0
  66. 4650     PRINT "  File #1 is ";P1$
  67. 4660     PRINT "  File #2 is ";P2$
  68. 4670     GOTO 330  'CANCEL PROGRAM
  69. 4680 CHEKD1$ = D1$  'FOR CHECK PRINTING
  70. 4690 CHEKP1$ = P1$  'FOR CHECK PRINTING
  71. 4700 CHEKA1$ = A1$  'FOR CHECK PRINTING - PAYEE NAME
  72. 4702 CHEKA2$ = A2$  'FOR CHECK PRINTING - PAYEE ADDRESS
  73. 4704 CHEKA3$ = A3$  'FOR CHECK PRINTING - PAYEE CITY AND STATE
  74. 4706 CHEKA4$ = A4$  'FOR CHECK PRINTING - PAYEE ZIPCODE
  75. 4710 PREC% = REC%  'SAVE 1ST RECORD ADDRESS FOR CHECK PRINTING
  76. 4720 SVADDRS% = REC%  'SAVE FOR 'L$' FIELD UPDATE
  77. 4730 SAVEP2$ = P2$  'SAVE PAYEE CODE
  78. 4740 CLS
  79. 4750 PRINT: COLOR 7,0: PRINT "  Enter Check No., Amount and Date"
  80. 4760 PRINT: PRINT "    (Enter a date only if Check's date"
  81. 4770 PRINT "    is to be other than today's date.)": PRINT
  82. 4780 PRINT "  Dated examples are:"
  83. 4790 PRINT "   Future:   2912   1077.52   03-03-99"
  84. 4800 TDATE$ = SPACE$(8): LSET TDATE$ = DATE$: YR$ = MID$(DATE$,9,2): MID$(TDATE$,7,2) = YR$
  85. 4810 PRINT "  Today's:   2912   1077.52   ";TDATE$
  86. 4820 CHEKDATA$ = SPACE$(22)
  87. 4830 PRINT: PRINT SPC(12);: Y = CSRLIN: X = POS(0)
  88. 4840 FIELDMAX% = 4: NUM.ONLY% = TRUE%: DEC.MINUS% = FALSE%
  89. 4850 GOSUB 320
  90. 4855 IF DATU$ = "" THEN GOTO 6830  'PRINT MAILING LABELS, IF ANY
  91. 4860 CHECKNO$ = DATU$
  92. 4870 X = X + 6    'ADJUST CURSOR COLUMN
  93. 4880 FIELDMAX% = 8: NUM.ONLY% = TRUE%: DEC.MINUS% = TRUE%
  94. 4890 GOSUB 320
  95. 4900 CHECKAMT$ = DATU$
  96. 4910 AMT = VAL(DATU$)
  97. 4920 LOCATE Y,X+1: COLOR 0,7
  98. 4930 PRINT USING "#####.##";AMT: COLOR 7,0
  99. 4940 X = X + 11   'ADJUST CURSOR COLUMN
  100. 4950 FIELDMAX% = 8: NUM.ONLY% = TRUE%: DEC.MINUS% = TRUE%
  101. 4960 GOSUB 320
  102. 4970 IF DATU$<>"" THEN TDATE$ = DATU$
  103. 4980 CHEKDATA$ = CHECKNO$ + " " + CHECKAMT$ + " " + TDATE$
  104. 4990 IF CHEKDATA$ = "" THEN GOTO 6830  'PRINT MAILING LABELS, IF ANY
  105. 5000 IF LEN(CHEKDATA$) < 7 THEN COLOR 31,0: PRINT "  Incorrect input, Reenter your data.": GOTO 4820
  106. 5010 SLOC = INSTR(CHEKDATA$,SPACE$(1))
  107. 5020 ICHEKNO$ = LEFT$(CHEKDATA$,SLOC-1)
  108. 5030 ICHEK% = VAL(ICHEKNO$)  'CHECK NO.
  109. 5040 DEC$ = "."
  110. 5050 XLOC = INSTR(SLOC+1,CHEKDATA$,DEC$)       'FIND DECIMAL POSITION
  111. 5055 IF XLOC = 0 THEN GOTO 4740
  112. 5060 '
  113. 5070 DOLLAR$ = MID$(CHEKDATA$,SLOC+1,XLOC-(SLOC+1))
  114. 5080 DLEN = LEN(DOLLAR$)
  115. 5090 DOLLARS = VAL(DOLLAR$)  'DOLLARS ONLY
  116. 5100 '
  117. 5110 CENT$ = MID$(CHEKDATA$,XLOC+1,2)
  118. 5120 CENTS = VAL(CENT$)  'CENTS ONLY
  119. 5130 '
  120. 5140 AMT$ = MID$(CHEKDATA$,SLOC+1,XLOC-(SLOC-2))
  121. 5150 AMT = VAL(AMT$)
  122. 5160 '
  123. 5170 IF MID$(CHEKDATA$,XLOC+4,8) = "" THEN TDATE$ = SPACE$(8): ELSE TDATE$ = MID$(CHEKDATA$,XLOC+4,8)
  124. 5180 COLOR 7,0: PRINT: PRINT: PRINT "  Check No.  is:     ";ICHEK%
  125. 5190 PRINT USING "  Check amt. is: #####,.##";AMT
  126. 5200 PRINT "  Check date is:  ";TDATE$
  127. 5210 PRINT "  Payee: ";A1$
  128. 5220 PRINT: COLOR 0,7: PRINT "  Are you sure? Reply Y or N. ";
  129. 5230 C$ = INKEY$: IF C$="" THEN 5230
  130. 5240 PRINT C$: COLOR 7,0: IF C$ = "N" OR C$ = "n" THEN GOTO 4740
  131. 5250 IF C$ = "Y" OR C$ = "y" THEN GOTO 5300
  132. 5260 COLOR 31,0: PRINT "  I need a Y or N";: GOTO 5230
  133. 5270 REM  **************************************************************************************************************
  134. 5280 REM               TEST CHECK NO. FIELD FOR ZEROS TO FIND NEXT SLOT FOR ENTERING THIS CHECK
  135. 5290 REM  **************************************************************************************************************
  136. 5300 GOSUB 270   'READ CHECK FIELDS TO ARRAY
  137. 5310 FOR I = 1 TO 8
  138. 5320     IF CHEK1%(I) = 0 THEN GOTO 5620
  139. 5330 NEXT I
  140. 5340 REM  **************************************************************************************************************
  141. 5350 REM               TEST CHAINING FIELD TO GET LAST FILE #2 RECORD IN THIS PAYEE'S CHAIN
  142. 5360 REM  **************************************************************************************************************
  143. 5370 CHANE% = CVI(L$)
  144. 5380 IF CHANE% = 0 THEN GOTO 5520
  145. 5390 IF (CHANE%>M1%) AND (CHANE%<(M2%+1)) THEN GOTO 5450
  146. 5400     COLOR 7,0: PRINT "  Chaining record error on Payee ";P2$
  147. 5410     PRINT USING "  Chaining field is ####";CHANE%
  148. 5420     PRINT "  Valid chaining records are ";M1%+1;"-";M2%
  149. 5430     COLOR 31,0: PRINT "  Correct File before rerunning this job": COLOR 7,0
  150. 5440     GOTO 330  'ERROR ON FILE, DO NOT CONTINUE
  151. 5450 GET #2,CHANE%
  152. 5460 SVADDRS% = CHANE%
  153. 5470 IF P1$=P2$ THEN GOTO 5300
  154. 5480     COLOR 31,0: PRINT "  Chaining Payee No. is unequal": COLOR 7,0
  155. 5490     PRINT "  FILE #1 Payee No. is ";P1$
  156. 5500     PRINT "  FILE #2 Payee No. is ";P2$
  157. 5510     GOTO 330  'ERROR ON FILE, DO NOT CONTINUE
  158. 5520 GOSUB 290  'CREATE NEXT FILE #2 RECORD FOR THIS PAYEE
  159. 5530 GET #1,PREC%  'RE-GET PAYEE FILE #1 RECORD
  160. 5540 IF P2$=P1$ THEN GOTO 5300
  161. 5550     COLOR 31,0: PRINT "  Payee Numbers are unequal": COLOR 7,0
  162. 5560     PRINT "  FILE #1 is ";P1$
  163. 5570     PRINT "  FILE #2 is ";P2$
  164. 5580     GOTO 330  'ERROR ON FILE, DO NOT CONTINUE
  165. 5590 REM  **************************************************************************************************************
  166. 5600 REM                        UPDATE PAYEE FILE #2 RECORD WITH THIS CHECK INFORMATION
  167. 5610 REM  **************************************************************************************************************
  168. 5620 CHEK1%(I) = ICHEK%
  169. 5630 CHEK2$(I) = SPACE$(1)
  170. 5640 CHEK3$(I) = TDATE$
  171. 5650 CHEK4(I) = AMT
  172. 5660 GOSUB 280  'MOVE CHECK DATA ARRAY TO THE I/O BUFFER OF FILE #2
  173. 5670 PUT #2,SVADDRS%
  174. 5680 REM  **************************************************************************************************************
  175. 5690 REM                        WRITE 'CHECK ISSUED' TRANSACTION TO THE ACTIVITY LOG FILE
  176. 5700 REM  **************************************************************************************************************
  177. 5710 TC$="41"
  178. 5720 CN%=CHEK1%(I)
  179. 5730 AC$=SPACE$(1)
  180. 5740 TD$=CHEK3$(I)
  181. 5750 PA%=SVADDRS%
  182. 5760 PC$=P2$
  183. 5770 PA$=CHEKA1$
  184. 5780 TAMT=CHEK4(I)
  185. 5790 BDIW=0
  186. 5800 BAMT=0
  187. 5810 IF BOOKS$="Y" THEN GOTO 5870
  188. 5820 GOSUB 310  'EXECUTED ONLY IF NOT USING THE SIMPLE BOOKKEEPING SYSTEM OPTION
  189. 5830 GOTO 6160
  190. 5840 REM  **************************************************************************************************************
  191. 5850 REM                    DISTRIBUTE CHECK AMOUNT TO THE SIMPLE BOOKKEEPING SYSTEM ACCOUNTS
  192. 5860 REM  **************************************************************************************************************
  193. 5870 T=AMT   'CHECK AMOUNT TO DISTRIBUTE BY ACCOUNT NUMBERS
  194. 5880 CLS
  195. 5890 COLOR 7,0: PRINT "  Enter Account Numbers and Amounts"
  196. 5900 PRINT "  For BOOKKEEPING SYSTEM"
  197. 5910 PRINT: PRINT USING "    Transaction Amount is: #####,.##-";T
  198. 5920 PRINT "  Enter the following:"
  199. 5930 PRINT "          Major Account #: ";: Y = CSRLIN: X = POS(0)
  200. 5940 FIELDMAX% = 4: NUM.ONLY% = TRUE%: DEC.MINUS% = FALSE%: GOSUB 320
  201. 5950 IF DATU$ = "" THEN GOTO 5930
  202. 5960 IF LEN(DATU$)<>4 THEN COLOR 31,0: PRINT "  Account is a 4 digit code, retry": COLOR 7,0: GOTO 5930
  203. 5970 LACTM% = VAL(DATU$)
  204. 5990 PRINT: PRINT SPC(12);"Record Number: ";: Y = CSRLIN: X = POS(0)
  205. 6000 FIELDMAX% = 3: NUM.ONLY% = TRUE%: DEC.MINUS% = FALSE%: GOSUB 320
  206. 6010 IF DATU$ = "" THEN GOTO 5990
  207. 6020 LACTS% = VAL(DATU$)
  208. 6030 IF LACTS% > 0 AND LACTS% < (M10% + M11% + 1) THEN GOTO 6050
  209. 6040     COLOR 31,0: PRINT "  Enter a valid Record Number": COLOR 7,0: GOTO 5990
  210. 6050 PRINT: PRINT "  Amount for this Account: ";: Y = CSRLIN: X = POS(0)
  211. 6060 FIELDMAX% = 9: NUM.ONLY% = TRUE%: DEC.MINUS% = TRUE%: GOSUB 320
  212. 6070 IF DATU$ = "" THEN GOTO 6050
  213. 6080 LAMT = VAL(DATU$)
  214. 6100 LOCATE Y,X+1: COLOR 0,7
  215. 6110 PRINT USING "#####.##-";LAMT: COLOR 7,0
  216. 6120 GOSUB 310  'WRITE AUDIT TRAIL RECORD TO ACTIVITY LOG FILE
  217. 6125 Y = CSRLIN:  IF Y > 18 THEN CLS
  218. 6130 T = T - LAMT
  219. 6140 IF ABS(T) > (8.999999E-03) THEN TAMT=0:  PRINT USING "  Undistributed amount is: #####,.##-";T: GOTO 5910
  220. 6150 REM  **************************************************************************************************************
  221. 6160 IF G2$<>"N" THEN GOTO 6190
  222. 6170 CKNO%(J) = PREC%     'SAVE PAYEE RECORD NO. FOR MAILING LABEL PRINTING
  223. 6180 J = J + 1: CKNO%(J) = 9999
  224. 6190 GOSUB 7300  'GET BANK STATEMENT RECORD AND UPDATE IT
  225. 6200 T = CVS(S3$)
  226. 6210 T = T + AMT
  227. 6220 RSET S3$ = MKS$(T)
  228. 6230 T = CVS(S4$)
  229. 6240 T = T - AMT
  230. 6250 IF T > 0 THEN GOTO 6290
  231. 6260     BEEP: BEEP: COLOR 31,0  'BLINK AND HIGHLIGHT
  232. 6270     PRINT USING "  OVERDRAWN BY ######,.##";T
  233. 6280     COLOR 7,0
  234. 6290 RSET S4$ = MKS$(T)
  235. 6300 CHK% = CVI(S6$)  'COUNT OF NUMBER OF CHECKS ISSUED
  236. 6310 CHK% = CHK% + 1  'INCREMENT CHECK COUNT
  237. 6320 RSET S6$ = MKI$(CHK%)
  238. 6330 PUT #1,1  'PUT BANK STATEMENT RECORD BACK TO DISKETTE
  239. 6340 GOSUB 7300  'TO ASSURE THE LAST I/O BUFFER WRITE TO DISK IN CASE OF PRINTER FAILURE AND PROGRAM ABORTS
  240. 6350 PRINT: COLOR 0,7: PRINT "  Is CHECK printer alignment OK?": BEEP
  241. 6360 PRINT "  Press 'R' key when ready": COLOR 7,0
  242. 6370 C$ = INKEY$: IF C$ = "" THEN GOTO 6370
  243. 6375 IF C$ = "R" OR C$ = "r" THEN GOTO 6410 ELSE GOTO 6360
  244. 6380 REM  **************************************************************************************************************
  245. 6390 REM                                             PRINT THE CHECK
  246. 6400 REM  **************************************************************************************************************
  247. 6410 LPRINT CHR$(27);"E";               'TURN ON EMPHASIZED PRINT
  248. 6420 LPRINT TAB(29);CHEKD1$: LPRINT     'PRINT IDENTIFICATION DATA LINE
  249. 6430 LPRINT: LPRINT TAB(37); TDATE$     'PRINT DATE LINE
  250. 6440 LPRINT: LPRINT TAB(45);
  251. 6450 LPRINT USING "**#####,.##";AMT     'PRINT AMOUNT LINE
  252. 6460 LPRINT CHR$(14);                   'TURN ON ENLARGED PRINT
  253. 6490 IF DLEN<3 THEN LPRINT " * * *";: GOTO 6550
  254. 6500 Y$="0": IF DLEN=3 THEN IF INSTR(DOLLAR$,Y$) = 0 THEN LPRINT " * * *";: GOTO 6520
  255. 6510 IF DLEN=3 THEN LPRINT " ";: GOTO 6550
  256. 6520 LPRINT CHR$(20);                   'TURN OFF ENLARGED PRINT
  257. 6530 LPRINT CHR$(27) "F";               'TURN OFF EMPHASIZED PRINT
  258. 6540 LPRINT CHR$(15) CHR$(14) " ";      'TURN ON CONDENSED AND ENLARGED PRINT
  259. 6550 GOSUB 6750               'CONVERT AND PRINT NUMBERS TO WORDS (DOLLARS ONLY)
  260. 6560 LPRINT CHR$(20) "AND ";            'TURN OFF ENLARGED PRINT
  261. 6570 IF CENTS=0 THEN LPRINT "NO/100 DOLLARS": GOTO 6591
  262. 6580 LPRINT USING "##";CENTS;           'PRINT CENTS
  263. 6590 LPRINT "/100 DOLLARS"
  264. 6591 LPRINT CHR$(18); CHR$(27) "E": LPRINT TAB(7); CHEKA1$  'TURN OFF CONDENSED PRINT, TURN ON EMPHASIZED PRINT, PRINT PAYEE NAME
  265. 6592 LPRINT TAB(7); CHEKA2$             'PRINT PAYEE ADDRESS
  266. 6593 FOR MI% = 21 TO 10 STEP -1
  267. 6594     IF MID$(CHEKA3$,MI%,1) <> " " THEN GOTO 6596
  268. 6595 NEXT
  269. 6596 MI% = MI% + 1
  270. 6597 CHEKA3A$ = LEFT$(CHEKA3$,MI%)
  271. 6598 LPRINT TAB(7); CHEKA3A$;           'PRINT PAYEE CITY AND STATE
  272. 6599 A4A$=LEFT$(CHEKA4$,5)
  273. 6600 A4B$=RIGHT$(CHEKA4$,4)
  274. 6606 LPRINT " ";A4A$;                   'PRINT ZIP CODE
  275. 6607 IF A4B$<>SPACE$(4) THEN LPRINT "-";A4B$ ELSE LPRINT
  276. 6608 LPRINT: LPRINT TAB(7);
  277. 6610 LPRINT CHR$(18) "REF: ";CHEKP1$;   'TURN OFF CONDENSED PRINT, PRINT PAYEE CODE
  278. 6620 LPRINT USING " ####";PREC%,ICHEK%  'PRINT PAYEE RECORD NO. AND CHECK NO.
  279. 6630 LPRINT CHR$(27);"F"                'TURN OFF EMPHASIZED PRINT
  280. 6640 LPRINT: LPRINT: LPRINT: BEEP  'SPACE UP TO NEXT CHECK
  281. 6660 PRINT: COLOR 0,7: PRINT "  Want to print another Check?"
  282. 6670 PRINT "  Reply Y or N.";SPC(15);
  283. 6680 C$ = INKEY$: IF C$ = "" THEN 6680
  284. 6690 PRINT C$: COLOR 7,0: IF C$ = "Y" OR C$ = "y" THEN GOTO 4570
  285. 6700 IF C$ = "N" OR C$ = "n" THEN GOTO 7110
  286. 6710 GOTO 6660
  287. 6720 REM  **************************************************************************************************************
  288. 6730 REM                                   ROUTINE TO PRINT NUMBERS AS WORDS
  289. 6740 REM  **************************************************************************************************************
  290. 6750 IF DOLLARS>999 THEN U=DOLLARS-INT(DOLLARS/1000)*1000:DOLLARS=INT(DOLLARS/1000): GOSUB 6750: LPRINT "THOUSAND ";:DOLLARS = U
  291. 6760 IF DOLLARS>99 THEN V=DOLLARS:DOLLARS=INT(DOLLARS/100):GOSUB 6750:LPRINT "HUNDRED ";: DOLLARS=V-DOLLARS*100
  292. 6770 IF DOLLARS>19 THEN LPRINT B$(INT(DOLLARS/10));" ";:DOLLARS=DOLLARS-10*INT(DOLLARS/10)
  293. 6780 IF DOLLARS THEN LPRINT B$(DOLLARS+9);" ";
  294. 6790 RETURN
  295. 6800 REM  **************************************************************************************************************
  296. 6810 REM                    PRINT MAILING LABELS FOR PAYEES THAT ARE CODED AS NEEDING ONE
  297. 6820 REM  **************************************************************************************************************
  298. 6830 IF CKNO%(1) = 9999 THEN GOTO 7060
  299. 6832     PRINT "  Mailing labels required?  Reply Y or N":  BEEP
  300. 6834     C$ = INKEY$: IF C$ = "" THEN GOTO 6834
  301. 6836     IF C$ = "Y" OR C$ = "y" THEN GOTO 6840
  302. 6838     IF C$ = "N" OR C$ = "n" THEN GOTO 7060 ELSE GOTO 6832
  303. 6840     PRINT: PRINT "  Insert mailing labels in printer   ": BEEP
  304. 6850     PRINT "  with print positions 1-30 centered "
  305. 6860     PRINT "  for printing first line of address."
  306. 6870     PRINT: COLOR 0,7: PRINT "  Press 'R' key when ready";SPC(11): COLOR 7,0
  307. 6880     C$ = INKEY$:IF C$ = "" THEN GOTO 6880
  308. 6885     IF C$ = "R" OR C$ = "r" THEN GOTO 6890 ELSE GOTO 6870
  309. 6890     WIDTH "LPT1:",80
  310. 6900     LPRINT CHR$(27);"E";    'SET FOR EMPHASIZED PRINTING
  311. 6910 FOR J = 1 TO 50
  312. 6920     IF CKNO%(J) = 9999 THEN GOTO 7060  'RETURN TO JOB CHOICES
  313. 6930     REC% = CKNO%(J)
  314. 6940     IF CKNO%(J-1) = CKNO%(J) THEN GOTO 7050  'PRINT ONLY 1 LABEL PER PAYEE
  315. 6950     GET #1,REC%
  316. 6960     LPRINT A1$
  317. 6970     LPRINT A2$
  318. 6980     LPRINT A3$
  319. 6990     A4A$=LEFT$(A4$,5)
  320. 7000     A4B$=RIGHT$(A4$,4)
  321. 7010     LPRINT TAB(21);A4A$;
  322. 7020     IF A4B$<>SPACE$(4) THEN LPRINT "-";A4B$ ELSE LPRINT
  323. 7030     LPRINT
  324. 7040     LPRINT
  325. 7050 NEXT J  'END OF PRINTING MAILING LABELS LOOP
  326. 7060 CLOSE    'CLOSE ALL FILES
  327. 7070 GOTO 250  'RETURN TO JOB CHOICES MENU
  328. 7080 REM  **************************************************************************************************************
  329. 7090 REM       WRITE BANK STATEMENT CHECKS AMOUNT ISSUED FIELD TO ACTIVITY LOG FILE 'AFTER' IT IS UPDATED
  330. 7100 REM  **************************************************************************************************************
  331. 7110 GOSUB 7300  'GET BANK STATEMENT FILE #1 RECORD
  332. 7120 TC$="42"
  333. 7130 CN%=0
  334. 7140 AC$=SPACE$(1)
  335. 7150 TD$=SPACE$(8)
  336. 7160 PA%=1
  337. 7170 PC$=P1$
  338. 7180 PA$=A1$
  339. 7190 TAMT=0
  340. 7200 LACTM%=0
  341. 7210 LACTS%=0
  342. 7220 LAMT=0
  343. 7230 BDIW=CVS(S2$)
  344. 7240 BAMT=CVS(S3$)
  345. 7250 GOSUB 310
  346. 7260 GOTO 6830   'PRINT MAILING LABELS
  347. 7270 REM  **************************************************************************************************************
  348. 7280 REM                            SUBROUTINE TO GET BANK STATEMENT FILE #1 RECORD
  349. 7290 REM  **************************************************************************************************************
  350. 7300 GET #1,1
  351. 7310 IF F1$="$" THEN GOTO 7360
  352. 7320     COLOR 7,0: PRINT "  The Bank Statement record has been"
  353. 7330     PRINT "  overlayed in FILE #1, Record #1"
  354. 7340     PRINT "  By Payee # ";P1$
  355. 7350     COLOR 31,0: PRINT "  Correct File then rerun this job": COLOR 7,0: GOTO 330
  356. 7360 RETURN
  357. 7370 REM  **************************************************************************************************************
  358. 9000 GOTO 9000 'CHAIN MERGE AREA LAST STATEMENT
  359.