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

  1. 4000 COLOR 7,0: REM ****************************************************************************************************
  2. 4010 REM    "CHECKCLR" SUBROUTINE TO UPDATE THE FILE #2 CHECK RECORDS WITH 'C' TO INDICATE IT HAS CLEARED THE BANK
  3. 4020 REM  **************************************************************************************************************
  4. 4030 GOSUB 260   'OPEN FILES #1,#2,#3
  5. 4040 CLS
  6. 4050 PRINT "  Enter Check Numbers of all"
  7. 4060 PRINT "  checks, returned with the
  8. 4070 PRINT "  Bank Statement, that have
  9. 4080 PRINT "  'cleared' your Checking Account"
  10. 4090 PRINT: BEEP: PRINT "  Enter 9999 as the last entry": PRINT
  11. 4100 FOR I = 1 TO M4%
  12. 4110     Y = CSRLIN: X = POS(0)
  13. 4120     X = X + 7    'ADJUST CURSOR COLUMN
  14. 4130     IF Y > 23 THEN CLS: Y = 1: X = 8   'CHECK FOR BOTTOM SCREEN LINE
  15. 4140     FIELDMAX% = 4: NUM.ONLY% = TRUE%: DEC.MINUS% = FALSE%: GOSUB 320
  16. 4150     IF DATU$ = "" THEN IF I = 1 THEN GOTO 250 ELSE DATU$ = "0"  'IF NULL FIELD ON FIRST INPUT, GO TO DISPLAY MENU
  17. 4160     CKNO2% = VAL(DATU$)
  18. 4170     LOCATE Y,X+1: COLOR 0,7
  19. 4180     PRINT USING "####";CKNO2%: COLOR 7,0
  20. 4190     IF (CKNO2%<1) OR (CKNO2%>9999) THEN COLOR 31,0: PRINT "  ";DATU$;" is INVALID entry. Re-enter": GOTO 4110
  21. 4200     CKNO%(I) = CKNO2%
  22. 4210     IF CKNO%(I) = 9999 THEN COLOR 7,0: GOTO 4230
  23. 4220 NEXT I
  24. 4230 FOR I = 1 TO M2%
  25. 4240     PUT2$ = " " 'INIT. TO SPACE
  26. 4250     GET #2,I
  27. 4260     IF ASC(F2$)=255 THEN GOTO 4790
  28. 4270     REM  ----------------------------------------------------------------------------------------------------------
  29. 4280     REM         SCAN CHECK NUMBER FIELDS FOR CONTENT AND MATCH WITH ARRAY OF CHECK NUMBERS ENTERED ABOVE.
  30. 4290     REM              IF ACTIVITY CODE FIELD ON DISK, FOR THIS CHECK, IS BLANK THEN.....
  31. 4300     REM  ------------------------------TEST CHECK RECORD FIELD NO.1------------------------------------------------
  32. 4310     CKNO2% = CVI(V11$)
  33. 4320     IF CKNO2%=0 THEN GOTO 4370
  34. 4330     IF V12$ <> SPACE$(1) THEN GOTO 4370
  35. 4340     GOSUB 5260  'IS THIS CHECK IN THE CHECK ARRAY?
  36. 4350     LSET V12$ = VC$ 'RESULT OF ARRAY SEARCH
  37. 4360     REM  ------------------------------TEST CHECK RECORD FIELD NO.2------------------------------------------------
  38. 4370     CKNO2% = CVI(V21$)
  39. 4380     IF CKNO2%=0 THEN GOTO 4430
  40. 4390     IF V22$ <> SPACE$(1) THEN GOTO 4430
  41. 4400     GOSUB 5260  'IS THIS CHECK IN THE CHECK ARRAY?
  42. 4410     LSET V22$ = VC$ 'RESULT OF ARRAY SEARCH
  43. 4420     REM  ------------------------------TEST CHECK RECORD FIELD NO.3------------------------------------------------
  44. 4430     CKNO2% = CVI(V31$)
  45. 4440     IF CKNO2%=0 THEN GOTO 4490
  46. 4450     IF V32$ <> SPACE$(1) THEN GOTO 4490
  47. 4460     GOSUB 5260 'IS THIS CHECK IN THE CHECK ARRAY?
  48. 4470     LSET V32$= VC$ 'RESULT OF ARRAY SEARCH
  49. 4480     REM  ------------------------------TEST CHECK RECORD FIELD NO.4------------------------------------------------
  50. 4490     CKNO2% = CVI(V41$)
  51. 4500     IF CKNO2%=0 THEN GOTO 4550
  52. 4510     IF V42$ <> SPACE$(1) THEN GOTO 4550
  53. 4520     GOSUB 5260 'IS THIS CHECK IN THE CHECK ARRAY?
  54. 4530     LSET V42$= VC$ 'RESULT OF ARRAY SEARCH
  55. 4540     REM  ------------------------------TEST CHECK RECORD FIELD NO.5------------------------------------------------
  56. 4550     CKNO2% = CVI(V51$)
  57. 4560     IF CKNO2%=0 THEN GOTO 4610
  58. 4570     IF V52$ <> SPACE$(1) THEN GOTO 4610
  59. 4580     GOSUB 5260 'IS THIS CHECK IN THE CHECK ARRAY?
  60. 4590     LSET V52$ = VC$ 'RESULT OF ARRAY SEARCH
  61. 4600     REM  ------------------------------TEST CHECK RECORD FIELD NO.6------------------------------------------------
  62. 4610     CKNO2% = CVI(V61$)
  63. 4620     IF CKNO2%=0 THEN GOTO 4670
  64. 4630     IF V62$ <> SPACE$(1) THEN GOTO 4670
  65. 4640     GOSUB 5260 'IS THIS CHECK IN THE CHECK ARRAY?
  66. 4650     LSET V62$ = VC$ 'RESULT OF ARRAY SEARCH
  67. 4660     REM  ------------------------------TEST CHECK RECORD FIELD NO.7------------------------------------------------
  68. 4670     CKNO2% = CVI(V71$)
  69. 4680     IF CKNO2%=0 THEN GOTO 4730
  70. 4690     IF V72$ <> SPACE$(1) THEN GOTO 4730
  71. 4700     GOSUB 5260 'IS THIS CHECK IN THE CHECK ARRAY?
  72. 4710     LSET V72$ = VC$ 'RESULT OF ARRAY SEARCH
  73. 4720     REM  ------------------------------TEST CHECK RECORD FIELD NO.8------------------------------------------------
  74. 4730     CKNO2% = CVI(V81$)
  75. 4740     IF CKNO2%=0 THEN GOTO 4780
  76. 4750     IF V82$ <> SPACE$(1) THEN GOTO 4780
  77. 4760     GOSUB 5260 'IS THIS CHECK IN THE CHECK ARRAY?
  78. 4770     LSET V82$ = VC$ 'RESULT OF ARRAY SEARCH
  79. 4780     IF PUT2$ = "P" THEN PUT #2,I
  80. 4790 NEXT I 'END OF FOR LOOP
  81. 4800 REM  ---------------------CHECK ARRAY TO SEE IF THERE ARE ANY 'NOT FOUND' CHECK NOS.-------------------------------
  82. 4810 CLS
  83. 4820 FOR K = 1 TO M4%
  84. 4830     IF CKNO%(K) = 9999 THEN GOTO 4870
  85. 4840     IF CKNO%(K)<>0 THEN LPRINT USING  "CHECK NO. #### ALREADY CLEARED OR IS NOT IN FILE";CKNO%(K)
  86. 4850 NEXT K
  87. 4860 REM  -----------------------------------VERIFY DEPOSITS & WITHDRAWALS----------------------------------------------
  88. 4870 CLS
  89. 4880 PRINT "  Verify that the following "
  90. 4890 PRINT "  Deposits and Withdrawals "
  91. 4900 PRINT "  are on this Bank Statement": PRINT: PRINT
  92. 4910 REC%=1
  93. 4920 GET #2,REC%
  94. 4930 GOSUB 270   'MOVE FILE #2 I/O BUFFER TO ARRAYS
  95. 4940 PUT2$ = " "  'INIT. TO SPACE
  96. 4950 FOR K = 1 TO 8
  97. 4960     IF CHEK1%(K) = -3 THEN ACTION$ = "Withdrawal"
  98. 4970     IF CHEK1%(K) = -1 THEN ACTION$ = "Deposit   "
  99. 4980     IF (CHEK1%(K) = -1) OR (CHEK1%(K) = -3) THEN IF CHEK2$(K) = " " THEN GOTO 5000
  100. 4990     GOTO 5070
  101. 5000     PRINT "  Is ";ACTION$;" on ";CHEK3$(K)
  102. 5010     PRINT USING "  for #####,.## correct?";CHEK4(K)
  103. 5020     BEEP: COLOR 0,7: PRINT "  Reply Y or N ";
  104. 5030     C$ = INKEY$: IF C$="" THEN 5030
  105. 5040     PRINT C$: COLOR 7,0: IF C$ = "Y" OR C$ = "y" THEN PUT2$ = "P": CHEK2$(K)="C": GOTO 5070
  106. 5050     IF C$ = "N" OR C$ = "n" THEN GOTO 5070
  107. 5060     COLOR 31,0: PRINT "  I need Y or N, retry. ";: COLOR 0,7: GOTO 5030
  108. 5070 NEXT K
  109. 5080 IF PUT2$ = "P" THEN GOTO 5100
  110. 5090 GOTO 5130
  111. 5100 GOSUB 280  'MOVE DATA TO I/O BUFFER OF FILE #2
  112. 5110 PUT #2,REC%
  113. 5120 REM  ------------------------------GET NEXT FILE #2 BANK TRANSACTION RECORD----------------------------------------
  114. 5130 REC% = CVI(L$)
  115. 5140 IF REC% = 0 THEN GOTO 5220
  116. 5150 IF (REC%>M1%) AND (REC%<(M2% + 1)) THEN GOTO 4920
  117. 5160     CHANE% = REC%
  118. 5170     PRINT "  Chaining record error on Payee ";P2$
  119. 5180     PRINT USING "  Chaining field is ####";CHANE%
  120. 5190     PRINT "  Valid chaining records are ";M1%+1;"-";M2%
  121. 5200     COLOR 31,0: PRINT "  Correct File before rerunning this job": COLOR 7,0
  122. 5210     GOTO TO 330   'ERROR ON FILE, DO NOT CONTINUE
  123. 5220 GOTO 250   'RETURN TO JOB CHOICES MENU
  124. 5230 REM  **************************************************************************************************************
  125. 5240 REM                     SUBROUTINE TO COMPARE ARRAY CHECK NOS. WITH FILE #2 CHECK NOS.
  126. 5250 REM  **************************************************************************************************************
  127. 5260 VC$ = " "
  128. 5270 FOR J = 1 TO M4%
  129. 5280     IF CKNO%(J) = CKNO2% THEN CKNO%(J) = 0: VC$="C":  PUT2$="P": GOTO 5310
  130. 5290     IF CKNO%(J) = 9999 THEN RETURN  'NESTED GOSUB/RETURN
  131. 5300 NEXT J
  132. 5310 RETURN  'NESTED GOSUB/RETURN TO CLEARED CHECKS ROUTINE
  133. 5320 REM  **************************************************************************************************************
  134. 9000 GOTO 9000  'CHAIN MERGE AREA LAST STATEMENT
  135. ***************************************************************************
  136. 900