home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / cpmug / cpmug043.ark / A_R020.BAS < prev    next >
BASIC Source File  |  1984-04-29  |  4KB  |  149 lines

  1.  
  2.     REMARK    #########################################################
  3.     REMARK    #    ACCOUNTS RECEIVABLE TRANSACTION PRINT  (A/R020)    #
  4.     REMARK    #        VERS. OF 12.30 PM    3/4/79        #
  5.     REMARK    #########################################################
  6.  
  7.     DIM A(6),G(7,9),L4(2),D$(2),D(20),G2$(5),G3(5)
  8. %INCLUDE CURSOR
  9.     GOTO 6000
  10. %INCLUDE A/R-INFO
  11. %INCLUDE SUBS1
  12. %INCLUDE GENINFO
  13. %INCLUDE A/R-INV
  14.     DATA "NEW","INV BILLING","INV PAYMENT","PROG PAYMENT","DELETE"
  15.     DATA"MODIFY"
  16.  
  17.  
  18.  
  19. 825    IF LINE.COUNT%<55 AND PAGE.COUNT%>0 THEN RETURN            REMARK    LINE PRINTER ROUTINE
  20.     PAGE.COUNT%=PAGE.COUNT%+1
  21.     PRINT CHR$(12);TAB((A1-LEN(G2$(1)))/2);G2$(1);TAB(A1);"DATE ";
  22.     X0=G3(1):GOSUB 680.5
  23.     PRINT 
  24.     PRINT TAB((A1-LEN(X4$))/2);X4$;TAB(A1);"PAGE";PAGE.COUNT%
  25.     PRINT 
  26.     IF LINE.COUNT%<>100 THEN PRINT "R#   CUST   INV # CUST ORDER #";:\
  27.     PRINT"    JOB DSCRPT  BILLED  TAX";
  28.     PRINT TAB(59);"INV AMT";TAB(72);"SHIP";TAB(81);"TAXES   INV PAY";
  29.     PRINT"  PROG DATE PROG BILL  PROG PAY T O"
  30.     PRINT
  31.     LINE.COUNT%=6
  32.     RETURN 
  33.  
  34.  
  35.                                     REMARK    START OF MAIN PROGRAM
  36. 6000    MASKA$=" ######"
  37.     MASKB$="  #####.#"
  38.     MASKC$="#######.##"
  39.     MASKD$=" #"
  40.     MASKE$="###"
  41.     OPEN "A/R0F130.DAT" AS 1
  42.     FILE.NO=1: GOSUB 3.14                        REMARK    RETREIVE A/R EXTENT INFORMATION
  43.     OPEN "G/I0F010.DAT" AS 2
  44.     Y9=2:GOSUB 700                            REMARK    RETRIEVE GENERAL INFORMATION FILE DATA
  45.     OPEN "A/R0F020.DAT" RECL 226 AS 5                REMARK    OPEN A/R TRANSACTION FILE
  46.     IF AR.TRANFILE.EXTENT=0 THEN \
  47.         PRINT CLEAR.SCREEN$;:\
  48.         X2$="NO TRANSACTIONS ON FILE":\
  49.         GOSUB 615:\
  50.         GOTO 6240
  51. 6010    FOR I%=1 TO 6                            REMARK    ZERO TOTALS
  52.     A(I%)=0
  53.     NEXT I%
  54.     FOR I%=1 TO 7
  55.     FOR J%=1 TO 9
  56.     G(I%,J%)=0
  57.     NEXT J%,I%
  58.     CONSOLE
  59.     PRINT CLEAR.SCREEN$;"A/R TRANSACTION PRINT"
  60.     PRINT:PRINT:PRINT:PRINT"START RECORD NUMBER"
  61.     PRINT"END RECORD NUMBER"
  62.     PAGE.COUNT%=0:LINE.COUNT%=0
  63. 6020    X1=281:X2=3:X3=0:X4=AR.TRANFILE.EXTENT:GOSUB 345        REMARK    ENTER START RECORD NO.
  64.     IF X0=0 THEN 6240
  65.     F0=X0
  66.     F1=X0-1
  67.     X1=345:X2=3:X3=F0:X4=999:GOSUB 345                REMARK    ENTER END RECORD NO.
  68.     F=X0
  69.     IF F>AR.TRANFILE.EXTENT THEN F=AR.TRANFILE.EXTENT
  70.     X2=1:X3=0:X4=1:X2$="ENTRY CORRECT?":GOSUB 665            REMARK    VERIFY ENTRY
  71.     IF X0=0 THEN 6020
  72.     LPRINTER
  73.  
  74.  
  75.     FOR F1%=F0 TO F                            REMARK    START MAIN PRINT LOOP
  76.     FILE.NO=5:REC.NO%=F1%:GOSUB 3400                REMARK    RETRIEVE NEXT TRANSACTION
  77.     C2=C2-INT(C2/10)*10                        REMARK    STRIP TENS DIGIT (IF ANY) OFF THE OPERATION CODE
  78.     A(C2)=A(C2)+1
  79.     X4$="A/R TRANSACTIONS":A1=115:GOSUB 825
  80.     FOR I%=1 TO 9
  81.     G(C2,I%)=G(C2,I%)+D(I%)                        REMARK    ACCUMULATE TOTALS
  82.     NEXT I%
  83.                                     REMARK    PRINT TRANSACTION
  84.     PRINT USING MASKE$;F1%;
  85.     PRINT TAB(5);W1$;TAB(11);
  86.     PRINT USING MASKA$;L1;
  87.     PRINT TAB(19);L1$;TAB(31);
  88.     PRINT USING MASKA$;L2;
  89.     PRINT TAB(39);L2$;TAB(46);
  90.     IF L4(1)<>0 THEN X0=L4(1):GOSUB 680.5
  91.     PRINT TAB(54);
  92.     PRINT USING MASKD$;L6;
  93.     FOR I%=1TO 3
  94.     PRINT USING MASKC$;D(I%);
  95.     NEXT I%
  96.     PRINT USING MASKC$;D(5);
  97.     IF D(12)<>0 THEN PRINT "CM"
  98.     PRINT TAB(99);
  99.     IF L4(2)<>0 THEN X0=L4(2):GOSUB 680.5
  100.     PRINT TAB(107);
  101.     PRINT USING MASKC$;D(8);D(9);
  102.     PRINT USING MASKD$;B;C2
  103.     LINE.COUNT%=LINE.COUNT%+1
  104.     IF D(13)<>0 THEN \
  105.         PRINT "   G/L # ";:\
  106.         PRINT USING MASKB$;D(13):\
  107.         LINE.COUNT%=LINE.COUNT%+1
  108.     NEXT F1%
  109.  
  110.  
  111.  
  112.     IF F0=F THEN 6010                        REMARK    IF ONLY ONE TRANSACTION, DON'T PRINT TOTALS
  113.     LINE.COUNT%=100                            REMARK    PRINT TOTALS
  114.     X4$="A/R TRANSACTIONS":A1=115:GOSUB 825
  115.     RESTORE 
  116.     FOR I%=1 TO 6
  117.     PRINT
  118.     PRINT USING MASKA$;A(I%);
  119.     READ X0$
  120.     PRINT "  ";X0$;" TRANSACTIONS";TAB(56);
  121.     FOR J%=1 TO 3
  122.     PRINT USING MASKC$;G(I%,J%);
  123.     G(7,J%)=G(7,J%)+G(I%,J%)
  124.     NEXT J%
  125.     PRINT USING MASKC$;G(I%,5);
  126.     G(7,5)=G(7,5)+G(I%,5)
  127.     PRINT TAB(107);
  128.     PRINT USING MASKC$;G(I%,8);G(I%,9)
  129.     G(7,8)=G(7,8)+G(I%,8)
  130.     G(7,9)=G(7,9)+G(I%,9)
  131.     NEXT I%
  132.     PRINT
  133.     PRINT TAB(15);"TOTALS";TAB(56);
  134.     FOR I%=1 TO 3
  135.     PRINT USING MASKC$;G(7,I%);
  136.     NEXT I%
  137.     PRINT USING MASKC$;G(7,5);
  138.     PRINT TAB(107);
  139.     PRINT USING MASKC$;G(7,8);G(7,9)
  140.     PRINT 
  141.     PRINT "START RECORD #",F0
  142.     PRINT "END RECORD #",F
  143.     PRINT "TOTAL IN FILE",AR.TRANFILE.EXTENT    
  144.     GOTO 6010
  145.  
  146.  
  147. 6240    PRINT CLEAR.SCREEN$;"A/R TRANSACTION PRINT LOADING MENU"    REMARK    END PROGRAM AND RELOAD MENU
  148.     CHAIN"A/P000"
  149.