home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / busi / chkmstr.zip / CHECK.PRG < prev    next >
Text File  |  1990-03-15  |  54KB  |  2,455 lines

  1. PROCEDURE CHEXMENU
  2. ON ESCAPE DO CHEXMENU
  3. SET TALK OFF
  4. SET SAFETY OFF
  5. SET ECHO OFF
  6. SET MENU OFF
  7. SET DELETED ON
  8. PRTC= "0"
  9. ARC= "0"
  10. MDATE=DATE()
  11. IF ACCTKT= "0"
  12. ACCTNUM=0
  13. CLEAR
  14. IF ISCOLOR()
  15. SET COLOR TO W/R,X/B,W
  16. ELSE
  17. SET COLOR TO W/B+,W/B,W
  18. ENDIF
  19. CLEAR
  20. @2,1 TO 22,78 DOUBLE
  21. @4,20 SAY "ENTER ACCOUNT NUMBER ** " GET ACCTNUM
  22. @4,55 SAY " **"
  23. @6,14 SAY "*****************************************************"
  24. @8,14 SAY "            WARNING !!!!!!!!!!!!!!!!"
  25. @10,14 SAY "*****************************************************"
  26. @12,14 SAY "   UNDER NO CIRCUMSTANCES REPLY { C OR CANCEL }"
  27. @13,14 SAY "   TO ANY MESSAGE YOU MAY SEE ON SCREEN !!!!!!"
  28. @14,14 SAY "REPLY ONLY { S OR SUSPEND } AND THEN PRESS { F9 }."
  29. @15,14 SAY "TO DO OTHERWISE WILL DESTROY ALL ACCOUNT DATA !!!!"
  30. @17,14 SAY "*****************************************************"
  31. @19,14 SAY "YOU MAY CANCEL ANY DATA ENTRY AND RETURN TO THE"
  32. @20,14 SAY "  MAIN MENU BY PRESSING THE { ESCAPE } KEY !!"
  33. READ
  34. IF ISCOLOR()
  35. SET COLOR TO W/B,W/R,BG
  36. ELSE
  37. SET COLOR TO
  38. ENDIF
  39. IF ACCTNUM-ACCTN<>0
  40. @22,20 SAY "SORRY---ACCOUNT NUMBER NOT VALID !!!!!!!"
  41. WAIT
  42. QUIT
  43. ENDIF
  44. ENDIF
  45. ACCTKT= "1"
  46. MYEAR=YEAR(MDATE)
  47. IF ARCYEAR <> MYEAR
  48. CLEAR
  49. @2,1 TO 20,78 DOUBLE
  50. @4,20 SAY "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"
  51. @6,20 SAY "NOTE - NOTE - NOTE - NOTE - NOTE - NOTE"
  52. @8,20 SAY "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"
  53. @10,20 SAY "   HAPPY     NEW      YEAR !!!!!!!!!"
  54. @12,20 SAY " IT IS TIME TO RUN AN ACCOUNT SUMMARY"
  55. @13,20 SAY "  AND TRANSFER LAST YEARS CHECK AND"
  56. @14,20 SAY " DEPOSIT REGISTERS TO A BACK-UP FILE."
  57. @16,20 SAY "  IF YOU WISH TO DO IT AT THIS TIME,"
  58. @17,20 SAY "  REPLY { Y }.IF YOU PREFER TO DO IT"
  59. @18,20 SAY "     AT A LATER TIME, REPLY { N }."
  60. ANS=" "
  61. DO WHILE .NOT. (UPPER(ANS) $ 'YN')
  62. WAIT "TYPE { Y/N }" TO ANS
  63. ENDDO
  64. IF UPPER(ANS) = "Y"
  65. DO PRTSUM
  66. ENDIF
  67. ENDIF
  68. CLEAR
  69. DO WHILE .T.
  70. CHOICE= " "
  71. @1,15 TO 5,63 DOUBLE
  72. @3,25 SAY 'CHECKING ACCOUNT CONTROL MENU'
  73. @5,6 TO 22,73 DOUBLE
  74. @7,20 SAY '1 } UPDATE CHECK REGISTER'
  75. @9,20 SAY '2 } UPDATE DEPOSIT REGISTER'
  76. @11,20 SAY '3 } PRINT CHECKS, REPORTS, SUMMARIES'
  77. @13,20 SAY '4 } RECONCILE ACCOUNT TO BANK'
  78. @15,20 SAY '5 } TRANSFER FUNDS BETWEEN ACCOUNTS {*P*}'
  79. @17,20 SAY '6 } EXIT TO DBASE III'
  80. @19,20 SAY '7 } EXIT TO DOS'
  81. @ 21,20 SAY 'ENTER YOUR CHOICE' GET CHOICE
  82. READ
  83. CHOICEB=CHOICE
  84. DO CASE
  85. CASE CHOICE="1"
  86. DO CHEXMANG
  87. CASE CHOICE="2"
  88. DO DEPMANG
  89. CASE CHOICE="3"
  90. DO PRTMENU
  91. CASE CHOICE="4"
  92. DO REXCHEX
  93. CASE CHOICE="5"
  94. DO TRANACCT
  95. CASE CHOICE="6"
  96. CLEAR
  97. @5,15 SAY "YOU HAVE SELECTED TO EXIT THE CHEXMENU TO DBASE III."
  98. @7,15 SAY "IS THAT WHAT YOU WANT TO DO ?? ANSWER {Y} OR {N}."
  99. @11,15 SAY "IF YOU ANSWER {Y}, PRESS THE {F10} KEY WHEN YOU WISH"
  100. @13,15 SAY "TO RETURN TO THE CHECK MANAGMENT PROGRAM MENU !!!!"
  101. EMENU=" "
  102. DO WHILE .NOT. (UPPER(EMENU) $ 'YN')
  103. WAIT " " TO EMENU
  104. ENDDO
  105. IF UPPER(EMENU) = "N"
  106. DO CHEXMENU
  107. ENDIF
  108. SET FUNCTION 10 TO "DO START;"
  109. ACCTKT= "0"
  110. CLEAR
  111. @10,10 SAY "GOODBYE, PROGRAM TERMINATED !!"
  112. @12,20 SAY "SAVING DATA FILES ------------------------------"
  113. @14,10 SAY "PRESS THE { F10 } KEY TO RETURN TO CHEXMENU."
  114. RELEASE LP,ACCTNUM,VALU,BC,AC,CC,DC,EC,FC,GC,HC,REXCT,REXCA,STATS,;
  115. REXCF,REXDT,REXDF,ERROR,REXSEQ,REXDA,REXA,B11T,BT,CTP,STATS2,SELC,SELD
  116. RELEASE ACTDB,ACTEB,ACTFB,ACTGB,ACTHB,ACB,BCB,DEPSUM,C05S,ACTAB,ACTBB,;
  117. CCB,DCB,ECB,CTB,GTB,MYEAR,ASUM,BSUM,CSUM,DSUM,ESUM,FSUM,A00S,CMPBAL,
  118. RELEASE A01S,A02S,A03S,A04S,A05S,A06S,A07S,A08S,A09S,A10S,A11S,A12S,;
  119. B00S,B01S,B02S,B03S,B04S,B05S,B06S,B07S,B08S,B09S,B10S,B11S,B12S,C00S
  120. RELEASE C01S,C02S,C03S,C04S,D00S,D01S,D02S,E00S,E01S,E02S,F00S,F01S,F02S,;
  121. ATS,BTS,CTS,DTS,ETS,FTS,GTS,HTS,CKARCV,DPARCV,RETYEAR,RTYV,PRT_TOT,DPS
  122. RELEASE C00P,C01P,C02P,C03P,C04P,C05P,CD,ACTCB,CTN,CTR,CHKCT,VALUE,;
  123. AMOUNTM,RECD,ITS,ISUM,B13T,B14T,B13S,B14S,TSTC,IC,RETN,B03ST,REXBAL
  124. DO CASE
  125. CASE CONFIG="A"
  126. SAVE TO A:CHEXMANG
  127. CASE CONFIG="B"
  128. SAVE TO B:CHEXMANG
  129. CASE CONFIG="C"
  130. SAVE TO C:\CHEXMANG\CHEXMANG
  131. CASE CONFIG="D"
  132. SAVE TO D:\CHEXMANG\CHEXMANG
  133. ENDCASE
  134. ON ESCAPE
  135. SET TALK ON
  136. SET SAFETY ON
  137. SET MENU ON
  138. CLOSE DATABASE
  139. CANCEL
  140. CASE CHOICE="7"
  141. CLEAR
  142. @10,15 SAY "YOU HAVE SELECTED TO EXIT THE CHEXMENU TO  { DOS }."
  143. @14,15 SAY "IS THAT WHAT YOU WANT TO DO ?? ANSWER {Y} OR {N}."
  144. EMENU=" "
  145. DO WHILE .NOT.(UPPER(EMENU) $ 'YN')
  146. WAIT " " TO EMENU
  147. ENDDO
  148. IF UPPER(EMENU) = "N"
  149. DO CHEXMENU
  150. ENDIF
  151. ACCTKT= "0"
  152. CLEAR
  153. @10,20 SAY "SAVING DATA FILES ----------------------------------"
  154. RELEASE LP,ACCTNUM,VALU,BC,AC,CC,DC,EC,FC,GC,HC,REXCT,REXCA,STATS,;
  155. REXCF,REXDT,REXDF,ERROR,REXSEQ,REXDA,REXA,B11T,BT,CTP,STATS2,SELC,SELD
  156. RELEASE ACTDB,ACTEB,ACTFB,ACTGB,ACTHB,ACB,BCB,DEPSUM,C05S,ACTAB,ACTBB,;
  157. CCB,DCB,ECB,CTB,GTB,MYEAR,ASUM,BSUM,CSUM,DSUM,ESUM,FSUM,A00S,CMPBAL,
  158. RELEASE A01S,A02S,A03S,A04S,A05S,A06S,A07S,A08S,A09S,A10S,A11S,A12S,;
  159. B00S,B01S,B02S,B03S,B04S,B05S,B06S,B07S,B08S,B09S,B10S,B11S,B12S,C00S
  160. RELEASE C01S,C02S,C03S,C04S,D00S,D01S,D02S,E00S,E01S,E02S,F00S,F01S,F02S,;
  161. ATS,BTS,CTS,DTS,ETS,FTS,GTS,HTS,CKARCV,DPARCV,RETYEAR,RTYV,PRT_TOT,DPS
  162. RELEASE C00P,C01P,C02P,C03P,C04P,C05P,CD,ACTCB,CTN,CTR,CHKCT,VALUE,;
  163. AMOUNTM,RECD,ITS,ISUM,B13T,B14T,B13S,B14S,TSTC,IC,RETN,B03ST,REXBAL
  164. DO CASE
  165. CASE CONFIG="A"
  166. SAVE TO A:CHEXMANG
  167. CASE CONFIG="B"
  168. SAVE TO B:CHEXMANG
  169. CASE CONFIG="C"
  170. SAVE TO C:\CHEXMANG\CHEXMANG
  171. CASE CONFIG="D"
  172. SAVE TO D:\CHEXMANG\CHEXMANG
  173. ENDCASE
  174. CLOSE DATABASE
  175. QUIT
  176. OTHERWISE
  177. @23,11 SAY "**** ENTER A NUMBER FROM 1 TO 7. YOU ENTERED { ";
  178. +CHOICEB+" } ! ****"
  179. ENDCASE
  180. ENDDO
  181. RETURN
  182. PROCEDURE CHEXSTAT
  183. EDISP= " "
  184. CLEAR
  185. DAY=CDOW(DATE())
  186. @1,25 SAY "CHECKING ACCOUNT STATISTICS :"
  187. @0,0 SAY "NEXT SEQ#" GET SEQ
  188. @3,8 SAY "FOR ACCOUNT NUMBER" GET ACCTN
  189. @3,41 SAY "DATE" GET MDATE
  190. @3,59 SAY "DAY" GET DAY
  191. @5,15 SAY "############  ACCOUNT DISTRIBUTION : #############"
  192. @7,22 SAY A+"  $$" GET ACCTA
  193. @8,22 SAY B+"  $$" GET ACCTB
  194. @9,1 SAY "PRESS { C } {*B*}"
  195. @9,22 SAY C+"  $$" GET ACCTC
  196. @10,1 SAY "PRESS { D }"
  197. @10,22 SAY D+"  $$" GET ACCTD
  198. @11,22 SAY E+"  $$" GET ACCTE
  199. @12,1 SAY "REGISTRATION"
  200. @12,22 SAY F+"  $$" GET ACCTF
  201. @13,1 SAY "#  " + STR(RNUM,4)
  202. @13,22 SAY G+"  $$" GET ACCTG
  203. @14,22 SAY H+"  $$" GET ACCTH
  204. @15,15 SAY "TOTAL OF CHECKS JUST WRITTEN   $$" GET WKCHEX_TOT
  205. @16,15 SAY "TOTAL OF DEPOSITS JUST MADE    $$" GET ADDDEP_TOT
  206. @18,13 SAY BANK1 + " BALANCE   $$" GET GRAND_TOTL
  207. @19,1 SAY "PRESS { I }"
  208. @19,13 SAY BANK2 + " BALANCE   $$" GET BANK2V
  209. @20,15 SAY "COMBINED BALANCE               $$" GET COMBINE
  210. @22,1 SAY DB10 GET STAT2
  211. @22,30 SAY "*********************"
  212. @22,53 SAY DA02 GET STAT
  213. WAIT "PRESS { E } TO EXIT" TO EDISP
  214. IF UPPER(EDISP)= "I"
  215. CLEAR GETS
  216. ATS=0.00
  217. @19,1 SAY "ENTER INTREST AMOUNT" GET ATS
  218. READ
  219. BANK2V=BANK2V+ATS
  220. ACCTA=ACCTA+ATS
  221. COMBINE=COMBINE+ATS
  222. @7,22 SAY A+"  $$" GET ACCTA
  223. @19,0
  224. @19,13 SAY BANK2 + " BALANCE   $$" GET BANK2V
  225. @20,15 SAY "COMBINED BALANCE               $$" GET COMBINE
  226. @23,0
  227. WAIT
  228. ENDIF
  229. IF UPPER(EDISP)= "C"
  230. DO CSTATS
  231. ENDIF
  232. IF UPPER(EDISP)= "D"
  233. PRT=" "
  234. CLEAR
  235. @1,1 TO 8,78
  236. @3,12 SAY "ENTER INTREST PERCENTAGE AS A *WHOLE* NUMBER" GET TRAND
  237. READ
  238. @5,25 SAY "TO PRINT TO SCREEN, ENTER { S }"
  239. @6,25 SAY "TO PRINT TO PRINTER, ENTER { P }"
  240. DO WHILE .NOT. (UPPER(PRT) $ 'SP')
  241. WAIT " " TO PRT
  242. ENDDO
  243. IF TRAND >1
  244. TRAND=TRAND*.00083
  245. TRAND=VAL(STR(TRAND,7,5))
  246. ENDIF
  247. USE KIMACT
  248. IF UPPER(PRT)= "S"
  249. DISPLAY ALL
  250. WAIT
  251. ELSE
  252. SET PRINT ON
  253. CLEAR
  254. @10,10 SAY "PRINTING DETAIL RECORDS ----------------"
  255. SET CONSOLE OFF
  256. LIST
  257. SET CONSOLE ON
  258. SET PRINT OFF
  259. ENDIF
  260. ENDIF
  261. IF CHOICE= "2"
  262. DO CHEXMENU
  263. ENDIF
  264. IF CHOICE= "5"
  265. DO CHEXMENU
  266. ENDIF
  267. DO PRTMENU
  268. RETURN
  269. PROCEDURE PRTMENU
  270. CLEAR
  271. DO WHILE .T.
  272. CHOICE= " "
  273. @1,15 TO 5,63 DOUBLE
  274. @3,30 SAY 'PRINT CONTROL MENU'
  275. @5,6 TO 22,73 DOUBLE
  276. @7,25 SAY '1 } PRINT CHECKS'
  277. @9,25 SAY '2 } PRINT REGISTER FUNCTION'
  278. @11,25 SAY '3 } SEARCH ON CHECK OR DEPOSIT {*P*}'
  279. @13,25 SAY '4 } PRINT ACCOUNT SUMMERIES    {*P*}'
  280. @15,25 SAY '5 } DISPLAY ACCOUNT STATISTICS'
  281. @17,25 SAY '6 } BACKUP FILES TO FLOPPY DISK'
  282. @19,25 SAY '7 } EXIT BACK TO MAIN MENU'
  283. @21,25 SAY 'ENTER YOUR CHOICE' GET CHOICE
  284. READ
  285. CHOICEB=CHOICE
  286. DO CASE
  287. CASE CHOICE="1"
  288. DO PRINTCHEX
  289. CASE CHOICE="2"
  290. DO CHEXDISP
  291. CASE CHOICE="3"
  292. DO CHKSRCH
  293. CASE CHOICE="4"
  294. DO PRTSUM
  295. CASE CHOICE="5"
  296. DO CHEXSTAT
  297. CASE CHOICE="6"
  298. DO CASE
  299. CASE CONFIG= "A".AND. XCPY= "C"
  300. SAVE TO A:CHEXMANG
  301. RUN \CHEXMANG\SAVEA.BAT
  302. CASE CONFIG= "B".AND. XCPY= "C"
  303. SAVE TO B:CHEXMANG
  304. RUN \CHEXMANG\SAVEB.BAT
  305. CASE CONFIG= "C".AND. XCPY= "C"
  306. SAVE TO \CHEXMANG\CHEXMANG
  307. RUN \CHEXMANG\SAVEC.BAT
  308. CASE CONFIG= "D".AND. XCPY= "C"
  309. SAVE TO \CHEXMANG\CHEXMANG
  310. RUN \CHEXMANG\SAVED.BAT
  311. CASE CONFIG= "A".AND. XCPY= "X"
  312. SAVE TO A:CHEXMANG
  313. RUN \CHEXMANG\XSAVEA.BAT
  314. CASE CONFIG= "B".AND. XCPY= "X"
  315. SAVE TO B:CHEXMANG
  316. RUN \CHEXMANG\XSAVEB.BAT
  317. CASE CONFIG= "C".AND. XCPY= "X"
  318. SAVE TO \CHEXMANG\CHEXMANG
  319. RUN \CHEXMANG\XSAVEC.BAT
  320. CASE CONFIG= "D".AND. XCPY= "X"
  321. SAVE TO \CHEXMANG\CHEXMANG
  322. RUN \CHEXMANG\XSAVED.BAT
  323. ENDCASE
  324. CLEAR
  325. CASE CHOICE="7"
  326. DO CHEXMENU
  327. OTHERWISE
  328. @23,11 SAY "**** ENTER A NUMBER FROM 1 TO 7. YOU ENTERED { ";
  329. +CHOICEB+ " } ! ****"
  330. ENDCASE
  331. ENDDO
  332. RETURN
  333. PROCEDURE CHEXMANG
  334. ATS=0
  335. CLEAR
  336. IF SEQ < 5000
  337. @10,15 SAY "##################################################"
  338. @12,20 SAY "SEQUENCE NUMBER IS LESS THAN {{ 5,000 }} !"
  339. @13,15 SAY "DO YOU WISH IT TO BE SET TO A VALUE OF {{ 5,001 }} ?"
  340. @15,15 SAY "##################################################"
  341. SEQCK=" "
  342. DO WHILE .NOT. (UPPER(SEQCK) $ 'YN')
  343. WAIT "TYPE { Y/N }" TO SEQCK
  344. ENDDO
  345. IF UPPER(SEQCK) = "N"
  346. ACCTKT= "1"
  347. DO CHEXMENU
  348. ENDIF
  349. SEQ=5001
  350. @20,10 SAY "CHECK SEQUENCE NUMBER HAS BEEN SET TO A VALUE OF {{ 5,001 }} !!"
  351. WAIT
  352. ENDIF
  353. CLEAR
  354. IF GRAND_TOTL < ACTMIN
  355. @2,15 SAY "**************************************************"
  356. @4,35 SAY "WARNING"
  357. @6,15 SAY "**************************************************"
  358. @8,27 SAY "YOU HAVE A { GRAND TOTAL }"
  359. @10,27 SAY "OF LESS THAN $$ "+STR(ACTMIN,4)+ " !!!"
  360. @12,27 SAY "TOTAL IS CURRENTLY $$ " GET GRAND_TOTL
  361. @14,27 SAY "DO YOU WISH TO CONTINUE ???"
  362. WARN=" "
  363. DO WHILE .NOT. (UPPER(WARN) $ 'Y/N')
  364. WAIT "TYPE { Y/N }" TO WARN
  365. ENDDO
  366. IF UPPER(WARN)= "N"
  367. DO CHEXMENU
  368. ENDIF
  369. ENDIF
  370. LP=0
  371. TSTC=0
  372. USE WORKCHEX INDEX WORKCHEX
  373. ZAP
  374. PERM=" "
  375. CLEAR
  376. @6,15 SAY "$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"
  377. @10,23 SAY "DO YOU WANT TO ADD THE CHECKS FROM"
  378. @12,23 SAY "THE PERMENANT CHECK REGISTER ???"
  379. @16,15 SAY "$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"
  380. DO WHILE  .NOT. (UPPER(PERM) $ 'YN')
  381. WAIT "TYPE  'Y/N'" TO PERM
  382. ENDDO
  383. IF UPPER(PERM)= "Y"
  384. APPEND FROM PERMCHEX
  385. ENDIF
  386. DO WHILE .T.
  387. DO WHILE .T.
  388. CLEAR
  389. ACMV=" "
  390. COUNTER=0
  391. @10,25 SAY "ADDITIONAL CHECKS TO PRINT ???"
  392. @12,25 SAY "  IF { Y }, REPLY { N } TO"
  393. @14,25 SAY " { MORE ENTRIES ? } TO EXIT."
  394. DO WHILE .NOT. (UPPER(ACMV) $ 'YN')
  395. WAIT "TYPE 'Y/N'" TO ACMV
  396. ENDDO
  397. IF UPPER(ACMV)= "Y"
  398. ACODE=" "
  399. CLEAR
  400. DO ACCTEXT
  401. DO WHILE .T.
  402. DONE= " "
  403. IF LP=0
  404. INSERT BLANK
  405. ENDIF
  406. REPLACE V WITH "P"
  407. @1,25 SAY "PAY TO" GET PAY_TO ;
  408. PICTURE "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
  409. @2,8 SAY "AMOUNT" GET AMOUNT
  410. @2,23 SAY "ACCOUNT CODE " GET ACCT_CODE PICTURE "!99"
  411. @2,41 SAY "NOTE " GET NOTE
  412. @3,30 SAY "NUMBER + STREET " GET ADDRESS
  413. @4,30 SAY "CITY " GET CITY
  414. @4,52 SAY "STATE " GET STATE
  415. @4,62 SAY "ZIP " GET ZIP PICTURE "99999-9999"
  416. DO WHILE .NOT. (UPPER(DONE) $ 'YN')
  417. @4,0 SAY "MORE ENTRIES ?? { Y/N }" GET DONE
  418. READ
  419. ENDDO
  420. STORE LEFT(ACCT_CODE,1) TO ACODE
  421. IF .NOT. (ACODE $ 'ABCDEFGHI')
  422. SET COLOR TO R*/W
  423. @0,0 SAY "INVALID ACCOUNT CODE ENTERED."
  424. @1,0 SAY "RE-ENTER!!!!"
  425. LP=1
  426. IF ISCOLOR()
  427. SET COLOR TO W/B
  428. ELSE
  429. SET COLOR TO
  430. ENDIF
  431. LOOP
  432. ENDIF
  433. IF ACCT_CODE= "C99"
  434. TSTC=0
  435. AMOUNTM=AMOUNT
  436. RETN=RECNO()
  437. CHOICE= "B"
  438. DO ACTC99
  439. USE WORKCHEX INDEX WORKCHEX
  440. GO RETN
  441. ENDIF
  442. IF ACCT_CODE= "C" .OR. ACCT_CODE= "D"
  443. TSTC=1
  444. ENDIF
  445. LP=0
  446. @0,0
  447. @1,0
  448. IF UPPER(DONE)= "N"
  449. EXIT
  450. ENDIF
  451. ENDDO
  452. ENDIF
  453. CLEAR
  454. MCMV=" "
  455. @8,25 SAY "ADDITIONAL CHECKS FROM MANUAL"
  456. @10,25 SAY "    REGISTER TO ADD ???"
  457. @12,25 SAY " IF { Y }, REPLY { N } TO"
  458. @14,25 SAY "{ MORE ENTRIES ? } TO EXIT."
  459. DO WHILE .NOT. (UPPER(MCMV) $ 'YN')
  460. WAIT "TYPE 'Y/N'" TO MCMV
  461. ENDDO
  462. IF UPPER(MCMV)= 'Y'
  463. CLEAR
  464. DO ACCTEXT
  465. GO BOTTOM
  466. DO WHILE .T.
  467. DONE= " "
  468. IF LP=0
  469. INSERT BLANK
  470. ENDIF
  471. REPLACE V WITH "M"
  472. @1,19 SAY "CHECK NUMBER" GET SEQ_NO RANGE 1,4999
  473. @1,37 SAY "DATE" GET DATE
  474. @1,51 SAY "ACCOUNT CODE" GET ACCT_CODE PICTURE "!99"
  475. @2,15 SAY "PAY TO" GET PAY_TO ;
  476. PICTURE "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
  477. @2,53 SAY "AMOUNT" GET AMOUNT
  478. @3,38 SAY "NOTE" GET NOTE
  479. DO WHILE .NOT. (UPPER(DONE) $ 'YN')
  480. @4,1 SAY "MORE ENTRIES ?? TYPE { Y/N }." GET DONE
  481. READ
  482. ENDDO
  483. STORE LEFT(ACCT_CODE,1) TO ACODE
  484. IF .NOT. (ACODE $ 'ABCDEFGHI')
  485. SET COLOR TO R*/W
  486. @0,0 SAY "INVALID ACCOUNT CODE ENTERED."
  487. @1,0 SAY "RE-ENTER!!!!"
  488. LP=1
  489. IF ISCOLOR()
  490. SET COLOR TO W/B
  491. ELSE
  492. SET COLOR TO
  493. ENDIF
  494. LOOP
  495. ENDIF
  496. IF ACCT_CODE= "C99"
  497. TSTC=0
  498. AMOUNTM=AMOUNT
  499. RETN=RECNO()
  500. CHOICE= "B"
  501. DO ACTC99
  502. USE WORKCHEX INDEX WORKCHEX
  503. GO RETN
  504. ENDIF
  505. IF ACCT_CODE= "C" .OR. ACCT_CODE= "D"
  506. TSTC=1
  507. ENDIF
  508. LP=0
  509. @0,0
  510. @1,0
  511. IF UPPER(DONE)= "N"
  512. EXIT
  513. ENDIF
  514. ENDDO
  515. ENDIF
  516. IF UPPER(PERM)= "Y"
  517. CLEAR
  518. SUM AMOUNT FOR ACCT_CODE= 'B' TO BC
  519. BC=ACCTB-BC
  520. BT=B111A+B112A+B113A
  521. BC=BC-BT
  522. @5,18 SAY "    DO YOU WANT TO CHANGE { AMOUNT } IN"
  523. @6,18 SAY "ENTRIES FROM { PERMENANT CHECK REGISTER } ??"
  524. @8,18 SAY "     IF { Y },PRESS { PAGE-DOWN } TO"
  525. @9,18 SAY "       SKIP OVER CORRECT ENTRIES !!"
  526. @13,30 SAY B+ " $$" +STR(BC)
  527. @14,30 SAY B111+ " $$" +STR(B111A)
  528. @15,30 SAY B112+ " $$" +STR(B112A)
  529. @16,30 SAY B113+ " $$" +STR(B113A)
  530. B11T=0
  531. WCMV=" "
  532. DO WHILE .NOT. (UPPER(WCMV) $ 'YN')
  533. WAIT "TYPE 'Y/N'" TO WCMV
  534. ENDDO
  535. IF UPPER(WCMV)= "Y"
  536. GO TOP
  537. CLEAR
  538. DO WHILE .NOT. EOF()
  539. IF V <> "X"
  540. SKIP
  541. LOOP
  542. ENDIF
  543. @3,10 SAY "PAY TO:  " + PAY_TO
  544. @5,40 SAY "ACCOUNT CODE  " + ACCT_CODE
  545. IF ACCT_CODE <> "B"
  546. @8,0
  547. ENDIF
  548. @10,0
  549. @11,0
  550. @12,0
  551. IF ACCT_CODE= 'B'
  552. BC=BC+AMOUNT
  553. IF ACCT_CODE= "B11"
  554. BC=BC+BT
  555. @8,30 SAY B+ " $$" +STR(BC)
  556. @10,30 SAY B111 GET B111A
  557. @11,30 SAY B112 GET B112A
  558. @12,30 SAY B113 GET B113A
  559. READ
  560. BT=B111A+B112A+B113A
  561. REPLACE AMOUNT WITH BT
  562. ELSE
  563. @5,10 SAY "AMOUNT   " GET AMOUNT
  564. @8,30 SAY B+ " $$" +STR(BC)
  565. READ
  566. BC=BC-AMOUNT
  567. ENDIF
  568. ELSE
  569. @5,10 SAY "AMOUNT   " GET AMOUNT
  570. READ
  571. ENDIF
  572. IF ACCT_CODE= "C" .OR. ACCT_CODE= "D"
  573. TSTC=1
  574. ENDIF
  575. IF ACCT_CODE= "C99".AND. AMOUNT <>0
  576. TSTC=0
  577. AMOUNTM=AMOUNT
  578. RETN=RECNO()
  579. DO ACTC99
  580. USE WORKCHEX INDEX WORKCHEX
  581. GO RETN
  582. ENDIF
  583. SKIP
  584. ENDDO
  585. ENDIF
  586. ENDIF
  587. CLEAR
  588. ANS= " "
  589. @10,27 SAY "IF YOU LEFT OUT AN ENTRY"
  590. @11,27 SAY "AND NEED TO ADD A RECORD,"
  591. @12,27 SAY "TYPE { A } NOW !! OTHERWISE,"
  592. @14,27 SAY   "TYPE { C } TO CONTINUE."
  593. DO WHILE .NOT. (UPPER(ANS) $ 'AC')
  594. WAIT " " TO ANS
  595. ENDDO
  596. IF UPPER(ANS)= "A"
  597. PERM= "N"
  598. LOOP
  599. ENDIF
  600. EXIT
  601. ENDDO
  602. CLEAR
  603. @10,30 SAY "DO YOU WANT TO VERIFY"
  604. @12,30 SAY " CHECK ENTRIES ????"
  605. DVCE=" "
  606. DO WHILE .NOT. (UPPER(DVCE) $ 'YN')
  607. WAIT "TYPE 'Y/N'" TO DVCE
  608. ENDDO
  609. IF UPPER(DVCE)= "Y"
  610. SET ORDER TO 0
  611. IF UPPER(MESG) <> "Y"
  612. CLEAR
  613. @2,20 SAY "CHECK CONTENTS OF EACH FIELD"
  614. @4,20 SAY "FOR CORRECTNESS. IF OK, PRESS"
  615. @6,20 SAY "{ PAGE DOWN } KEY TO GO TO NEXT ENTRY."
  616. @10,20 SAY "IF THERE IS AN ERROR, PRESS { ENTER } KEY"
  617. @12,20 SAY "TO SKIP OVER CORRECT FIELDS UNTIL"
  618. @14,20 SAY "YOU GET TO THE FIELD WITH THE ERROR."
  619. @16,20 SAY "CORRECT ERROR,    THEN PRESS THE"
  620. @18,20 SAY "{ PAGE DOWN } KEY TO NEXT ENTRY."
  621. WAIT
  622. ENDIF
  623. CLEAR
  624. DO ACCTEXT
  625. DELETE FOR AMOUNT=0
  626. GO TOP
  627. DO WHILE .NOT. EOF()
  628. DO CASE
  629. CASE V= "P"
  630. @1,25 SAY "PAY TO" GET PAY_TO ;
  631. PICTURE "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
  632. @2,0
  633. @2,10 SAY "AMOUNT" GET AMOUNT
  634. @2,25 SAY "ACCOUNT CODE " GET ACCT_CODE PICTURE "!99"
  635. @2,43 SAY "NOTE " GET NOTE
  636. @3,0
  637. @3,20 SAY "NUMBER + STREET " GET ADDRESS
  638. @4,20 SAY "CITY " GET CITY
  639. @4,42 SAY "STATE " GET STATE
  640. @4,52 SAY "ZIP " GET ZIP PICTURE "99999-9999"
  641. CASE V= "M"
  642. @1,14 SAY "CHECK NUMBER" GET SEQ_NO RANGE 1,4999
  643. @1,32 SAY "DATE" GET DATE
  644. @1,47 SAY "ACCOUNT CODE" GET ACCT_CODE PICTURE "!99"
  645. @2,0
  646. @2,14 SAY "PAY TO" GET PAY_TO ;
  647. PICTURE "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
  648. @2,52 SAY "AMOUNT" GET AMOUNT
  649. @3,0
  650. @3,14 SAY "NOTE  " GET NOTE
  651. @4,0
  652. CASE V= "X"
  653. @1,20 SAY "PAY TO" GET PAY_TO ;
  654. PICTURE "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
  655. @2,20 SAY "AMOUNT" GET AMOUNT
  656. @2,35 SAY "ACCOUNT CODE " GET ACCT_CODE PICTURE "!99"
  657. ENDCASE
  658. READ
  659. STORE LEFT(ACCT_CODE,1) TO ACODE
  660. IF .NOT. (ACODE $ 'ABCDEFGHI')
  661. SET COLOR TO R*/W
  662. @0,0 SAY "INVALID ACCOUNT CODE ENTERED."
  663. @1,0 SAY "RE-ENTER!!!!"
  664. IF ISCOLOR()
  665. SET COLOR TO W/B
  666. ELSE
  667. SET COLOR TO
  668. ENDIF
  669. LOOP
  670. ENDIF
  671. IF ACCT_CODE= "C" .OR. ACCT_CODE= "D"
  672. TSTC=1
  673. ENDIF
  674. @0,0
  675. @1,0
  676. SKIP
  677. ENDDO
  678. DONE=" "
  679. CLEAR
  680. @10,14 SAY "IF ALL ENTRIES ARE CORRECT, PRESS { C } TO CONTINUE."
  681. @12,14 SAY "IF YOU LEFT OUT AN ENTRY, PRESS { A } TO ** ADD ** !"
  682. DO WHILE .NOT. (UPPER(DONE) $ 'AC')
  683. WAIT "ENTER A/C" TO DONE
  684. ENDDO
  685. IF UPPER(DONE)= "A"
  686. PERM= "N"
  687. SET ORDER TO 1
  688. LOOP
  689. ELSE
  690. EXIT
  691. ENDIF
  692. SET ORDER TO 1
  693. ENDIF
  694. EXIT
  695. ENDDO
  696. CLEAR
  697. @10,20 SAY "COMPUTING ------------------------------------"
  698. GO TOP
  699. DO WHILE .NOT.EOF()
  700. IF SEQ_NO <> 0
  701. SKIP
  702. LOOP
  703. ENDIF
  704. REPLACE DATE WITH MDATE
  705. COUNTER=COUNTER+1
  706. REPLACE SEQ_NO WITH SEQ
  707. SKIP
  708. SEQ=SEQ+1
  709. ENDDO
  710. WCSN=SEQ - COUNTER
  711. SUM AMOUNT TO WKCHEX_TOT
  712. SUM AMOUNT FOR ACCT_CODE = 'A' TO AC
  713. SUM AMOUNT FOR ACCT_CODE = 'B' TO BC
  714. SUM AMOUNT FOR ACCT_CODE = 'C' TO CC
  715. SUM AMOUNT FOR ACCT_CODE = 'D' TO DC
  716. SUM AMOUNT FOR ACCT_CODE = 'E' TO EC
  717. SUM AMOUNT FOR ACCT_CODE = 'F' TO FC
  718. SUM AMOUNT FOR ACCT_CODE = 'G' TO GC
  719. SUM AMOUNT FOR ACCT_CODE = 'H' TO HC
  720. SUM AMOUNT FOR ACCT_CODE = 'I' TO ATS
  721. SUM AMOUNT FOR ACCT_CODE = 'A02' TO STATS
  722. SUM AMOUNT FOR ACCT_CODE = 'B10' TO STATS2
  723. SUM AMOUNT FOR ACCT_CODE = 'A06' TO A06S
  724. SUM AMOUNT FOR ACCT_CODE = 'A11' TO A11S
  725. A06SUM=A06SUM+A06S
  726. A11SUM=A11SUM+A11S
  727. ACTAB=ACCTA-AC
  728. ACTBB=ACCTB-BC
  729. ACTCB=ACCTC-CC
  730. ACTDB=ACCTD-DC
  731. ACTEB=ACCTE-EC
  732. ACTFB=ACCTF-FC
  733. ACTGB=ACCTG-GC
  734. ACTHB=ACCTH-HC
  735. BTS=BANK2V+ATS
  736. ECB=ACTAB+ACTBB+ACTCB+ACTDB+ACTEB+ACTFB+ACTGB+ACTHB
  737. CTB=CHEX_TOTAL+WKCHEX_TOT
  738. GTB=DEP_TOTAL-CTB
  739. HTS=GTB+BTS-ECB
  740. IF HTS <>0
  741. SET COLOR TO W/R,W/R,W
  742. CLEAR
  743. @4,30 SAY "ERROR !!!!!!!!!"
  744. @8,25 SAY "GRAND TOTAL WRONG !!!!!!!!!!!!!"
  745. @12,20 SAY "{ DEPOSIT TOTAL } - { CHECK REGISTER TOTAL }"
  746. @13,20 SAY "DOES NOT BALANCE AGAINST { ACCOUNTS TOTAL }."
  747. @15,20 SAY "** FIND AND CORRECT ERROR AND RE-ENTER DATA **"
  748. @16,20 SAY "CHECK REGISTER { HAS NOT } BEEN UPDATED !!!"
  749. WAIT
  750. IF ISCOLOR()
  751. SET COLOR TO W/B,W/R,BG
  752. ELSE
  753. SET COLOR TO
  754. ENDIF
  755. DO PRTMENU
  756. ENDIF
  757. STAT2 = STAT2-STATS2
  758. STAT = STAT-STATS
  759. ACCTA=ACCTA-AC
  760. ACCTB=ACCTB-BC
  761. ACCTC=ACCTC-CC
  762. ACCTD=ACCTD-DC
  763. ACCTE=ACCTE-EC
  764. ACCTF=ACCTF-FC
  765. ACCTG=ACCTG-GC
  766. ACCTH=ACCTH-HC
  767. BANK2V=BANK2V+ATS
  768. CGEXP=CGEXP+CC
  769. CNTOT=CGIN-CGEXP
  770. RCFBU=RCFBU+WKCHEX_TOT
  771. IF TSTC=1
  772. GO TOP
  773. SELC=0
  774. SELD=0
  775. DO WHILE .NOT. EOF()
  776. IF ACCT_CODE= "C" .AND. ACCT_CODE <> "C99"
  777. C01S=ACCT_CODE
  778. C02S=PAY_TO
  779. C03S=AMOUNT
  780. C04S=DATE
  781. IF SELC=0
  782. SELECT B
  783. USE ACCTC INDEX ACCTC
  784. SELC=1
  785. ENDIF
  786. SELECT ACCTC
  787. APPEND BLANK
  788. REPLACE DATE WITH C04S
  789. REPLACE AMOUNT WITH C03S
  790. REPLACE DESCRPT WITH C02S
  791. REPLACE ACCT_CODE WITH C01S
  792. SELECT WORKCHEX
  793. ENDIF
  794. IF ACCT_CODE= "D"
  795. ASUM=PAY_TO
  796. CSUM=AMOUNT
  797. DSUM=DATE
  798. IF SELD=0
  799. SELECT C
  800. USE KIMACT
  801. SELD=1
  802. ENDIF
  803. SELECT KIMACT
  804. APPEND BLANK
  805. REPLACE DATE WITH DSUM
  806. REPLACE PAY_TO WITH ASUM
  807. REPLACE AMOUNT WITH CSUM
  808. REPLACE BALANCE WITH ACCTD
  809. SELECT WORKCHEX
  810. ENDIF
  811. SKIP
  812. ENDDO
  813. ENDIF
  814. USE CKTOT
  815. C01S=0
  816. C02S=0
  817. APPEND BLANK
  818. REPLACE ACCT_A WITH AC,ACCT_B WITH BC,ACCT_C WITH CC,ACCT_D WITH DC,;
  819. ACCT_E WITH EC,ACCT_F WITH FC,ACCT_G WITH GC,ACCT_H WITH HC,;
  820. DATE WITH MDATE,CK_TOT WITH WKCHEX_TOT,ACCT_I WITH ATS
  821. C04S=RECNO()
  822. AVERAGE CK_TOT TO C03S
  823. GO C04S
  824. REPLACE YR_AVG WITH C03S
  825. USE CHEXREG INDEX CKSEQ,CKATNM,CHEXPT
  826. APPEND FROM WORKCHEX FOR AMOUNT >0
  827. CHEX_TOTAL=CHEX_TOTAL+WKCHEX_TOT
  828. GRAND_TOTL=DEP_TOTAL-CHEX_TOTAL
  829. COMBINE=BANK2V+GRAND_TOTL
  830. IF GRAND_TOTL < ACTMIN
  831. CLEAR
  832. @2,15 SAY "**************************************************"
  833. @4,35 SAY "WARNING"
  834. @6,15 SAY "**************************************************"
  835. @8,27 SAY "YOU HAVE A { GRAND TOTAL }"
  836. @10,27 SAY "OF LESS THAN $$ "+STR(ACTMIN,4) + " !!!"
  837. @12,27 SAY "TOTAL IS CURRENTLY $$ " GET GRAND_TOTL
  838. WAIT
  839. ENDIF
  840. CLOSE DATABASE
  841. DO CHEXSTAT
  842. RETURN
  843. PROCEDURE DEPMANG
  844. IF MONTH(DATE()) <> TRANDATE
  845. A01S=TRAND*.083*.01
  846. ATS=ROUND(ACCTD*A01S,2)
  847. ATS=VAL(STR(ATS,7,2))
  848. ACCTG=ACCTG+TRANG
  849. ACCTE=ACCTE+TRANE
  850. ACCTF=ACCTF+TRANF
  851. ACCTD=ACCTD+ATS
  852. HTS=ATS+TRANG+TRANE+TRANF
  853. ACCTA=ACCTA-HTS
  854. TRANDATE=TRANDATE+1
  855. IF TRANDATE=13
  856. TRANDATE=1
  857. ENDIF
  858. USE KIMACT
  859. APPEND BLANK
  860. REPLACE DATE WITH MDATE
  861. REPLACE AMOUNT WITH ATS
  862. REPLACE DEP WITH "INT"
  863. REPLACE BALANCE WITH ACCTD
  864. CLEAR
  865. @5,1 TO 19,78
  866. @7,10 SAY "$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"
  867. @9,10 SAY "THESE ACCOUNTS HAVE BEEN UPDATED BY THE SPECIFIED AMOUNTS !!"
  868. @11,10 SAY "$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"
  869. @13,20 SAY A + "MINUS  $$  " GET HTS
  870. @14,20 SAY D + "PLUS   $$  " GET ATS
  871. @15,20 SAY E + "PLUS   $$  " GET TRANE
  872. @16,20 SAY F + "PLUS   $$  " GET TRANF
  873. @17,20 SAY G + "PLUS   $$  " GET TRANG
  874. @20,0
  875. WAIT
  876. ENDIF
  877. USE ADDDEP INDEX ADDDEP
  878. ZAP
  879. TSTC=0
  880. HC=0
  881. DO WHILE .T.
  882. IF HC=0
  883. LP=0
  884. NXDEP= " "
  885. DONE= " "
  886. CLEAR
  887. @10,33 SAY "ACCOUNT CODES :"
  888. @12,26 SAY "A = "+A
  889. @13,26 SAY "B = "+B
  890. @14,26 SAY "C = "+C
  891. @15,26 SAY "D = "+D
  892. @16,26 SAY "E = "+E
  893. @17,26 SAY "F = "+F
  894. @18,26 SAY "G = "+G
  895. @19,26 SAY "H = "+H
  896. @20,26 SAY "I = "+I
  897. DO WHILE .NOT. (UPPER(DONE) $ 'N')
  898. DONE=" "
  899. ANS= " "
  900. INSERT BLANK
  901. DO WHILE .NOT. (UPPER(ANS) $ 'YN')
  902. @2,1 SAY "USE TODAY'S DATE ?? "
  903. WAIT "TYPE Y/N" TO ANS
  904. ENDDO
  905. @2,0
  906. @3,0
  907. IF UPPER(ANS)='Y'
  908. REPLACE DATE WITH MDATE
  909. ELSE
  910. @2,27 SAY "DATE OF DEPOSIT" GET DATE
  911. ENDIF
  912. VALU=0.00
  913. @3,25 SAY "ENTER TOTAL $$ TO BE DEPOSITED"
  914. @4,25 SAY "AT THIS TIME !!" GET VALU
  915. DO WHILE .NOT. (UPPER(DONE) $ 'YN')
  916. @5,25 SAY "MORE ENTRIES ?? TYPE { Y/N }." GET DONE
  917. READ
  918. ENDDO
  919. VALUS=STR(VALU,7,2)
  920. @22,45 SAY "REMAINING $$-----{ "+VALUS+" }"
  921. REPLACE ACCT_CODE WITH "T"
  922. REPLACE AMOUNT WITH VALU
  923. DO WHILE VALU <> 0
  924. ACODE= " "
  925. IF LP=0
  926. INSERT BLANK
  927. ENDIF
  928. @2,0
  929. @3,0
  930. @4,0
  931. @5,0
  932. @3,22 SAY "** ENTRIES TO BUDGET CATAGORIES **"
  933. @6,26 SAY "ACCOUNT CODE" GET ACCT_CODE PICTURE "!"
  934. @7,26 SAY "AMOUNT OF DEPOSIT" GET AMOUNT
  935. READ
  936. IF ACCT_CODE= "C" .OR. ACCT_CODE= "D"
  937. TSTC=1
  938. ENDIF
  939. STORE LEFT(ACCT_CODE,1) TO ACODE
  940. IF .NOT. (ACODE $ 'ABCDEFGHI')
  941. NXDEP=" "
  942. SET COLOR TO R*/W
  943. @0,0 SAY "INVALID ACCOUNT CODE ENTERED."
  944. @1,0 SAY "RE-ENTER!!!!"
  945. LP=1
  946. IF ISCOLOR()
  947. SET COLOR TO W/B
  948. ELSE
  949. SET COLOR TO
  950. ENDIF
  951. LOOP
  952. ENDIF
  953. VALU=VALU-AMOUNT
  954. VALUS=STR(VALU,7,2)
  955. @22,45 SAY "REMAINING $$ ----- { "+VALUS+" }"
  956. LP=0
  957. @0,0
  958. @1,0
  959. ENDDO
  960. @3,0
  961. @6,0
  962. @7,0
  963. ENDDO
  964. DELETE FOR AMOUNT =0
  965. ENDIF
  966. IF UPPER(MESG) <> "Y"
  967. CLEAR
  968. @8,25 SAY "   REVIEW THE FOLLOWING"
  969. @9,25 SAY "  ENTRIES FOR CORRECTNESS."
  970. @11,25 SAY " NOTE THE { RECORD NUMBER }"
  971. @12,25 SAY " OF ANY INCORRECT ENTRIES."
  972. @14,25 SAY "YOU WILL HAVE AN OPPORTUNITY"
  973. @15,25 SAY "    TO CORRECT THEM !!!"
  974. WAIT
  975. ENDIF
  976. GO TOP
  977. HC=0
  978. CLEAR
  979. @1,1 SAY "ACCOUNT CODES :"
  980. @1,28 SAY "C= " + C
  981. @1,55 SAY "F= " + F
  982. @2,1 SAY "A= " + A
  983. @2,28 SAY "D= " + D
  984. @2,55 SAY "G= " + G
  985. @3,1 SAY "B= " + B
  986. @3,28 SAY "E= " + E
  987. @3,55 SAY "H= " + H
  988. @4,0
  989. @4,55 SAY "I= " + I
  990. BC=0
  991. @6,0
  992. DO WHILE .NOT.EOF()
  993. @ROW()+1,BC SAY "AMT " + STR(AMOUNT,7,2) + " DATE " + DTOC(DATE) + ;
  994. " AC " + ACCT_CODE + " R# " + STR(RECNO(),2)
  995. SKIP
  996. IF ROW()=22 .AND. BC=40
  997. BC=0
  998. @23,0
  999. WAIT
  1000. CLEAR
  1001. @6,0
  1002. LOOP
  1003. ENDIF
  1004. IF ROW()=22
  1005. BC=BC+40
  1006. @6,0
  1007. LOOP
  1008. ENDIF
  1009. ENDDO
  1010. @23,0
  1011. WAIT
  1012. GTS= " "
  1013. CLEAR
  1014. @10,13 SAY "         ARE ALL ENTRIES CORRECT ????"
  1015. @12,15 SAY "TYPE { A } TO ADD, { C } TO CHANGE, { E } TO EXIT."
  1016. DO WHILE .NOT. (UPPER(GTS) $ 'CEA')
  1017. WAIT " " TO GTS
  1018. ENDDO
  1019. GTS=UPPER(GTS)
  1020. DO CASE
  1021. CASE GTS= "C"
  1022. CLOSE INDEX
  1023. CLEAR
  1024. GO TOP
  1025. @1,1 SAY "ACCOUNT CODES :"
  1026. @1,28 SAY "C= " + C
  1027. @1,55 SAY "F= " + F
  1028. @2,1 SAY "A= " + A
  1029. @2,28 SAY "D= " + D
  1030. @2,55 SAY "G= " + G
  1031. @3,1 SAY "B= " + B
  1032. @3,28 SAY "E= " + E
  1033. @3,55 SAY "H= " + H
  1034. @4,0
  1035. @4,55 SAY "I= " + I
  1036. @6,21 SAY "ENTER THE RECORD NUMBER { RCD } OF THE"
  1037. @7,21 SAY " RECORD IN ERROR AND MAKE CORRECTIONS."
  1038. @9,21 SAY "    LEAVE { RCD } BLANK AND PRESS"
  1039. @10,21 SAY "     { ENTER } WHEN FINISHED !!"
  1040. DO WHILE .T.
  1041. DC=0
  1042. @12,21 SAY "RECORD NUMBER { RCD }  " GET DC
  1043. READ
  1044. @13,0
  1045. IF DC=0
  1046. HC=1
  1047. GTS= "A"
  1048. EXIT
  1049. ENDIF
  1050. GO BOTTOM
  1051. EC=RECNO()
  1052. IF DC>EC
  1053. @13,19 SAY "** INVALID RECORD NUMBER ! ** REENTER."
  1054. LOOP
  1055. ENDIF
  1056. GOTO DC
  1057. @14,19 SAY "RECORD NUMBER { RCD }  " + STR(RECNO(),2)
  1058. @14,46 SAY "ACCOUNT CODE { " + ACCT_CODE + " }"
  1059. @15,19 SAY "DEPOSIT DATE  " GET DATE
  1060. @15,46 SAY "AMOUNT  " GET AMOUNT
  1061. READ
  1062. @14,0
  1063. @15,0
  1064. ENDDO
  1065. REINDEX
  1066. CASE GTS= "A"
  1067. LOOP
  1068. CASE GTS= "E"
  1069. EXIT
  1070. ENDCASE
  1071. ENDDO
  1072. CLEAR
  1073. @10,20 SAY "COMPUTING---------------------------------------"
  1074. SUM AMOUNT FOR ACCT_CODE = 'A' TO AC
  1075. SUM AMOUNT FOR ACCT_CODE = 'B' TO BC
  1076. SUM AMOUNT FOR ACCT_CODE = 'C' TO CD
  1077. SUM AMOUNT FOR ACCT_CODE = 'D' TO DC
  1078. SUM AMOUNT FOR ACCT_CODE = 'E' TO EC
  1079. SUM AMOUNT FOR ACCT_CODE = 'F' TO FC
  1080. SUM AMOUNT FOR ACCT_CODE = 'G' TO GC
  1081. SUM AMOUNT FOR ACCT_CODE = 'H' TO HC
  1082. SUM AMOUNT FOR ACCT_CODE = 'I' TO CTS
  1083. SUM AMOUNT TO ADDDEP_TOT FOR ACCT_CODE= 'T'
  1084. ACTAB=ACCTA+AC
  1085. ACTBB=ACCTB+BC
  1086. ACTCB=ACCTC+CD
  1087. ACTDB=ACCTD+DC
  1088. ACTEB=ACCTE+EC
  1089. ACTFB=ACCTF+FC
  1090. ACTGB=ACCTG+GC
  1091. ACTHB=ACCTH+HC
  1092. ECB=ACTAB+ACTBB+ACTCB+ACTDB+ACTEB+ACTFB+ACTGB+ACTHB
  1093. CTB=DEP_TOTAL+ADDDEP_TOT
  1094. GTB=CTB-CHEX_TOTAL
  1095. ATS=BANK2V-CTS
  1096. HTS=GTB+ATS-ECB
  1097. IF HTS <>0
  1098. SET COLOR TO W/R,W/R,W
  1099. CLEAR
  1100. @4,30 SAY "ERROR !!!!!!!!!"
  1101. @8,25 SAY "GRAND TOTAL WRONG !!!!!!!!!!!!!"
  1102. @12,20 SAY "{ DEPOSIT TOTAL } - { CHECK REGISTER TOTAL }"
  1103. @13,20 SAY "DOES NOT BALANCE AGAINST { ACCOUNTS TOTAL }."
  1104. @15,20 SAY "** FIND AND CORRECT ERROR AND RE-ENTER DATA **"
  1105. @16,20 SAY "DEPOSIT REGISTER { HAS NOT } BEEN UPDATED !!!"
  1106. WAIT
  1107. IF ISCOLOR()
  1108. SET COLOR TO W/B,W/R,BG
  1109. ELSE
  1110. SET COLOR TO
  1111. ENDIF
  1112. DO PRTMENU
  1113. ENDIF
  1114. ACCTA=ACCTA+AC
  1115. ACCTB=ACCTB+BC
  1116. ACCTC=ACCTC+CD
  1117. ACCTD=ACCTD+DC
  1118. ACCTE=ACCTE+EC
  1119. ACCTF=ACCTF+FC
  1120. ACCTG=ACCTG+GC
  1121. ACCTH=ACCTH+HC
  1122. BANK2V=BANK2V-CTS
  1123. CGIN=CGIN+CD
  1124. CNTOT=CGIN-CGEXP
  1125. IF TSTC=1
  1126. GO TOP
  1127. SELC=0
  1128. SELD=0
  1129. DO WHILE .NOT. EOF()
  1130. IF ACCT_CODE= "C"
  1131. C03S=AMOUNT
  1132. IF SELC=0
  1133. SELECT B
  1134. USE ACCTC INDEX ACCTC
  1135. SELC=1
  1136. ENDIF
  1137. SELECT ACCTC
  1138. APPEND BLANK
  1139. REPLACE DATE WITH MDATE
  1140. REPLACE AMOUNT WITH C03S
  1141. REPLACE DESCRPT WITH "DEPOSIT"
  1142. REPLACE ACCT_CODE WITH "DEP"
  1143. ENDIF
  1144. IF ACCT_CODE= "D"
  1145. CSUM=AMOUNT
  1146. IF SELD=0
  1147. SELECT C
  1148. USE KIMACT
  1149. SELD=1
  1150. ENDIF
  1151. SELECT KIMACT
  1152. APPEND BLANK
  1153. REPLACE DATE WITH MDATE
  1154. REPLACE DEP WITH "DEP"
  1155. REPLACE AMOUNT WITH CSUM
  1156. REPLACE BALANCE WITH ACCTD
  1157. ENDIF
  1158. SELECT ADDDEP
  1159. SKIP
  1160. ENDDO
  1161. ENDIF
  1162. USE DEPREG INDEX DEPAMT
  1163. APPEND FROM ADDDEP FOR ACCT_CODE = "T"
  1164. DEP_TOTAL=DEP_TOTAL+ADDDEP_TOT
  1165. GRAND_TOTL=DEP_TOTAL-CHEX_TOTAL
  1166. COMBINE=BANK2V+GRAND_TOTL
  1167. RDFBU=RDFBU+ADDDEP_TOT
  1168. CLOSE DATABASE
  1169. DO CHEXSTAT
  1170. RETURN
  1171. PROCEDURE PRINTCHEX
  1172. USE WORKCHEX INDEX WORKCHEX
  1173. SELECT B
  1174. USE NUMBTEXT INDEX NUMBTEXT ALIAS WORDS
  1175. CLEAR
  1176. @3,1 TO 18,78
  1177. @5,25 SAY "VERIFY THAT THIS NUMBER  " GET WCSN
  1178. @6,25 SAY "IS THE SEQUENCE NUMBER "
  1179. @7,25 SAY "OF THE FIRST CHECK THAT"
  1180. @8,25 SAY "YOU ARE ABOUT TO PRINT !!!!"
  1181. @10,25 SAY "IF CORRECT, TYPE { Y } TO CONTINUE."
  1182. @11,25 SAY "YOU WILL BE PRINTING " GET COUNTER
  1183. @11,59 SAY "CHECKS"
  1184. @13,25 SAY "IF NUMBERS {{ DO NOT }} MATCH,"
  1185. @14,25 SAY "YOU HAVE AN ERROR !!!!!!!!!!"
  1186. @15,25 SAY "TYPE { N } TO CANCEL PRINTING."
  1187. @16,25 SAY "CORRECT ERROR AND RESTART PRINT."
  1188. TEST=" "
  1189. CHKCT=0
  1190. DO WHILE .NOT. (UPPER(TEST) $ 'YN')
  1191. WAIT "TYPE Y/N" TO TEST
  1192. ENDDO
  1193. IF UPPER(TEST) ='N'
  1194. CLOSE DATABASE
  1195. DO CHEXMENU
  1196. ENDIF
  1197. SELECT WORKCHEX
  1198. DELETE FOR SEQ_NO < 5000
  1199. GO TOP
  1200. SET PRINT ON
  1201.  ? CHR(27) + "C" + CHR(0) + CHR(7)
  1202. SET PRINT OFF
  1203. DO WHILE .NOT. EOF()
  1204. EJECT
  1205. IF CHKCT=0
  1206. CLEAR
  1207. @10,25 SAY "PLACE CHECKS IN PRINTER AND"
  1208. @12,25 SAY "ALIGN TO PRINT POSITION NOW !!!"
  1209. WAIT
  1210. CHKCT=1
  1211. @15,40 SAY "PRINTING -----------"
  1212. ENDIF
  1213. SET DEVICE TO PRINT
  1214. VALUE=AMOUNT
  1215. DO CONV
  1216. IF ACCT_CODE = "B11"
  1217. @7,10 SAY B111 + " $$"+STR(B111A)
  1218. @8,10 SAY B1111
  1219. @10,10 SAY B112 + " $$"+STR(B112A)
  1220. @11,10 SAY B1121
  1221. @13,10 SAY B113 + " $$"+STR(B113A)
  1222. @14,10 SAY B1131
  1223. ENDIF
  1224. @26,0 SAY FULLTEXT
  1225. @29,5 SAY "NOTE -- " + NOTE
  1226. @30,45 SAY CMONTH(DATE)
  1227. @PROW(),PCOL()+1 SAY DAY(DATE)
  1228. @PROW(),PCOL()+2 SAY STR(YEAR(DATE)-1900,2)
  1229. @30,65 SAY "$$"
  1230. @30,67 SAY AMOUNT PICTURE "****.**"
  1231. @32,7 SAY PAY_TO
  1232. @33,7 SAY ADDRESS
  1233. @34,7 SAY CITY
  1234. @35,7 SAY STATE+"   "+ZIP
  1235. SKIP
  1236. ENDDO
  1237. SET PRINT ON
  1238.  ? CHR(27)+ "@"
  1239. SET PRINT OFF
  1240. EJECT
  1241. SET DEVICE TO SCREEN
  1242. CLEAR
  1243. @10,30 SAY "FINISHED PRINT !!!!"
  1244. RETURN
  1245. PROCEDURE CONV
  1246. SELECT WORDS
  1247. DOLLAR=""
  1248. IF INT(VALUE)=VALUE
  1249. CENTTEXT="00"
  1250. ELSE
  1251. CENTS=(VALUE-INT(VALUE))*100
  1252. IF CENTS>10
  1253. CENTTEXT=STR(CENTS,2)
  1254. ELSE
  1255. CENTTEXT="0"+STR(CENTS,1)
  1256. ENDIF
  1257. ENDIF
  1258. VALUE=INT(VALUE)
  1259. IF VALUE>999
  1260. THOUSANDS=INT(VALUE/1000)
  1261. VALUE=VALUE-THOUSANDS*1000
  1262. IF THOUSANDS>19
  1263. TENS=SUBSTR(STR(THOUSANDS,2),1,1)+"0"
  1264. ONES=SUBSTR(STR(THOUSANDS,2),2,1)
  1265. SEEK TENS
  1266. DOLLAR=TRIM(WORD)
  1267. SEEK ONES
  1268. DOLLAR=DOLLAR+" "+TRIM(WORD)+" THOUSAND "
  1269. ELSE
  1270. IF THOUSANDS>9
  1271. SEEK STR(THOUSANDS,2)
  1272. DOLLAR=TRIM(WORD)+" THOUSAND "
  1273. ELSE
  1274. SEEK STR(THOUSANDS,1)
  1275. DOLLAR=TRIM(WORD)+" THOUSAND "
  1276. ENDIF
  1277. ENDIF
  1278. ENDIF
  1279. IF VALUE>99
  1280. HUNDREDS=INT(VALUE/100)
  1281. VALUE=VALUE-HUNDREDS*100
  1282. SEEK STR(HUNDREDS,1)
  1283. DOLLAR=DOLLAR+TRIM(WORD)+" HUNDRED "
  1284. ENDIF
  1285. IF VALUE>0
  1286. IF VALUE>19
  1287. TENS=SUBSTR(STR(VALUE,2),1,1)+"0"
  1288. ONES=SUBSTR(STR(VALUE,2),2,1)
  1289. SEEK TENS
  1290. DOLLAR=DOLLAR+" "+TRIM(WORD)
  1291. SEEK ONES
  1292. DOLLAR=DOLLAR+" "+TRIM(WORD)+" DOLLARS "
  1293. ELSE
  1294. IF VALUE>9
  1295. SEEK STR(VALUE,2)
  1296. DOLLAR=DOLLAR+TRIM(WORD)+" DOLLARS "
  1297. ELSE
  1298. SEEK STR(VALUE,1)
  1299. DOLLAR=DOLLAR+TRIM(WORD)+" DOLLARS "
  1300. ENDIF
  1301. ENDIF
  1302. ENDIF
  1303. FULLTEXT=DOLLAR+" AND "+CENTTEXT+"/100 CENTS"
  1304. PAD=REPLICATE("*",69-LEN(FULLTEXT))
  1305. FULLTEXT=PAD+FULLTEXT
  1306. SELECT WORKCHEX
  1307. RETURN
  1308. PROCEDURE REXCHEX
  1309. CLEAR
  1310. @10,26 SAY "IF YOU WISH TO ENTER NEW"
  1311. @11,26 SAY "DATA; PRESS THE { N } KEY !"
  1312. @13,26 SAY "IF YOU WISH TO USE OLD"
  1313. @14,26 SAY "DATA; PRESS THE { O } KEY !"
  1314. CHOICE= " "
  1315. DO WHILE .NOT.(UPPER(CHOICE) $ 'NO')
  1316. WAIT "TYPE N/O" TO CHOICE
  1317. ENDDO
  1318. STORE 0 TO ERROR,REXSEQ,REXDA,REXCA,REXCF,REXCT,REXDT,REXDF,A01S,A02S
  1319. REXBAL=0.00
  1320. SELECT A
  1321. USE CHEXREG INDEX CKSEQ,CKATNM,CHEXPT
  1322. SELECT B
  1323. USE REXCHEX
  1324. SELECT C
  1325. USE CHKBKUP INDEX CBATNM,CHBKPT,CKBKSQ
  1326. SELECT D
  1327. USE REXDEP
  1328. IF UPPER(CHOICE)= "N"
  1329. SELECT REXCHEX
  1330. ZAP
  1331. CLEAR
  1332. @8,19 SAY "ENTER CURRENT ACCOUNT BALANCE"
  1333. @9,19 SAY "FROM YOUR { BANK STATMENT } !! -----   $$ " GET REXBAL
  1334. @11,19 SAY "ENTER NUMBER OF DEPOSITS AND OTHER CREDITS"
  1335. @12,19 SAY "TO RECONCILE -----------------------   $$ " GET A01S
  1336. @14,19 SAY "ENTER NUMBER OF CHECKS AND OTHER DEBITS"
  1337. @15,19 SAY "TO RECONCILE -----------------------   $$ " GET A02S
  1338. READ
  1339. IF UPPER(MESG)<> "Y"
  1340. CLEAR
  1341. @10,23 SAY "ENTER {{ CHECK SEQUENCE NUMBERS }}"
  1342. @11,23 SAY "  THAT HAVE CLEARED BANK FROM"
  1343. @12,23 SAY "       CURRENT STATMENT ."
  1344. @14,23 SAY " LEAVE { AMOUNT } BLANK WHEN DONE !"
  1345. WAIT
  1346. ENDIF
  1347. CLEAR
  1348. DO WHILE A02S<>0
  1349. APPEND BLANK
  1350. @4,25 SAY "RECORD NUMBER  " + STR(RECNO(),2)
  1351. @6,25 SAY "SEQUENCE NUMBER" GET SEQ_NO
  1352. READ
  1353. A02S=A02S-1
  1354. ENDDO
  1355. DELETE FOR SEQ_NO=0
  1356. SELECT REXDEP
  1357. ZAP
  1358. IF UPPER(MESG)<> "Y"
  1359. CLEAR
  1360. @8,25 SAY "ENTER DEPOSITS TO BE RECONCILED"
  1361. @9,25 SAY "    THAT HAVE CLEARED BANK"
  1362. @10,25 SAY "  FROM YOUR CURRENT STATEMENT."
  1363. IF AUTO= "A"
  1364. @12,15 SAY "YOU HAVE SELECTED TO USE THE { AUTO-YEAR } OPTION  "
  1365. ELSE
  1366. @12,15 SAY "YOU HAVE SELECTED TO USE THE { MANUAL-YEAR } OPTION"
  1367. ENDIF
  1368. ENDIF
  1369. CLEAR
  1370. CC= "/"
  1371. DO WHILE A01S<>0
  1372. APPEND BLANK
  1373. A01S=A01S-1
  1374. @4,25 SAY "RECORD NUMBER " + STR(RECNO(),2)
  1375. @6,25 SAY "AMOUNT" GET AMOUNT
  1376. IF AUTO= "A"
  1377. AC= "  "
  1378. BC= "  "
  1379. @6,41 SAY "DATE" GET AC
  1380. @6,48 SAY "/" GET BC
  1381. READ
  1382. DC=STR(YEAR(DATE()),4)
  1383. DC=SUBSTR(DC,3,2)
  1384. EC=CTOD(AC+CC+BC+CC+DC)
  1385. REPLACE DATE WITH EC
  1386. ELSE
  1387. @6,41 SAY "DATE" GET DATE
  1388. READ
  1389. ENDIF
  1390. ENDDO
  1391. DELETE FOR AMOUNT=0
  1392. IF UPPER(MESG) <> "Y"
  1393. CLEAR
  1394. @8,25 SAY "   REVIEW THE FOLLOWING"
  1395. @9,25 SAY "  ENTRIES FOR CORRECTNESS."
  1396. @11,25 SAY " NOTE THE { RECORD NUMBER }"
  1397. @12,25 SAY " OF ANY INCORRECT ENTRIES."
  1398. @14,25 SAY "YOU WILL HAVE AN OPPORTUNITY"
  1399. @15,25 SAY "    TO CORRECT THEM !!!"
  1400. WAIT
  1401. ENDIF
  1402. CTS=0
  1403. DO WHILE CTS <2
  1404. HC=0
  1405. DO WHILE .T.
  1406. IF CTS=0
  1407. SELECT REXCHEX
  1408. CLEAR
  1409. GO TOP
  1410. BC=2
  1411. @1,0
  1412. DO WHILE .NOT.EOF()
  1413. @ROW()+1,BC SAY "SEQ # " +STR(SEQ_NO,4) +;
  1414. "   RCD # " + STR(RECNO(),2)
  1415. SKIP
  1416. IF ROW()=22 .AND. BC=52
  1417. BC=2
  1418. @23,0
  1419. WAIT
  1420. CLEAR
  1421. @1,0
  1422. LOOP
  1423. ENDIF
  1424. IF ROW()=22
  1425. BC=BC+25
  1426. @1,0
  1427. LOOP
  1428. ENDIF
  1429. ENDDO
  1430. @23,0
  1431. WAIT
  1432. ELSE
  1433. SELECT REXDEP
  1434. CLEAR
  1435. GO TOP
  1436. BC=0
  1437. @1,0
  1438. DO WHILE .NOT.EOF()
  1439. @ROW()+1,BC SAY "AMOUNT " + STR(AMOUNT,7,2) + " DATE " + DTOC(DATE) +;
  1440. " RCD # " + STR(RECNO(),2)
  1441. SKIP
  1442. IF ROW()=22 .AND. BC=40
  1443. BC=0
  1444. @23,0
  1445. WAIT
  1446. CLEAR
  1447. @1,0
  1448. LOOP
  1449. ENDIF
  1450. IF ROW()=22
  1451. BC=BC+40
  1452. @1,0
  1453. LOOP
  1454. ENDIF
  1455. ENDDO
  1456. @23,0
  1457. WAIT
  1458. ENDIF
  1459. CLEAR
  1460. GTS= " "
  1461. @10,13 SAY "         ARE ALL ENTRIES CORRECT ????"
  1462. @12,15 SAY "TYPE { A } TO ADD, { C } TO CHANGE, { E } TO EXIT."
  1463. @14,10 SAY "*** FOR THE { ADD } OPTION, PRESS { Ctrl-End } WHEN DONE ! ***"
  1464. DO WHILE .NOT. (UPPER(GTS) $ 'CEA')
  1465. WAIT " " TO GTS
  1466. ENDDO
  1467. GTS=UPPER(GTS)
  1468. DO CASE
  1469. CASE GTS= "C"
  1470. CLEAR
  1471. @8,21 SAY "ENTER THE RECORD NUMBER { RCD } OF THE"
  1472. @9,21 SAY " RECORD IN ERROR AND MAKE CORRECTIONS."
  1473. @11,21 SAY "    LEAVE { RCD } BLANK AND PRESS"
  1474. @12,21 SAY "     { ENTER } WHEN FINISHED !!"
  1475. DO WHILE .T.
  1476. DC=0
  1477. @14,21 SAY "RECORD NUMBER { RCD }  " GET DC
  1478. READ
  1479. @15,0
  1480. IF DC=0
  1481. HC=1
  1482. EXIT
  1483. ENDIF
  1484. GO BOTTOM
  1485. EC=RECNO()
  1486. IF DC>EC
  1487. @15,19 SAY "** INVALID RECORD NUMBER ! ** REENTER."
  1488. LOOP
  1489. ENDIF
  1490. GOTO DC
  1491. @14,0
  1492. @14,21 SAY "RECORD NUMBER { RCD }  " + STR(RECNO(),2)
  1493. IF CTS=0
  1494. @15,21 SAY "CHECK SEQUENCE NUMBER  " GET SEQ_NO
  1495. ELSE
  1496. @15,21 SAY "DEPOSIT DATE  " GET DATE
  1497. @15,46 SAY "AMOUNT  " GET AMOUNT
  1498. ENDIF
  1499. READ
  1500. @15,0
  1501. ENDDO
  1502. IF HC=1
  1503. HC=0
  1504. LOOP
  1505. ENDIF
  1506. CASE GTS= "A"
  1507. APPEND
  1508. IF CTS=0
  1509. DELETE FOR SEQ_NO=0
  1510. ELSE
  1511. DELETE FOR AMOUNT=0
  1512. ENDIF
  1513. LOOP
  1514. CASE GTS= "E"
  1515. CTS=CTS+1
  1516. EXIT
  1517. ENDCASE
  1518. ENDDO
  1519. ENDDO
  1520. CLEAR
  1521. @10,27 SAY "  VERIFY BANK BALANCE VALUE !"
  1522. @12,22 SAY "BANK STATMENT BALANCE  $$" GET REXBAL
  1523. READ
  1524. ENDIF
  1525. CLEAR
  1526. @10,20 SAY "COMPUTING  CHECKS ------------------------"
  1527. SELECT CHEXREG
  1528. SET DELETED OFF
  1529. RECALL ALL
  1530. SET DELETED ON
  1531. REPLACE ALL DEL WITH 0
  1532. SELECT REXCHEX
  1533. GO TOP
  1534. DO WHILE .NOT. EOF()
  1535. REXSEQ=SEQ_NO
  1536. SELECT CHEXREG
  1537. SEEK REXSEQ
  1538. IF EOF()
  1539. SET COLOR TO W/R,W/R,W
  1540. CLEAR
  1541. @7,21 SAY "           ERROR !!!!"
  1542. @9,21 SAY "   CHECK NUMBER   " GET REXSEQ
  1543. @10,21 SAY "     WAS ** NOT ** FOUND"
  1544. @12,21 SAY "   THERE MAY BE OTHERS ----"
  1545. @14,21 SAY "   DISPLAY UNCLEARED CHECKS AND"
  1546. @15,21 SAY "   COMPARE AGAINST BANK STATMENT."
  1547. @17,21 SAY "FIND ERROR AND RERUN RECONCILE OPTION."
  1548. WAIT
  1549. DO PRTMENU
  1550. ENDIF
  1551. REXCA=REXCA+AMOUNT
  1552. REPLACE DEL WITH 1
  1553. DELETE
  1554. SELECT REXCHEX
  1555. SKIP
  1556. ENDDO
  1557. SELECT CHEXREG
  1558. SUM AMOUNT FOR DEL <>1 TO REXCF
  1559. CLEAR
  1560. @10,20 SAY "COMPUTING  DEPOSITS --------------------"
  1561. SELECT A
  1562. USE DEPREG INDEX DEPAMT
  1563. SELECT B
  1564. USE REXREG
  1565. SELECT C
  1566. USE DEPBKUP INDEX DBKAMT
  1567. SELECT DEPREG
  1568. SET DELETED OFF
  1569. RECALL ALL
  1570. SET DELETED ON
  1571. REPLACE ALL DEL WITH 0
  1572. SELECT REXDEP
  1573. LP=0
  1574. GO TOP
  1575. DO WHILE .NOT. EOF()
  1576. REXD=DATE
  1577. REXA=AMOUNT
  1578. REXDBU=REXD
  1579. SELECT DEPREG
  1580. SEEK REXA
  1581. DO WHILE .T.
  1582. IF DATE=REXD
  1583. REXDA=REXDA+AMOUNT
  1584. REPLACE DEL WITH 1
  1585. DELETE
  1586. RECALL FOR DEL=2
  1587. EXIT
  1588. ENDIF
  1589. IF LP=7
  1590. LP=0
  1591. REPLACE DEL WITH 2
  1592. DELETE
  1593. SEEK REXA
  1594. LOOP
  1595. ENDIF
  1596. IF DATE<>REXD
  1597. REXD=REXD-1
  1598. LP=LP+1
  1599. LOOP
  1600. ENDIF
  1601. IF EOF()
  1602. SET COLOR TO W/R,W/R,W
  1603. CLEAR
  1604. @6,21 SAY "           ERROR !!!!"
  1605. @8,21 SAY "    DEPOSIT AMOUNT" GET REXA
  1606. @9,21 SAY "    FOR DATE      " GET REXDBU
  1607. @10,21 SAY "   WAS ** NOT ** FOUND !!"
  1608. @12,21 SAY "   THERE MAY BE OTHERS ------"
  1609. @14,21 SAY "   DISPLAY UNCLEARED DEPOSITS AND"
  1610. @15,21 SAY "   COMPARE AGAINST BANK STATMENT."
  1611. @17,21 SAY "FIND ERROR AND RERUN RECONCILE OPTION."
  1612. WAIT
  1613. DO PRTMENU
  1614. ENDIF
  1615. ENDDO
  1616. SELECT REXDEP
  1617. SKIP
  1618. ENDDO
  1619. SELECT DEPREG
  1620. SUM AMOUNT FOR DEL <>1 TO REXDF
  1621. CMPBAL=REXBAL-REXCF+REXDF
  1622. IF CMPBAL<>GRAND_TOTL
  1623. CLEAR
  1624. @8,20 SAY " ERROR IN ACCOUNT BALANCING PROCESS !!!!"
  1625. @10,20 SAY " RECONCILIATION OF OUTSTANDING CHECKS"
  1626. @11,20 SAY " AND DEPOSITS DOES NOT BALANCE AGAINST"
  1627. @12,20 SAY "    YOUR BANK STATMENT FIGURE !!!!!"
  1628. @13,20 SAY "FIND AND CORRECT ERROR BEFORE CONTINUING."
  1629. @15,20 SAY "  {{ NO }} FILES HAVE BEEN UPDATED !!!"
  1630. WAIT
  1631. CLEAR
  1632. @6,10 TO 18,69
  1633. @8,20 SAY "COPY DOWN THE FOLLOWING VALUES !!!!"
  1634. @10,20 SAY "YOU WILL NEED THEM TO FIND THE ERROR."
  1635. @12,15 SAY "TOTAL OF CLEARED CHECKS           $$ " GET REXCA
  1636. @13,15 SAY "TOTAL OF CLEARED DEPOSITS         $$ " GET REXDA
  1637. @14,15 SAY "TOTAL OF { UN } CLEARED CHECKS    $$ " GET REXCF
  1638. @15,15 SAY "TOTAL OF { UN } CLEARED DEPOSITS  $$ " GET REXDF
  1639. @16,15 SAY "COMPUTED BANK BALANCE VALUE       $$ " GET CMPBAL
  1640. @19,0
  1641. WAIT
  1642. DO PRTMENU
  1643. ENDIF
  1644. CLEAR
  1645. @10,20 SAY "TRANSFERRING FILES --------------------------"
  1646. SET COLOR TO W/R,W/R,W
  1647. SELECT DEPREG
  1648. SET DELETED OFF
  1649. RECALL ALL
  1650. SET DELETED ON
  1651. GO TOP
  1652. DO WHILE .NOT. EOF()
  1653. IF DEL=1
  1654. REXA=AMOUNT
  1655. REXD=DATE
  1656. DELETE
  1657. SELECT DEPBKUP
  1658. APPEND BLANK
  1659. REPLACE AMOUNT WITH REXA,DATE WITH REXD
  1660. SELECT DEPREG
  1661. SKIP
  1662. ELSE
  1663. SKIP
  1664. ENDIF
  1665. ENDDO
  1666. PACK
  1667. SELECT DEPBKUP
  1668. SUM AMOUNT TO REXDT
  1669. SELECT A
  1670. USE CHEXREG INDEX CKSEQ,CKATNM,CHEXPT
  1671. SELECT C
  1672. USE CHKBKUP INDEX CBATNM,CHBKPT,CKBKSQ
  1673. SELECT CHEXREG
  1674. SET DELETED OFF
  1675. RECALL ALL
  1676. SET DELETED ON
  1677. GO TOP
  1678. DO WHILE .NOT. EOF()
  1679. IF DEL=1
  1680. PAYM=PAY_TO
  1681. REXA=AMOUNT
  1682. REXD=DATE
  1683. NOTEM=NOTE
  1684. ACCTM=ACCT_CODE
  1685. REXSEQ=SEQ_NO
  1686. DELETE
  1687. SELECT CHKBKUP
  1688. APPEND BLANK
  1689. REPLACE PAY_TO WITH PAYM,AMOUNT WITH REXA,ACCT_CODE WITH ACCTM,;
  1690. DATE WITH REXD,SEQ_NO WITH REXSEQ,NOTE WITH NOTEM
  1691. SELECT CHEXREG
  1692. SKIP
  1693. ELSE
  1694. SKIP
  1695. ENDIF
  1696. ENDDO
  1697. PACK
  1698. SELECT CHKBKUP
  1699. SUM AMOUNT TO REXCT
  1700. IF REXDT+REXDF+DPARC <> DEP_TOTAL
  1701. CLEAR
  1702. ERROR=1
  1703. @8,20 SAY "     ERROR IN BALANCE SUMMARY !!!!!"
  1704. @10,20 SAY "  TOTAL OF RECONCILED VS UNRECONCILED"
  1705. @11,20 SAY "       DEPOSITS DOES NOT BALANCE"
  1706. @12,20 SAY "  AGAINST DEPOSIT REGISTER TOTAL !!!!!"
  1707. @13,20 SAY "FIND AND CORRECT ERROR BEFORE CONTINUING."
  1708. WAIT
  1709. ENDIF
  1710. IF REXCF+REXCT+CKARC <> CHEX_TOTAL
  1711. ERROR=1
  1712. CLEAR
  1713. @8,20 SAY "     ERROR IN BALANCE SUMMARY !!!!!"
  1714. @10,20 SAY "  TOTAL OF RECONCILED VS UNRECONCILED"
  1715. @11,20 SAY "    CHECKS DOES NOT BALANCE AGAINST"
  1716. @12,20 SAY "      CHECK REGISTER TOTAL !!!!!!!"
  1717. @13,20 SAY "FIND AND CORRECT ERROR BEFORE CONTINUING."
  1718. WAIT
  1719. ENDIF
  1720. IF RCFBU-REXCA<>REXCF
  1721. ERROR=1
  1722. CLEAR
  1723. @8,20 SAY "ERROR IN BALANCE SUMMARY !!!!!!"
  1724. @10,20 SAY "OLD UNCLEARED CHECK TOTAL MINUS"
  1725. @11,20 SAY "CHECKS JUST ENTERED DOES NOT EQUAL"
  1726. @12,20 SAY "CURRENT UNCLEARED CHECK TOTAL."
  1727. WAIT
  1728. ENDIF
  1729. IF RDFBU-REXDA<>REXDF
  1730. ERROR=1
  1731. CLEAR
  1732. @8,20 SAY "ERROR IN BALANCE SUMMARY !!!!!!"
  1733. @10,20 SAY "OLD UNCLEARED DEPOSIT TOTAL MINUS"
  1734. @11,20 SAY "DEPOSITS JUST ENTERED DOES NOT EQUAL"
  1735. @12,20 SAY "CURRENT UNCLEARED DEPOSIT TOTAL."
  1736. WAIT
  1737. ENDIF
  1738. RCFBU=REXCF
  1739. RDFBU=REXDF
  1740. SELECT REXREG
  1741. APPEND BLANK
  1742. REPLACE DATE WITH MDATE
  1743. REPLACE CLEAR_CKS WITH REXCA
  1744. REPLACE CLEAR_DEPS WITH REXDA
  1745. REPLACE UNCLER_CKS WITH REXCF
  1746. REPLACE UNCLR_DEPS WITH REXDF
  1747. REPLACE CMPT_BAL WITH CMPBAL
  1748. IF ERROR=1
  1749. SET COLOR TO W/R*,W/R,W
  1750. CLEAR
  1751. @2,15 SAY "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"
  1752. @4,15 SAY "        CATASTROPHIC     ERROR !!!!!!!!!!"
  1753. @6,15 SAY "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"
  1754. SET COLOR TO W/R,W/R,W
  1755. @11,15 SAY "YOU WILL HAVE TO RELOAD YOUR DATA FILES FROM THE"
  1756. @12,15 SAY "LAST TIME THAT THE { RECONCILE OPTION } RAN WITH-"
  1757. @13,15 SAY "OUT ERROR, FIND AND CORRECT THE ERROR, AND RE-RUN."
  1758. @14,0
  1759. @15,0
  1760. DISPLAY
  1761. WAIT
  1762. DO PRTMENU
  1763. ENDIF
  1764. SET COLOR TO B/GR,W/R,BG
  1765. CLEAR
  1766. @9,20 SAY "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
  1767. @11,30 SAY "CONGRADULATIONS !!!!"
  1768. @12,25 SAY "YOUR ACCOUNT BALANCED - NO ERRORS"
  1769. @14,20 SAY "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
  1770. WAIT
  1771. IF ISCOLOR()
  1772. SET COLOR TO W/B,W/R,BG
  1773. ELSE
  1774. SET COLOR TO
  1775. ENDIF
  1776. DO CHEXMENU
  1777. RETURN
  1778. PROCEDURE CHEXDISP
  1779. CLOSE DATABASE
  1780. CLEAR
  1781. DO WHILE .T.
  1782. CHOICE= " "
  1783. PRT= " "
  1784. SET PRINT OFF
  1785. @1,15 TO 5,63 DOUBLE
  1786. @3,30 SAY "PRINT REGISTER MENU"
  1787. @5,6 TO 22,73 DOUBLE
  1788. @7,18 SAY "1 } SELECT CHECK REGISTER "
  1789. @9,18 SAY "2 } SELECT DEPOSIT REGISTER"
  1790. @11,18 SAY "3 } SELECT PERMENANT CHECK REGISTER"
  1791. @13,18 SAY "4 } SELECT CK. RECONCILE + SUMMARY REGISTERS"
  1792. @15,18 SAY "5 } DISPLAY UNCLEARED CHECKS AND DEPOSITS"
  1793. @17,18 SAY "6 } SELECT ARCHIVE REGISTERS"
  1794. @19,18 SAY "7 } EXIT TO PRINT MENU"
  1795. @21,25 SAY "ENTER YOUR CHOICE" GET CHOICE
  1796. READ
  1797. CHOICEB=CHOICE
  1798. IF CHOICE= "7"
  1799. DO PRTMENU
  1800. ENDIF
  1801. IF CHOICE $ "123456"
  1802. CLEAR
  1803. @2,20 SAY "TO DISPLAY TO SCREEN, ENTER { S }"
  1804. @3,20 SAY "TO PRINT TO PRINTER,  ENTER { P }"
  1805. DO WHILE .NOT. (PRT $ 'SP')
  1806. WAIT " " TO PRT
  1807. PRT= UPPER(PRT)
  1808. ENDDO
  1809. ENDIF
  1810. DO CASE
  1811. CASE CHOICE="1"
  1812. DTS= " "
  1813. @8,20 SAY "ENTER { A } TO LIST BY ACCOUNT CODE."
  1814. @9,20 SAY "ENTER { S } TO LIST BY SEQUENCE NUMBER."
  1815. DO WHILE .NOT. (UPPER(DTS) $ 'AS')
  1816. WAIT " " TO DTS
  1817. ENDDO
  1818. DTS=UPPER(DTS)
  1819. RETYEAR= "    "
  1820. DONE= "  "
  1821. @14,20 SAY "ENTER { DATE } OF RECORDS YOU WISH"
  1822. @15,20 SAY "TO RETRIVE FROM THE CHECK FILE."
  1823. @17,20 SAY "LEAVE MONTH BLANK FOR FULL YEAR !"
  1824. @18,20 SAY "          { MONTH }  " GET DONE
  1825. @19,20 SAY "          { YEAR  }  " GET RETYEAR
  1826. READ
  1827. CLEAR
  1828. @10,10 SAY "SEARCHING RECORDS FOR DATE  { ";
  1829. +DONE+"  "+RETYEAR+" } ---------"
  1830. DVCE=VAL("&DONE")
  1831. RTYV=VAL("&RETYEAR")
  1832. IF DTS= "S"
  1833. USE CHKBKUP INDEX CKBKSQ
  1834. ELSE
  1835. USE CHKBKUP INDEX CBATNM
  1836. ENDIF
  1837. DELETE FOR YEAR(DATE) <> RTYV
  1838. IF DVCE >0
  1839. DELETE FOR MONTH(DATE) <> DVCE
  1840. ENDIF
  1841. IF PRT = "P"
  1842. SET PRINT ON
  1843. @10,10 SAY " PRINTING"
  1844. SET CONSOLE OFF
  1845. LIST
  1846. SET CONSOLE ON
  1847. ELSE
  1848. DISPLAY OFF ALL ACCT_CODE,PAY_TO,AMOUNT,DATE,SEQ_NO
  1849. ENDIF
  1850. SET DELETED OFF
  1851. RECALL ALL
  1852. SET DELETED ON
  1853. CASE CHOICE="2"
  1854. RETYEAR= "    "
  1855. DONE= "  "
  1856. @8,20 SAY "ENTER { DATE } OF RECORDS YOU WISH"
  1857. @9,20 SAY "TO RETRIVE FROM THE DEPOSIT FILE."
  1858. @10,20 SAY "LEAVE MONTH BLANK FOR FULL YEAR !"
  1859. @11,20 SAY "          { MONTH }  " GET DONE
  1860. @12,20 SAY "          { YEAR  }  " GET RETYEAR
  1861. READ
  1862. CLEAR
  1863. @10,10 SAY "SEARCHING RECORDS FOR DATE  { ";
  1864. +DONE+"  "+RETYEAR+" } ---------"
  1865. DVCE=VAL("&DONE")
  1866. RTYV=VAL("&RETYEAR")
  1867. USE DEPBKUP
  1868. DELETE FOR YEAR(DATE) <> RTYV
  1869. IF DVCE >0
  1870. DELETE FOR MONTH(DATE) <> DVCE
  1871. ENDIF
  1872. IF PRT = "P"
  1873. SET PRINT ON
  1874. @10,10 SAY " PRINTING"
  1875. SET CONSOLE OFF
  1876. LIST
  1877. SET CONSOLE ON
  1878. ELSE
  1879. DISPLAY ALL
  1880. ENDIF
  1881. SET DELETED OFF
  1882. RECALL ALL
  1883. SET DELETED ON
  1884. CASE CHOICE="3"
  1885. USE PERMCHEX
  1886. IF PRT = "P"
  1887. SET PRINT ON
  1888. CLEAR
  1889. @10,10 SAY "PRINTING PERMENANT CHECK FILE ----------------"
  1890. SET CONSOLE OFF
  1891. LIST OFF
  1892. SET CONSOLE ON
  1893. ELSE
  1894. DISPLAY OFF ALL ACCT_CODE,PAY_TO,AMOUNT,NOTE
  1895. ENDIF
  1896. CASE CHOICE="4"
  1897. IF PRT = "P"
  1898. SET PRINT ON
  1899. USE REXREG
  1900. CLEAR
  1901. @10,10 SAY "PRINTING FILES ----------------------------"
  1902. SET CONSOLE OFF
  1903. LIST
  1904. USE CKTOT
  1905. LIST
  1906. SET CONSOLE ON
  1907. ELSE
  1908. USE REXREG
  1909. DISPLAY OFF ALL
  1910. USE CKTOT
  1911. DISPLAY OFF ALL
  1912. ENDIF
  1913. CASE CHOICE="5"
  1914. IF PRT = "P"
  1915. SET PRINT ON
  1916. CLEAR
  1917. @10,10 SAY "PRINTING FILES --------------------------"
  1918. SET CONSOLE OFF
  1919. USE CHEXREG INDEX CKSEQ
  1920. LIST
  1921. USE DEPREG
  1922. LIST
  1923. SET CONSOLE ON
  1924. ELSE
  1925. USE CHEXREG INDEX CKSEQ
  1926. DISPLAY OFF ALL SEQ_NO,PAY_TO,ACCT_CODE,AMOUNT,DATE
  1927. USE DEPREG
  1928. DISPLAY ALL
  1929. ENDIF
  1930. CASE CHOICE="6"
  1931. DTS= " "
  1932. @8,20 SAY "ENTER { A } TO LIST BY ACCOUNT CODE."
  1933. @9,20 SAY "ENTER { S } TO LIST BY SEQUENCE NUMBER."
  1934. DO WHILE .NOT. (UPPER(DTS) $ 'AS')
  1935. WAIT " " TO DTS
  1936. ENDDO
  1937. DTS=UPPER(DTS)
  1938. RETYEAR= "    "
  1939. DONE= "  "
  1940. @14,20 SAY "ENTER { DATE } OF RECORDS YOU WISH"
  1941. @15,20 SAY "TO RETRIVE FROM THE ARCHIVE FILE."
  1942. @17,20 SAY "LEAVE MONTH BLANK FOR FULL YEAR !"
  1943. @18,20 SAY "          { MONTH }  " GET DONE
  1944. @19,20 SAY "          { YEAR  }  " GET RETYEAR
  1945. READ
  1946. CLEAR
  1947. @10,10 SAY "SEARCHING RECORDS FOR DATE  { ";
  1948. +DONE+"  "+RETYEAR+" } --------"
  1949. DVCE=VAL("&DONE")
  1950. RTYV=VAL("&RETYEAR")
  1951. IF DTS= "S"
  1952. USE CHKARC INDEX CKARSQ
  1953. ELSE
  1954. USE CHKARC INDEX CKARNM
  1955. ENDIF
  1956. DELETE FOR YEAR(DATE) <> RTYV
  1957. IF DVCE >0
  1958. DELETE FOR MONTH(DATE) <> DVCE
  1959. ENDIF
  1960. IF PRT = "P"
  1961. SET PRINT ON
  1962. @10,10 SAY " PRINTING"
  1963. SET CONSOLE OFF
  1964. LIST
  1965. SET CONSOLE ON
  1966. ELSE
  1967. DISPLAY OFF ALL ACCT_CODE,PAY_TO,AMOUNT,DATE,SEQ_NO
  1968. ENDIF
  1969. SET DELETED OFF
  1970. RECALL ALL
  1971. SET DELETED ON
  1972. USE DEPARC
  1973. DELETE FOR YEAR(DATE) <> RTYV
  1974. IF DVCE >0
  1975. DELETE FOR MONTH(DATE) <> DVCE
  1976. ENDIF
  1977. IF PRT = "P"
  1978. SET PRINT ON
  1979. SET CONSOLE OFF
  1980. LIST
  1981. SET CONSOLE ON
  1982. ELSE
  1983. DISPLAY ALL
  1984. ENDIF
  1985. SET DELETED OFF
  1986. RECALL ALL
  1987. SET DELETED ON
  1988. USE CKTOAR
  1989. DELETE FOR YEAR(DATE) <> RTYV
  1990. IF DVCE >0
  1991. DELETE FOR MONTH(DATE) <> DVCE
  1992. ENDIF
  1993. IF PRT = "P"
  1994. SET PRINT ON
  1995. SET CONSOLE OFF
  1996. LIST
  1997. SET CONSOLE ON
  1998. ELSE
  1999. DISPLAY OFF ALL
  2000. ENDIF
  2001. SET DELETED OFF
  2002. RECALL ALL
  2003. SET DELETED ON
  2004. OTHERWISE
  2005. @23,11 SAY "**** ENTER A NUMBER FROM 1 TO 7. YOU ENTERED { ";
  2006. +CHOICEB+ " } ! ****"
  2007. ENDCASE
  2008. IF PRT= "P"
  2009. CLEAR
  2010. ENDIF
  2011. IF PRT= "S"
  2012. WAIT
  2013. CLEAR
  2014. ENDIF
  2015. ENDDO
  2016. RETURN
  2017. PROCEDURE ACCTEXT
  2018. @6,1 SAY A01
  2019. @7,1 SAY A02
  2020. @8,1 SAY A03
  2021. @9,1 SAY A04
  2022. @10,1 SAY A05
  2023. @11,1 SAY A06
  2024. @12,1 SAY A07
  2025. @13,1 SAY A08
  2026. @14,1 SAY A09
  2027. @15,1 SAY A10
  2028. @16,1 SAY A11
  2029. @17,1 SAY A12
  2030. @20,1 SAY D01
  2031. @21,1 SAY D02
  2032. @23,1 SAY E01
  2033. @24,1 SAY E02
  2034. @6,28 SAY B01
  2035. @7,28 SAY B02
  2036. @8,28 SAY B03
  2037. @9,28 SAY B04
  2038. @10,28 SAY B05
  2039. @11,28 SAY B06
  2040. @12,28 SAY B07
  2041. @13,28 SAY B08
  2042. @14,28 SAY B09
  2043. @15,28 SAY B10
  2044. @16,28 SAY B11
  2045. @17,28 SAY B12
  2046. @18,28 SAY B13
  2047. @19,28 SAY B14
  2048. @22,28 SAY F01
  2049. @23,28 SAY F02
  2050. @6,57 SAY C01
  2051. @7,57 SAY C02
  2052. @8,57 SAY C03
  2053. @9,57 SAY C04
  2054. @10,57 SAY C05
  2055. @11,57 SAY C06
  2056. @12,57 SAY C07
  2057. @13,57 SAY C08
  2058. @14,57 SAY C09
  2059. @15,57 SAY C10
  2060. @16,57 SAY C11
  2061. @17,57 SAY C12
  2062. @18,57 SAY C99
  2063. @20,57 SAY G
  2064. @22,57 SAY H
  2065. @24,57 SAY I
  2066. RETURN
  2067. PROCEDURE TRANACCT
  2068. STORE 0 TO CTP,CTN,CTR
  2069. STORE 0.00 TO ATS,BTS,CTS,DTS,AC,BC,DC,EC,FC,GC,HC,CC,;
  2070. REXCT,REXCA,REXCF,B03ST,REXDT,REXDF,REXDA,REXA
  2071. IF UPPER(MESG) <> "Y"
  2072. CLEAR
  2073. @1,1 TO 23,78
  2074. @3,20 SAY "THIS SCREEN WILL ALLOW YOU"
  2075. @4,20 SAY "TO TRANSFER FUNDS BETEEN ACCOUNTS."
  2076. @6,20 SAY "ENTER ADDITIONS TO AN ACCOUNT"
  2077. @7,20 SAY "IN THE { + } OR { ADD } COLUMN."
  2078. @9,20 SAY "ENTER SUBTRACTIONS FROM AN ACCOUNT"
  2079. @10,20 SAY "IN THE { - } OR { SUBTRACT } COLUMN."
  2080. @12,20 SAY "THE SUM OF ADDITIONS AND SUBTRACTIONS"
  2081. @13,20 SAY "MUST BE EQUAL TO EACH OTHER !!!!!"
  2082. @15,20 SAY "UPON LEAVING THE TRANSFER SCREEN,"
  2083. @16,20 SAY "AN ERROR CHECK WILL BE MADE."
  2084. @17,20 SAY "IF THE SUMS ARE NOT EQUAL, YOU WILL "
  2085. @18,20 SAY "BE RETURNED TO CORRECT THEM !!!!"
  2086. @20,20 SAY "TO MOVE TO NEXT ENTRY, PRESS { DOWN ARROW }."
  2087. @21,20 SAY "WHEN FINISHED, PRESS { CTRL-END }."
  2088. WAIT
  2089. ENDIF
  2090. DO WHILE .T.
  2091. CLEAR
  2092. @3,5 SAY "ACCOUNT"
  2093. @3,27 SAY "AMOUNT"
  2094. @3,45 SAY "{ + } ADD"
  2095. @3,60 SAY "{ - } SUBTRACT"
  2096. @6,0 SAY A
  2097. @6,24 SAY "$ "+STR(ACCTA,7,2)
  2098. @6,37 SAY "$ {+}" GET AC
  2099. @6,58 SAY "$ {-}" GET REXCT
  2100. @8,0 SAY B
  2101. @8,24 SAY "$ "+STR(ACCTB,7,2)
  2102. @8,37 SAY "$ {+}" GET BC
  2103. @8,58 SAY "$ {-}" GET REXCA
  2104. @10,0 SAY C
  2105. @10,24 SAY "$ "+STR(ACCTC,7,2)
  2106. @10,37 SAY "$ {+}" GET CC
  2107. @10,58 SAY "$ {-}" GET REXCF
  2108. @12,0 SAY D
  2109. @12,24 SAY "$ "+STR(ACCTD,7,2)
  2110. @12,37 SAY "$ {+}" GET DC
  2111. @12,58 SAY "$ {-}" GET B03ST
  2112. @14,0 SAY E
  2113. @14,24 SAY "$ "+STR(ACCTE,7,2)
  2114. @14,37 SAY "$ {+}" GET EC
  2115. @14,58 SAY "$ {-}" GET REXDT
  2116. @16,0 SAY F
  2117. @16,24 SAY "$ "+STR(ACCTF,7,2)
  2118. @16,37 SAY "$ {+}" GET FC
  2119. @16,58 SAY "$ {-}" GET REXDF
  2120. @18,0 SAY G
  2121. @18,24 SAY "$ "+STR(ACCTG,7,2)
  2122. @18,37 SAY "$ {+}" GET GC
  2123. @18,58 SAY "$ {-}" GET REXDA
  2124. @20,0 SAY H
  2125. @20,24 SAY "$ "+STR(ACCTH,7,2)
  2126. @20,37 SAY "$ {+}" GET HC
  2127. @20,58 SAY "$ {-}" GET REXA
  2128. READ
  2129. CLEAR
  2130. @10,10 SAY "UPDATING ACCOUNTS ---------------------"
  2131. CTP=AC+BC+CC+DC+EC+FC+GC+HC
  2132. CTN=REXCT+REXCA+REXCF+B03ST+REXDT+REXDF+REXDA+REXA
  2133. CTR=CTP-CTN
  2134. IF CTR=0
  2135. ACTAB=ACCTA+AC-REXCT
  2136. ACTBB=ACCTB+BC-REXCA
  2137. ACTCB=ACCTC+CC-REXCF
  2138. ACTDB=ACCTD+DC-B03ST
  2139. ACTEB=ACCTE+EC-REXDT
  2140. ACTFB=ACCTF+FC-REXDF
  2141. ACTGB=ACCTG+GC-REXDA
  2142. ACTHB=ACCTH+HC-REXA
  2143. ACB=ACTAB+ACTBB
  2144. BCB=ACTCB+ACTDB
  2145. CCB=ACTEB+ACTFB
  2146. DCB=ACTGB+ACTHB
  2147. ECB=ACB+BCB+CCB+DCB
  2148. IF GRAND_TOTL+BANK2V-ECB <> 0
  2149. SET COLOR TO W/R,W/R,W
  2150. CLEAR
  2151. @10,27 SAY "  ERROR !!!!!!!!!!!!!!"
  2152. @12,27 SAY "THE SUM OF THE INDIVIDUAL"
  2153. @13,27 SAY "  ACCOUNTS { DOES NOT }"
  2154. @14,27 SAY "  EQUAL THE GRAND TOTAL."
  2155. WAIT
  2156. IF ISCOLOR()
  2157. SET COLOR TO W/B,W/R,BG
  2158. ELSE
  2159. SET COLOR TO
  2160. ENDIF
  2161. DO PRTMENU
  2162. ENDIF
  2163. IF DC<>0 .OR. B03ST<>0
  2164. USE KIMACT
  2165. APPEND BLANK
  2166. REPLACE DATE WITH MDATE
  2167. REPLACE BALANCE WITH ACCTD
  2168. IF B03ST<>0
  2169. REPLACE AMOUNT WITH B03ST
  2170. REPLACE PAY_TO WITH "TRANSFER"
  2171. ELSE
  2172. REPLACE AMOUNT WITH DC
  2173. REPLACE DEP WITH "TRN"
  2174. ENDIF
  2175. ENDIF
  2176. IF CC<>0 .OR. REXCF<>0
  2177. USE ACCTC INDEX ACCTC
  2178. APPEND BLANK
  2179. REPLACE DATE WITH MDATE
  2180. IF REXCF<>0
  2181. REPLACE AMOUNT WITH REXCF
  2182. REPLACE DESCRPT WITH "TRANSFER OUT"
  2183. REPLACE ACCT_CODE WITH "TRO"
  2184. CGEXP=CGEXP+REXCF
  2185. ELSE
  2186. REPLACE AMOUNT WITH CC
  2187. REPLACE ACCT_CODE WITH "TRI"
  2188. REPLACE DESCRPT WITH "TRANSFER IN"
  2189. CGIN=CGIN+CC
  2190. ENDIF
  2191. CNOT=CGIN-CGEXP
  2192. ENDIF
  2193. DO CHEXSTAT
  2194. ENDIF
  2195. SET COLOR TO W/R,W/R,W
  2196. CLEAR
  2197. @10,27 SAY "  ERROR !!!!!!!!!!!!"
  2198. @12,27 SAY "THE TOTAL OF ADDITIONS"
  2199. @13,27 SAY "  DOES  { NOT } EQUAL"
  2200. @14,27 SAY "THE TOTAL OF SUBTRACTIONS."
  2201. IF CTR <0
  2202. @16,27 SAY "THE SUBTRACTION COLUMN IS LARGER"
  2203. ELSE
  2204. @16,27 SAY "THE ADDITION COLUMN IS LARGER"
  2205. ENDIF
  2206. @18,27 SAY "CHECK ENTRIES AND CORRECT !!!!"
  2207. WAIT
  2208. IF ISCOLOR()
  2209. SET COLOR TO W/B,W/R,BG
  2210. ELSE
  2211. SET COLOR TO
  2212. ENDIF
  2213. LOOP
  2214. ENDDO
  2215. RETURN
  2216. PROCEDURE CHKSRCH
  2217. CLOSE DATABASE
  2218. GC= " "
  2219. HC= " "
  2220. CLEAR
  2221. @6,15 SAY "DO YOU WISH TO SEARCH ON A CHECK OR A DEPOSIT ??"
  2222. @10,15 SAY "              TYPE { C } FOR CHECK"
  2223. @12,15 SAY "                       OR"
  2224. @14,15 SAY "             TYPE { D } FOR DEPOSIT"
  2225. SRCH= " "
  2226. DO WHILE .NOT. (UPPER(SRCH) $ 'CD')
  2227. WAIT " " TO SRCH
  2228. ENDDO
  2229. IF UPPER(SRCH)= "C"
  2230. CLEAR
  2231. CTR=0
  2232. REXA= "                              "
  2233. AC= "  "
  2234. BC= "    "
  2235. @10,17 SAY "ENTER CHECK { PAY_TO }" GET REXA
  2236. @12,17 SAY "ENTER DATE ------- MONTH " GET AC
  2237. @12,47 SAY "YEAR " GET BC
  2238. @14,17 SAY "LEAVE MONTH BLANK TO SEARCH FULL YEAR !"
  2239. READ
  2240. CC=VAL("&AC")
  2241. REXA=RTRIM(REXA)
  2242. REXA=UPPER(REXA)
  2243. DC=VAL("&BC")
  2244. LP=0
  2245. DO WHILE .T.
  2246. DO CASE
  2247. CASE MYEAR-DC=0
  2248. IF LP=0
  2249. CLEAR
  2250. @10,10 SAY "SEARCHING CHECK REGISTER -------------------"
  2251. USE CHEXREG INDEX CHEXPT
  2252. CTR=2
  2253. ELSE
  2254. CLEAR
  2255. @10,10 SAY "SEARCHING BACKUP CHECK REGISTER -------------"
  2256. USE CHKBKUP INDEX CHBKPT
  2257. CTR=1
  2258. DELETE FOR YEAR(DATE) <> DC
  2259. ENDIF
  2260. CASE MYEAR-DC=1
  2261. IF LP=0
  2262. USE CHKBKUP INDEX CHBKPT
  2263. CTR=1
  2264. CLEAR
  2265. @10,10 SAY "SEARCHING BACKUP CHECK REGISTER -------------"
  2266. DELETE FOR YEAR(DATE) <> DC
  2267. ELSE
  2268. USE CHKARC INDEX CHARPT
  2269. CTR=3
  2270. CLEAR
  2271. @10,10 SAY "SEARCHING CHECK ARCHIVE REGISTER --------------"
  2272. DELETE FOR YEAR(DATE) <> DC
  2273. ENDIF
  2274. CASE MYEAR-DC>1
  2275. USE CHKARC INDEX CHARPT
  2276. CTR=3
  2277. @10,10 SAY "SEARCHING CHECK ARCHIVE REGISTER ---------------"
  2278. DELETE FOR YEAR(DATE) <>DC
  2279. ENDCASE
  2280. IF CC >0
  2281. DELETE FOR MONTH(DATE) <> CC
  2282. ENDIF
  2283. GO TOP
  2284. DO WHILE .T.
  2285. SEEK "ZZZZ"
  2286. IF EOF()
  2287. EXIT
  2288. ENDIF
  2289. CLEAR
  2290. @5,10 SAY "PAY TO      " GET PAY_TO
  2291. @6,10 SAY "AMOUNT      " GET AMOUNT
  2292. @7,10 SAY "DATE        " GET DATE
  2293. @8,10 SAY "NOTE        " GET NOTE
  2294. @9,10 SAY "ACCT. CODE  " GET ACCT_CODE
  2295. @10,10 SAY "SEQ. NO.    " GET SEQ_NO
  2296. @12,10 SAY "IS THIS THE RECORD THAT YOU WANT ???"
  2297. DO CASE
  2298. CASE CTR=1
  2299. @14,10 SAY "THIS CHECK HAS { CLEARED } THE BANK."
  2300. CASE CTR=2
  2301. @14,10 SAY "THIS CHECK HAS { *NOT* CLEARED } THE BANK."
  2302. CASE CTR=3
  2303. @14,10 SAY "THIS CHECK IS IN THE { ARCHIVE } FILE."
  2304. ENDCASE
  2305. FC= " "
  2306. DO WHILE .NOT. (UPPER(FC) $ 'YN')
  2307. WAIT "TYPE { Y/N }" TO FC
  2308. ENDDO
  2309. IF UPPER(FC)= "Y"
  2310. CLEAR
  2311. @10,10 SAY "DO YOU WISH TO SEARCH FOR ANOTHER CHECK OR DEPOSIT ???"
  2312. DO WHILE .NOT. (UPPER(GC) $ 'YN')
  2313. WAIT "TYPE { Y/N }" TO GC
  2314. ENDDO
  2315. SET DELETED OFF
  2316. RECALL ALL
  2317. SET DELETED ON
  2318. IF UPPER(GC)= "Y"
  2319. DO CHKSRCH
  2320. ENDIF
  2321. DO PRTMENU
  2322. ENDIF
  2323. DELETE
  2324. LOOP
  2325. ENDDO
  2326. SET DELETED OFF
  2327. RECALL ALL
  2328. SET DELETED ON
  2329. IF MYEAR-DC <=1 .AND. LP=0
  2330. LP=1
  2331. LOOP
  2332. ENDIF
  2333. CLEAR
  2334. @10,10 SAY "SPECIFIED CHECK WAS NOT FOUND"
  2335. @12,10 SAY "DO YOU WISH TO ENTER ANOTHER CHECK OR DEPOSIT SEARCH ??"
  2336. DO WHILE .NOT. (UPPER(HC) $ 'YN')
  2337. WAIT "TYPE { Y/N }" TO HC
  2338. ENDDO
  2339. IF UPPER(HC) = "Y"
  2340. DO CHKSRCH
  2341. ENDIF
  2342. DO PRTMENU
  2343. ENDDO
  2344. ELSE
  2345. CLEAR
  2346. REXA=0.00
  2347. AC= "  "
  2348. BC= "    "
  2349. @10,17 SAY "ENTER DEPOSIT { AMOUNT } " GET REXA
  2350. @12,17 SAY "ENTER DATE ------- MONTH " GET AC
  2351. @12,47 SAY "YEAR " GET BC
  2352. @14,17 SAY "LEAVE MONTH BLANK TO SEARCH FULL YEAR !"
  2353. READ
  2354. CC=VAL("&AC")
  2355. DC=VAL("&BC")
  2356. LP=0
  2357. DO WHILE .T.
  2358. DO CASE
  2359. CASE MYEAR-DC=0
  2360. IF LP=0
  2361. CLEAR
  2362. @10,10 SAY "SEARCHING DEPOSIT REGISTER -------------------"
  2363. USE DEPREG INDEX DEPAMT
  2364. CTR=2
  2365. ELSE
  2366. CLEAR
  2367. @10,10 SAY "SEARCHING BACKUP DEPOSIT REGISTER -------------"
  2368. USE DEPBKUP INDEX DBKAMT
  2369. CTR=1
  2370. DELETE FOR YEAR(DATE) <> DC
  2371. ENDIF
  2372. CASE MYEAR-DC=1
  2373. IF LP=0
  2374. USE DEPBKUP INDEX DBKAMT
  2375. CTR=1
  2376. CLEAR
  2377. @10,10 SAY "SEARCHING BACKUP DEPOSIT REGISTER -------------"
  2378. DELETE FOR YEAR(DATE) <> DC
  2379. ELSE
  2380. USE DEPARC INDEX DARAMT
  2381. CTR=3
  2382. CLEAR
  2383. @10,10 SAY "SEARCHING DEPOSIT ARCHIVE REGISTER --------------"
  2384. DELETE FOR YEAR(DATE) <> DC
  2385. ENDIF
  2386. CASE MYEAR-DC>1
  2387. USE DEPARC INDEX DARAMT
  2388. CTR=3
  2389. @10,10 SAY "SEARCHING DEPOSIT ARCHIVE REGISTER ---------------"
  2390. DELETE FOR YEAR(DATE) <>DC
  2391. ENDCASE
  2392. IF CC<>0
  2393. DELETE FOR MONTH(DATE) <> CC
  2394. ENDIF
  2395. GO TOP
  2396. DO WHILE .T.
  2397. SEEK 0
  2398. IF EOF()
  2399. EXIT
  2400. ENDIF
  2401. CLEAR
  2402. @5,15 SAY "AMOUNT  " GET AMOUNT
  2403. @7,15 SAY "DATE    " GET DATE
  2404. @10,15 SAY "IS THIS THE RECORD THAT YOU WANT ???"
  2405. DO CASE
  2406. CASE CTR=1
  2407. @12,10 SAY "THIS DEPOSIT HAS { CLEARED } THE BANK."
  2408. CASE CTR=2
  2409. @12,10 SAY "THIS DEPOSIT HAS { *NOT* CLEARED } THE BANK."
  2410. CASE CTR=3
  2411. @12,10 SAY "THIS DEPOSIT IS IN THE ARCHIVE FILE."
  2412. ENDCASE
  2413. FC= " "
  2414. DO WHILE .NOT. (UPPER(FC) $ 'YN')
  2415. WAIT "TYPE { Y/N }" TO FC
  2416. ENDDO
  2417. IF UPPER(FC)= "Y"
  2418. CLEAR
  2419. @10,10 SAY "DO YOU WISH TO SEARCH FOR ANOTHER DEPOSIT OR CHECK ???"
  2420. DO WHILE .NOT. (UPPER(GC) $ 'YN')
  2421. WAIT "TYPE { Y/N }" TO GC
  2422. ENDDO
  2423. SET DELETED OFF
  2424. RECALL ALL
  2425. SET DELETED ON
  2426. IF UPPER(GC)= "Y"
  2427. DO CHKSRCH
  2428. ENDIF
  2429. DO PRTMENU
  2430. ENDIF
  2431. DELETE
  2432. LOOP
  2433. ENDDO
  2434. SET DELETED OFF
  2435. RECALL ALL
  2436. SET DELETED ON
  2437. IF MYEAR-DC <=1 .AND. LP=0
  2438. LP=1
  2439. LOOP
  2440. ENDIF
  2441. CLEAR
  2442. @10,10 SAY "SPECIFIED DEPOSIT WAS NOT FOUND"
  2443. @12,10 SAY "DO YOU WISH TO ENTER ANOTHER DEPOSIT OR CHECK SEARCH ???"
  2444. DO WHILE .NOT. (UPPER(HC) $ 'YN')
  2445. WAIT "TYPE { Y/N }" TO HC
  2446. ENDDO
  2447. IF UPPER(HC) = "Y"
  2448. DO CHKSRCH
  2449. ENDIF
  2450. DO PRTMENU
  2451. ENDDO
  2452. ENDIF
  2453. RETURN
  2454.  
  2455.