home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / sigm / vol155 / xprntck.cmd < prev    next >
Encoding:
Text File  |  1984-04-29  |  6.9 KB  |  248 lines

  1. *
  2. *            Atlanta Data Base Users Society Bank Account System
  3. *                  Print Checks Command File
  4. *
  5. *               Program Name    : XPRNTCK.CMD
  6. *              Author        : Keith R. Plossl
  7. *            Date Written    : August 1982
  8. *
  9. *
  10. * -----------------------------------------------------------------------------
  11. *       P U B L I C   D O M A I N   S O F T W A R E   N O T I C E
  12. *
  13. *   This program has been placed in the public domain by Keith R. Plossl
  14. *   for the Atlanta Data Base Users Society, Inc. Atlanta, Georgia
  15. *   and may be copied, modified or used NON-COMMERCIALLY provided this
  16. *   notice, the title block and modification history have not been 
  17. *   removed.  The COMMERCIAL sale or use of this program for profit 
  18. *   is strictly prohibited.  KRP 7/15/83
  19. *   
  20. * -----------------------------------------------------------------------------
  21. *                Modification History
  22. *
  23. *    2/1/83        Added decimal check numbers           Keith R. Plossl
  24. *            to data file & programs.
  25. *
  26. *         2/14/83     Modified to total and print the amount,   Keith R. Plossl
  27. *            the sales tax and interest if purpose
  28. *            code sorted data is printed.
  29. *
  30. *       5/27/83     Modified print routine to skip deposits   Keith R. Plossl
  31. *            before checking if printed.
  32. *
  33. *    7/15/83        Set to Public Domain with Atlanta    Keith R. Plossl
  34. *            Data Base Users Society.
  35. *
  36. * -----------------------------------------------------------------------------
  37. ERASE
  38. SET TALK OFF
  39. SET INTENSITY OFF
  40. SET DEFAULT TO &F:DSK
  41. STORE 0.00    TO TOT:CK
  42. STORE 0.00    TO TOT:TX
  43. STORE 0.00    TO TOT:IN
  44. STORE '     '    TO VBLNKS
  45. STORE VBLNKS + VBLNKS        TO XBLNKS
  46. STORE '                    '    TO XXBLNKS
  47. STORE T    TO TRUE
  48. @ 2,15  SAY 'Atlanta Data Base Users Society Banking System'
  49. @ 3,25  SAY '   Report Subsystem Menu Program'
  50. @ 5,30  SAY ' MENU'
  51. @ 7,20  SAY ' 0 = EXIT to Main Menu'
  52. @ 8,20  SAY ' 1 = Print All Checks in Numerical Order'
  53. @ 9,20  SAY ' 2 = Print Checks not Printed Previously'
  54. @ 10,20 SAY ' 3 = Print All Deposits in Date Order'
  55. @ 11,20 SAY ' 4 = Print Deposits not Printed Previously'
  56. @ 12,20 SAY ' 5 = Print Checks Sorted by Written to:'
  57. @ 13,20 SAY ' 6 = Print Checks Sorted by Memo:'
  58. @ 14,20 SAY ' 7 = Print Checks Sorted by Purpose Code'
  59. @ 15,20 SAY ' 8 = Print Checks Sorted by Date'
  60. @ 16,20 SAY ' 9 = Print Checks in Special Sequence'
  61. @ 17,0  SAY ' Files MUST have been Indexed to Print - If not Indexed Select 0'
  62. WAIT TO SELECT
  63.  
  64.     IF SELECT = '1'
  65.         USE &DBF INDEX CKNUM
  66.         STORE T TO PRINTIT
  67.         STORE F TO CHECKIT
  68.     ENDIF
  69.     IF SELECT = '2'
  70.         USE &DBF INDEX CKNUM
  71.         STORE T TO PRINTIT
  72.         STORE T TO CHECKIT
  73.     ENDIF
  74.     IF SELECT = '3'
  75.         USE &DBF INDEX CKDATE
  76.         STORE T TO PRINTIT
  77.         STORE F TO CHECKIT
  78.     ENDIF
  79.     IF SELECT = '4'
  80.         USE &DBF INDEX CKDATE
  81.         STORE T TO PRINTIT
  82.         STORE T TO CHECKIT
  83.     ENDIF
  84.     IF SELECT = '5'
  85.         USE &DBF INDEX CKTO
  86.         STORE T TO PRINTIT
  87.         STORE F TO CHECKIT
  88.     ENDIF
  89.     IF SELECT = '6'
  90.         USE &DBF INDEX CKMEMO
  91.         STORE T TO PRINTIT
  92.         STORE F TO CHECKIT
  93.     ENDIF
  94.     IF SELECT = '7'
  95.         USE &DBF INDEX PURPOSE
  96.         STORE T TO PRINTIT
  97.         STORE F TO CHECKIT
  98.     ENDIF
  99.     IF SELECT = '8'
  100.         USE &DBF INDEX CKDATE
  101.         STORE T TO PRINTIT
  102.         STORE F TO CHECKIT
  103.     ENDIF
  104.     IF SELECT = '9'
  105.         @ 18,10 SAY 'Name of Index File to Use'
  106.         WAIT TO FILENAME
  107.         USE &DBF INDEX &FILENAME
  108.         STORE T TO PRINTIT
  109.         STORE F TO CHECKIT
  110.     ENDIF
  111.     IF SELECT = '0'
  112.         STORE F TO PRINTIT
  113.     ENDIF
  114.  
  115. IF PRINTIT
  116. SET PRINT ON
  117. STORE 0 TO PAGE
  118. GO TOP
  119. IF SELECT = '7'
  120.     STORE PURPOSE        TO PREV:PURP
  121. ENDIF
  122. DO WHILE .NOT. EOF
  123.     EJECT
  124.     STORE PAGE + 1    TO PAGE
  125.     ? CHR(18) + CHR(27) + CHR(70) + CHR(27) + CHR(72)
  126.     ? CHR(14) + ' Data Base Users Society Banking System'
  127.     ? CHR(14) + '---------------------------------------'
  128.     ? CHR(14) + '   Banking Deposit & Check Report'
  129.     ? CHR(14) + '---------------------------------------'
  130.     ? CHR(14) + 'Page ' + STR(PAGE,3,0) + '                  ' + 'Date ' + Date()
  131.     IF SELECT = '3' .OR. SELECT = '4'
  132.     ?
  133.     ? XXBLNKS + '  DATE OF DEPOSIT   ' + ' AMOUNT OF DEPOSIT '
  134.     ?
  135.     ELSE 
  136.     ?
  137. ? CHR(15) + "NUMBER   " + "  DATE      " + "     PAY TO ORDER OF           " + "    AMOUNT    " + "        MEMO             " + "PURPOSE       INTEREST       SALES TAX"
  138.     ?
  139.     ENDIF
  140.     STORE 1 TO INDEX
  141.  
  142.     DO WHILE INDEX < 51
  143. * ----------------------------------------------------------------------------
  144. *         Select Checks or Deposit Records Only
  145. * ----------------------------------------------------------------------------
  146.         IF SELECT = '3' .OR. SELECT = '4'
  147.             DO WHILE NUMBER <> 0.0 .AND. .NOT. EOF
  148.                 SKIP
  149.             ENDDO
  150.         ELSE
  151.             DO WHILE NUMBER = 0.0 .AND. .NOT. EOF
  152.                 SKIP
  153.             ENDDO
  154.         ENDIF
  155. * ----------------------------------------------------------------------------
  156. *        Check for Data Already Printed
  157. * ----------------------------------------------------------------------------
  158.         IF CHECKIT
  159.             STORE T    TO CHKD
  160.             DO WHILE CHKD
  161.                 STORE PRINTED TO CHKD
  162.                 IF CHKD
  163.                     SKIP
  164.                 ENDIF
  165.             ENDDO
  166.         ENDIF
  167. * ----------------------------------------------------------------------------
  168. *        Store The Data for Printing
  169. * ----------------------------------------------------------------------------
  170.         
  171.         STORE NUMBER    TO CH:NO
  172.         STORE TO    TO CH:TO
  173.         STORE AMOUNT    TO M:AMT
  174.         STORE DATE    TO CH:DAT
  175.         STORE MEMO    TO CH:MEMO
  176.         STORE PURPOSE    TO PURP
  177.         STORE STR(INTEREST,5,2)        TO INT
  178.         STORE STR(SLSTAX,5,2)            TO S:TAX
  179.         STORE '  ' + PURP + '           ' + INT + '           ' + S:TAX TO S:ACCT
  180.         IF SELECT = '7'
  181.             IF PURP = PREV:PURP
  182.                 STORE M:AMT + TOT:CK    TO TOT:CK
  183.                 STORE SLSTAX + TOT:TX    TO TOT:TX
  184.                 STORE INTEREST + TOT:IN TO TOT:IN
  185.             ELSE
  186. *                      ----------------------------------------------
  187. *                      |               PRINT SUMMARY DATA           |
  188. *                      ----------------------------------------------
  189.                 ?
  190.                 ? 'Total Checks = $' + STR(TOT:CK,10,2);
  191.                 + XBLNKS + '  Total Interest = $' + STR(TOT:IN,10,2);
  192.                 + XBLNKS + '  Total Sales Tax = $' + STR(TOT:TX,10,2)
  193.                 ?
  194.                 STORE INDEX + 3        TO INDEX
  195.                 STORE M:AMT        TO TOT:CK
  196.                 STORE SLSTAX        TO TOT:TX
  197.                 STORE INTEREST        TO TOT:IN
  198.                 STORE PURP        TO PREV:PURP
  199.  
  200.             ENDIF
  201.         ENDIF
  202. * ----------------------------------------------------------------------------
  203. *             Print Deposit Data
  204. * ----------------------------------------------------------------------------
  205.  
  206.         IF SELECT = '3' .OR. SELECT = '4'
  207.         ? XXBLNKS + VBLNKS + CH:DAT + VBLNKS + VBLNKS + STR(M:AMT,10,2) 
  208.         STORE INDEX + 1    TO INDEX
  209.         REPLACE PRINTED    WITH TRUE
  210.         SKIP
  211.             IF EOF
  212.                 STORE 51    TO INDEX
  213.                 STORE F        TO PRINTIT
  214.             ENDIF
  215.         ELSE 
  216.  
  217. * ----------------------------------------------------------------------------
  218. *             Print Check Data
  219. * ----------------------------------------------------------------------------
  220.  
  221. ? STR(CH:NO,7,1) + '    ' + CH:DAT + '    ' + CH:TO + STR(M:AMT,10,2) + VBLNKS + CH:MEMO + VBLNKS + S:ACCT
  222.         STORE INDEX + 1    TO INDEX
  223.         REPLACE PRINTED WITH TRUE
  224.         SKIP
  225.             IF EOF
  226.                 STORE 51    TO INDEX
  227.                 STORE F        TO PRINTIT
  228.             ENDIF
  229.         ENDIF
  230.     ENDDO
  231. ENDDO
  232. USE &DBF
  233. GO BOTTOM
  234. ?
  235. ? 'Number of Total Check & Deposit Records on File ' + STR(#,5)
  236. ?
  237. EJECT
  238. ENDIF
  239. RELEASE ALL
  240. SET PRINT OFF
  241. SET CONSOLE ON
  242. ERASE
  243. SET TALK ON
  244. RETURN
  245. *
  246. *      --------- END OF BANKING SYSTEM REPORT SUBSYSTEM ---------
  247. *
  248.