Guest User

Untitled

a guest
Jul 2nd, 2018
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
COBOL 15.57 KB | None | 0 0
  1.  IDENTIFICATION DIVISION.
  2.  
  3.  ENVIRONMENT DIVISION.
  4.  INPUT-OUTPUT SECTION.
  5.  FILE-CONTROL.
  6.         SELECT ACCOUNT-FILE ASSIGN TO SYSIN
  7.             ORGANIZATION IS LINE SEQUENTIAL.
  8.         SELECT PRINT-FILE ASSIGN TO SYSOUT
  9.             ORGANIZATION IS LINE SEQUENTIAL.
  10.  
  11.  DATA DIVISION.
  12.   FILE SECTION.
  13.  
  14.   FD ACCOUNT-FILE.
  15.    01 CREDIT-RECORD.
  16.         05 CR-ACCOUNT-NO                PIC 9(7).
  17.         05 CR-NAME-AND-INITIALS         PIC X(18).
  18.         05 CR-NO-OF-ACCOUNTS            PIC 9.
  19.         05 CR-TRANSACTIONS OCCURS 1 TO 3 TIMES
  20.                 DEPENDING ON CR-NO-OF-ACCOUNTS.
  21.                 10 CR-TYPE              PIC 99.
  22.                 10 CR-BALANCE           PIC 9(4)V99.
  23.                 10 CR-PAYMENT           PIC 9(4)V99.
  24.                 10 CR-PURCHASES         PIC 9(4)V99.
  25.    
  26.   FD PRINT-FILE
  27.         RECORD CONTAINS 132 CHARACTERS.
  28.    01 PRINT-LINE                        PIC X(132).
  29.    
  30.    
  31.    
  32.   WORKING-STORAGE SECTION.
  33.    01 DATA-REMAINS-SWITCH               PIC X(2)        VALUE SPACES.  
  34.    01 PAGE-NUMBER                       PIC 99          VALUE ZEROES.
  35.    01 NUMBER-OF-ACCOUNTS                PIC 9           VALUE ZEROES.
  36.    01 SUBSCRIPT                     PIC 9           VALUE ZEROES.
  37.    
  38.    
  39.    01 HEADING-LINE-1.
  40.     05 FILLER                       PIC X(40)       VALUE SPACES.
  41.     05                              PIC X(21)       VALUE 'ACCOUNT CREDIT REPORT'.
  42.     05 FILLER                       PIC X(30)       VALUE SPACES.
  43.     05                              PIC X(6)        VALUE 'PAGE: '.
  44.     05 HEADING-PAGE-NUMBER          PIC Z9.
  45.    
  46.    01 HEADING-LINE-2.
  47.     05 FILLER                       PIC X(2)        VALUE SPACES.
  48.     05                              PIC X(11)       VALUE 'ACCOUNT #: '.
  49.     05 WS-CR-ACCOUNT-NO             PIC 9(7).
  50.     05 FILLER                       PIC X(4)        VALUE SPACES.
  51.     05                              PIC X(6)        VALUE 'NAME: '.
  52.     05 WS-CR-NAME-AND-INITIALS      PIC X(18).
  53.    
  54.    01 HEADING-LINE-3.
  55.     05                              PIC X(9)        VALUE '  TYPE   '.
  56.     05                              PIC X(37)       VALUE '    PREVIOUS                    '.
  57.     05                              PIC X(12)       VALUE 'INTEREST   '.
  58.     05                              PIC X(11)       VALUE 'CURRENT    '.
  59.     05                              PIC X(11)       VALUE 'CREDIT   '.
  60.     05                              PIC X(9)        VALUE 'AVAILABLE'.
  61.    
  62.    01 HEADING-LINE-4.
  63.     05                              PIC X(24)       VALUE '             BALANCE    '.
  64.     05                              PIC X(9)        VALUE 'PAYMENT  '.
  65.     05                              PIC X(15)       VALUE 'PURCHASES    '.
  66.     05                              PIC X(10)       VALUE 'CHARGE '.
  67.     05                              PIC X(12)       VALUE 'BALANCE     '.
  68.     05                              PIC X(13)       VALUE 'LIMIT      '.
  69.     05                              PIC X(6)        VALUE 'CREDIT'.
  70.        
  71.    01 TRANSACTION-LINE.
  72.     05 FILLER                       PIC X(4)        VALUE SPACES.
  73.     05 PRINT-CR-TYPE                PIC 99.
  74.     05 FILLER                       PIC X(7)        VALUE SPACES.
  75.     05 PRINT-CR-BALANCE             PIC Z,ZZ9.99.
  76.     05 FILLER                       PIC X(2)        VALUE SPACES.
  77.     05 PRINT-CR-PAYMENT             PIC Z,ZZ9.99.
  78.     05 FILLER                       PIC X(3)        VALUE SPACES.
  79.     05 PRINT-CR-PURCHASES           PIC Z,ZZ9.99.
  80.     05 FILLER                       PIC X(6)        VALUE SPACES.
  81.     05 PRINT-INTEREST-CHARGE        PIC ZZ9.99.
  82.     05 FILLER                       PIC X(3)        VALUE SPACES.
  83.     05 PRINT-CURRENT-BALANCE        PIC Z,ZZ9.99CR.
  84.     05 FILLER                       PIC X(2)        VALUE SPACES.
  85.     05 PRINT-CREDIT-LIMIT           PIC Z,ZZ9.99.
  86.     05 FILLER                       PIC X(4)        VALUE SPACES.
  87.     05 PRINT-AVAILABLE-CREDIT       PIC Z,ZZ9.99.
  88.    
  89.    01 ACCOUNT-TOTAL-LINE.
  90.     05 FILLER                       PIC X(2)        VALUE SPACES.
  91.     05                              PIC X(6)        VALUE 'TOTALS'.
  92.     05 FILLER                       PIC X(14)       VALUE SPACES.
  93.     05 PRINT-TOTAL-ACCOUNT-PAYMENT  PIC ZZ,ZZ9.99.
  94.     05 FILLER                       PIC X(2)        VALUE SPACES.
  95.     05 PRINT-TOTAL-ACCOUNT-PURCHASES PIC ZZ,ZZ9.99.
  96.     05 FILLER                       PIC X(4)        VALUE SPACES.
  97.     05 PRINT-TOTAL-ACCOUNT-INTEREST PIC Z,ZZ9.99.
  98.     05 FILLER                       PIC X(2)        VALUE SPACES.
  99.     05 PRINT-TOTAL-CURRENT-BALANCE  PIC ZZ,ZZ9.99CR.
  100.    
  101.    01 WS-TRANSACTION-LINE.
  102.     05 WS-CR-TYPE                   PIC 99.
  103.     05 WS-CR-BALANCE                PIC 9(4)V99.
  104.     05 WS-CR-PAYMENT                PIC 9(4)V99.
  105.     05 WS-CR-PURCHASES              PIC 9(4)V99.
  106.     05 WS-INTEREST-CHARGE           PIC 9(3)V99.
  107.     05 WS-CURRENT-BALANCE           PIC 9(4)V99.
  108.     05 WS-CREDIT-LIMIT              PIC 9(4)V99.
  109.     05 WS-AVAILABLE-CREDIT          PIC 9(4)V99.
  110.    
  111.    01 DASH-LINE.
  112.     05 FILLER                       PIC X(22)       VALUE SPACES.
  113.     05                              PIC X(9)        VALUE '---------'.
  114.     05 FILLER                       PIC X(2)        VALUE SPACES.
  115.     05                              PIC X(9)        VALUE '---------'.
  116.     05 FILLER                       PIC X(2)        VALUE SPACES.
  117.     05                              PIC X(9)        VALUE ' --------'.                     
  118.     05 FILLER                       PIC X(3)        VALUE SPACES.
  119.     05                              PIC X(9)        VALUE '---------'.  
  120.    
  121.    01 ACCOUNT-SUMMARY-DASH-LINE.
  122.     05 FILLER                       PIC X(14)       VALUE SPACES.
  123.     05                              PIC X(9)        VALUE '-------- '.
  124.     05 FILLER                       PIC X(3)        VALUE SPACES.
  125.     05                              PIC X(9)        VALUE '---------'.
  126.     05 FILLER                       PIC X(3)        VALUE SPACES.
  127.     05                              PIC X(9)        VALUE '-------- '.                     
  128.     05 FILLER                       PIC X(2)        VALUE SPACES.
  129.     05                              PIC X(9)        VALUE '---------'.
  130.    
  131.    01 ACCOUNT-SUMMARY-HEADING-1.
  132.     05 FILLER                       PIC X(20)       VALUE SPACES.
  133.     05                              PIC X(20)       VALUE 'ACCOUNT TYPE SUMMARY'.
  134.    
  135.    01 ACCOUNT-SUMMARY-HEADING-2.
  136.     05 FILLER                       PIC X(3)        VALUE SPACES.
  137.     05                              PIC X(4)        VALUE 'TYPE'.
  138.     05 FILLER                       PIC X(31)       VALUE SPACES.
  139.     05                              PIC X(8)        VALUE 'INTEREST'.
  140.     05 FILLER                       PIC X(5)        VALUE SPACES.
  141.     05                              PIC X(7)        VALUE 'CURRENT'.
  142.    
  143.    01 ACCOUNT-SUMMARY-HEADING-3.
  144.     05 FILLER                       PIC X(15)       VALUE SPACES.
  145.     05                              PIC X(7)        VALUE 'PAYMENT'.
  146.     05 FILLER                       PIC X(4)        VALUE SPACES.
  147.     05                              PIC X(9)        VALUE 'PURCHASES'.
  148.     05 FILLER                       PIC X(5)        VALUE SPACES.
  149.     05                              PIC X(6)        VALUE 'CHARGE'.
  150.     05 FILLER                       PIC X(5)        VALUE SPACES.
  151.     05                              PIC X(7)        VALUE 'BALANCE'.
  152.    
  153.    01 ACCOUNT-SUMMARY-DETAIL-LINE.
  154.     05 FILLER                       PIC X(4)        VALUE SPACES.
  155.     05 ACCOUNT-SUMMARY-TYPE         PIC 99.
  156.     05 FILLER                       PIC X(7)        VALUE SPACES.
  157.     05 ACCOUNT-SUMMARY-TOTAL-PAYMENT PIC ZZ,ZZ9.99.
  158.     05 FILLER                       PIC X(4)        VALUE SPACES.
  159.     05 ACCOUNT-SUMMARY-TOTAL-PURCHASE PIC ZZ,ZZ9.99.
  160.     05 FILLER                       PIC X(3)        VALUE SPACES.
  161.     05 ACCOUNT-SUMMARY-TOTAL-INTEREST PIC Z,ZZ9.99.
  162.     05 FILLER                       PIC X(3)        VALUE SPACES.
  163.     05 ACCOUNT-SUMMARY-TOTAL-BALANCE PIC ZZ,ZZ9.99CR.
  164.    
  165.    01 ACCOUNT-SUMMARY-DETAIL-TOTALS.
  166.     05 FILLER                       PIC X(13)       VALUE SPACES.
  167.     05 ACCOUNT-SUMM-TOTAL-PAYMENT PIC ZZ,ZZ9.99.
  168.     05 FILLER                       PIC X(4)        VALUE SPACES.
  169.     05 ACCOUNT-SUMM-TOTAL-PURCHASE PIC ZZ,ZZ9.99.
  170.     05 FILLER                       PIC X(3)        VALUE SPACES.
  171.     05 ACCOUNT-SUMM-TOTAL-INTEREST PIC Z,ZZ9.99.
  172.     05 FILLER                       PIC X(3)        VALUE SPACES.
  173.     05 ACCOUNT-SUMM-TOTAL-BALANCE PIC ZZ,ZZ9.99CR.
  174.          
  175.    
  176.        
  177.    01 CALCULATED-VALUES.
  178.     05 INTEREST-CHARGE              PIC 9(3)V99.
  179.     05 CURRENT-BALANCE              PIC 9(4)V99.
  180.     05 CREDIT-LIMIT                 PIC 9(4)V99.
  181.     05 AVAILABLE-CREDIT             PIC 9(4)V99.
  182.     05 TOTAL-TYPE20-PAYMENTS        PIC 9(4)V99.
  183.     05 TOTAL-TYPE40-PAYMENTS        PIC 9(4)V99.
  184.     05 TOTAL-TYPE60-PAYMENTS        PIC 9(4)V99.
  185.     05 TOTAL-TYPE20-PURCHASES       PIC 9(4)V99.
  186.     05 TOTAL-TYPE40-PURCHASES       PIC 9(4)V99.
  187.     05 TOTAL-TYPE60-PURCHASES       PIC 9(4)V99.  
  188.     05 TOTAL-TYPE20-CREDIT-CHARGE   PIC 9(4)V99.
  189.     05 TOTAL-TYPE40-CREDIT-CHARGE   PIC 9(4)V99.
  190.     05 TOTAL-TYPE60-CREDIT-CHARGE   PIC 9(4)V99.
  191.     05 TOTAL-TYPE20-CURR-BALANCE    PIC 9(4)V99.
  192.     05 TOTAL-TYPE40-CURR-BALANCE    PIC 9(4)V99.
  193.     05 TOTAL-TYPE60-CURR-BALANCE    PIC 9(4)V99.
  194.     05 TOTAL-TYPE20-INTEREST-CHARGES PIC 9(4)V99.
  195.     05 TOTAL-TYPE40-INTEREST-CHARGES PIC 9(4)V99.
  196.     05 TOTAL-TYPE60-INTEREST-CHARGES PIC 9(4)V99.      
  197.     05 TOTAL-PAYMENTS               PIC 9(4)V99.
  198.     05 TOTAL-PURCHASES              PIC 9(4)V99.
  199.     05 TOTAL-INTEREST-CHARGES       PIC 9(4)V99.
  200.     05 TOTAL-CURRENT-BALANCES       PIC 9(5)V99.
  201.     05 ACCOUNTS-PRINTED             PIC 9           VALUE ZEROES.      
  202.  
  203.     01 ACCOUNT-TOTAL-GROUP.
  204.     05 ACCOUNT-TOTAL-PAYMENT        PIC 9(4)V99     VALUE ZEROES.
  205.     05 ACCOUNT-TOTAL-PURCHASES      PIC 9(4)V99     VALUE ZEROES.
  206.     05 ACCOUNT-TOTAL-INTEREST-CHARGES PIC 9(4)V99   VALUE ZEROES.
  207.     05 ACCOUNT-TOTAL-CURR-BALANCE   PIC 9(4)V99     VALUE ZEROES.
  208.  
  209.    
  210.    
  211.   PROCEDURE DIVISION.
  212.    PREPARE-CREDIT-REPORT.
  213.     OPEN INPUT ACCOUNT-FILE
  214.          OUTPUT PRINT-FILE.
  215.         READ ACCOUNT-FILE
  216.             AT END MOVE 'NO' TO DATA-REMAINS-SWITCH
  217.         END-READ.            
  218.     PERFORM PROCESS-ACCOUNTS
  219.         UNTIL DATA-REMAINS-SWITCH = 'NO'.
  220.     PERFORM CALCULATE-TOTAL-TOTALS.
  221.     PERFORM PRINT-ACCOUNT-SUMMARY.
  222.     CLOSE ACCOUNT-FILE
  223.           PRINT-FILE.
  224.         STOP RUN.
  225.  
  226.  
  227.        
  228.    
  229.     WRITE-HEADING-LINE.
  230.         IF ACCOUNTS-PRINTED = 0
  231.             PERFORM INCREMENT-PAGE-NUMBER
  232.             MOVE SPACES TO PRINT-LINE
  233.             WRITE PRINT-LINE
  234.             MOVE '---------------------------------------------------------------------------------------------------' TO PRINT-LINE
  235.             WRITE PRINT-LINE
  236.             MOVE SPACES TO PRINT-LINE
  237.             WRITE PRINT-LINE
  238.             MOVE HEADING-LINE-1 TO PRINT-LINE
  239.             WRITE PRINT-LINE
  240.                 AFTER ADVANCING PAGE
  241.         END-IF.
  242.         MOVE SPACES TO PRINT-LINE.
  243.         WRITE PRINT-LINE.
  244.         MOVE HEADING-LINE-2 TO PRINT-LINE.
  245.         WRITE PRINT-LINE.
  246.         MOVE SPACES TO PRINT-LINE.
  247.         WRITE PRINT-LINE.
  248.         MOVE HEADING-LINE-3 TO PRINT-LINE.
  249.         WRITE PRINT-LINE.
  250.         MOVE HEADING-LINE-4 TO PRINT-LINE.
  251.         WRITE PRINT-LINE.
  252.         MOVE SPACES TO PRINT-LINE.
  253.         WRITE PRINT-LINE.
  254.                
  255.     INCREMENT-PAGE-NUMBER.
  256.         COMPUTE HEADING-PAGE-NUMBER = PAGE-NUMBER + 1.
  257.         MOVE HEADING-PAGE-NUMBER TO PAGE-NUMBER.    
  258.        
  259.     PROCESS-ACCOUNTS.
  260.         MOVE CR-NAME-AND-INITIALS TO WS-CR-NAME-AND-INITIALS.
  261.         MOVE CR-ACCOUNT-NO TO WS-CR-ACCOUNT-NO.
  262.         MOVE CR-NO-OF-ACCOUNTS TO NUMBER-OF-ACCOUNTS.
  263.         IF ACCOUNTS-PRINTED = 5
  264.             MOVE '0' TO ACCOUNTS-PRINTED
  265.         END-IF.          
  266.         PERFORM WRITE-HEADING-LINE.
  267.         PERFORM CALCULATE-FIGURES
  268.             VARYING SUBSCRIPT FROM 1 BY 1
  269.                 UNTIL SUBSCRIPT > NUMBER-OF-ACCOUNTS.
  270.         IF CR-NO-OF-ACCOUNTS = 1
  271.             MOVE SPACES TO PRINT-LINE
  272.             WRITE PRINT-LINE
  273.             WRITE PRINT-LINE
  274.         END-IF.
  275.         IF CR-NO-OF-ACCOUNTS = 2
  276.             MOVE SPACES TO PRINT-LINE
  277.             WRITE PRINT-LINE
  278.         END-IF.
  279.        
  280.         MOVE DASH-LINE TO PRINT-LINE.
  281.         WRITE PRINT-LINE.
  282.         PERFORM CALCULATE-ACCOUNT-TOTALS.
  283.         PERFORM PRINT-ACCOUNT-TOTALS.
  284.         COMPUTE ACCOUNTS-PRINTED = ACCOUNTS-PRINTED + 1.
  285.     INITIALIZE ACCOUNT-TOTAL-GROUP.
  286.         PERFORM READ-ACCOUNT-FILE.
  287.                        
  288.     READ-ACCOUNT-FILE.
  289.         READ ACCOUNT-FILE
  290.             AT END MOVE 'NO' TO DATA-REMAINS-SWITCH
  291.         END-READ.
  292.  
  293.   CALCULATE-FIGURES.
  294.     MOVE CR-BALANCE(SUBSCRIPT) TO WS-CR-BALANCE.
  295.     MOVE WS-CR-BALANCE TO PRINT-CR-BALANCE.
  296.     MOVE CR-TYPE(SUBSCRIPT) TO WS-CR-TYPE.
  297.     MOVE WS-CR-TYPE TO PRINT-CR-TYPE.
  298.     MOVE CR-PAYMENT(SUBSCRIPT) TO WS-CR-PAYMENT.
  299.     MOVE WS-CR-PAYMENT TO PRINT-CR-PAYMENT.
  300.     MOVE CR-PURCHASES(SUBSCRIPT) TO WS-CR-PURCHASES.
  301.     MOVE WS-CR-PURCHASES TO PRINT-CR-PURCHASES.
  302.     COMPUTE WS-CURRENT-BALANCE = WS-CR-BALANCE + WS-CR-PURCHASES - WS-CR-PAYMENT.
  303.     COMPUTE ACCOUNT-TOTAL-CURR-BALANCE = ACCOUNT-TOTAL-CURR-BALANCE + WS-CURRENT-BALANCE.
  304.     MOVE WS-CURRENT-BALANCE TO PRINT-CURRENT-BALANCE.
  305.     COMPUTE INTEREST-CHARGE = .0154 * WS-CURRENT-BALANCE.
  306.     COMPUTE ACCOUNT-TOTAL-INTEREST-CHARGES = ACCOUNT-TOTAL-INTEREST-CHARGES + INTEREST-CHARGE.
  307.     MOVE INTEREST-CHARGE TO PRINT-INTEREST-CHARGE.
  308.     PERFORM DETERMINE-CREDIT-LIMIT.
  309.     COMPUTE WS-AVAILABLE-CREDIT = WS-CREDIT-LIMIT - WS-CURRENT-BALANCE.
  310.     MOVE WS-AVAILABLE-CREDIT TO PRINT-AVAILABLE-CREDIT.
  311.     PERFORM INCREMENT-TOTALS.
  312.         MOVE TRANSACTION-LINE TO PRINT-LINE.
  313.         WRITE PRINT-LINE.  
  314.    
  315.   DETERMINE-CREDIT-LIMIT.
  316.     EVALUATE TRUE
  317.         WHEN WS-CR-TYPE = 20
  318.             MOVE 1500 TO WS-CREDIT-LIMIT
  319.             MOVE 1500 TO PRINT-CREDIT-LIMIT
  320.         WHEN WS-CR-TYPE = 40
  321.             MOVE 3500 TO WS-CREDIT-LIMIT
  322.             MOVE 3500 TO PRINT-CREDIT-LIMIT
  323.         WHEN WS-CR-TYPE = 60
  324.             MOVE 5000 TO WS-CREDIT-LIMIT
  325.             MOVE 5000 TO PRINT-CREDIT-LIMIT
  326.     END-EVALUATE.
  327.  
  328.   INCREMENT-TOTALS.
  329.     EVALUATE TRUE
  330.         WHEN WS-CR-TYPE = 20
  331.             COMPUTE TOTAL-TYPE20-PAYMENTS = TOTAL-TYPE20-PAYMENTS + WS-CR-PAYMENT
  332.             COMPUTE TOTAL-TYPE20-PURCHASES = TOTAL-TYPE20-PURCHASES + WS-CR-PURCHASES
  333.             COMPUTE TOTAL-TYPE20-CURR-BALANCE = TOTAL-TYPE20-CURR-BALANCE + WS-CURRENT-BALANCE
  334.             COMPUTE TOTAL-TYPE20-INTEREST-CHARGES = TOTAL-TYPE20-INTEREST-CHARGES + INTEREST-CHARGE
  335.         WHEN WS-CR-TYPE = 40
  336.             COMPUTE TOTAL-TYPE40-PAYMENTS = TOTAL-TYPE40-PAYMENTS + WS-CR-PAYMENT
  337.             COMPUTE TOTAL-TYPE40-PURCHASES = TOTAL-TYPE40-PURCHASES + WS-CR-PURCHASES
  338.             COMPUTE TOTAL-TYPE40-CURR-BALANCE = TOTAL-TYPE40-CURR-BALANCE + WS-CURRENT-BALANCE
  339.             COMPUTE TOTAL-TYPE40-INTEREST-CHARGES = TOTAL-TYPE40-INTEREST-CHARGES + INTEREST-CHARGE
  340.         WHEN WS-CR-TYPE = 60
  341.             COMPUTE TOTAL-TYPE60-PAYMENTS = TOTAL-TYPE60-PAYMENTS + WS-CR-PAYMENT
  342.             COMPUTE TOTAL-TYPE60-PURCHASES = TOTAL-TYPE60-PURCHASES + WS-CR-PURCHASES
  343.             COMPUTE TOTAL-TYPE60-CURR-BALANCE = TOTAL-TYPE60-CURR-BALANCE + WS-CURRENT-BALANCE
  344.             COMPUTE TOTAL-TYPE60-INTEREST-CHARGES = TOTAL-TYPE60-INTEREST-CHARGES + INTEREST-CHARGE
  345.     END-EVALUATE.
  346.    
  347.   CALCULATE-ACCOUNT-TOTALS.
  348.         COMPUTE ACCOUNT-TOTAL-PAYMENT = CR-PAYMENT (1) + CR-PAYMENT (2) + CR-PAYMENT (3).
  349.         COMPUTE ACCOUNT-TOTAL-PURCHASES = CR-PURCHASES (1) + CR-PURCHASES (2) + CR-PURCHASES (3).
  350.      
  351.   CALCULATE-TOTAL-TOTALS.
  352.         COMPUTE TOTAL-PAYMENTS = TOTAL-TYPE20-PAYMENTS + TOTAL-TYPE40-PAYMENTS + TOTAL-TYPE60-PAYMENTS.
  353.         COMPUTE TOTAL-PURCHASES = TOTAL-TYPE20-PURCHASES + TOTAL-TYPE40-PURCHASES + TOTAL-TYPE60-PURCHASES.
  354.         COMPUTE TOTAL-INTEREST-CHARGES = TOTAL-TYPE20-INTEREST-CHARGES + TOTAL-TYPE40-INTEREST-CHARGES + TOTAL-TYPE60-INTEREST-CHARGES.
  355.         COMPUTE TOTAL-CURRENT-BALANCES = TOTAL-TYPE20-CURR-BALANCE + TOTAL-TYPE40-CURR-BALANCE + TOTAL-TYPE60-CURR-BALANCE.
  356.    
  357.   PRINT-ACCOUNT-TOTALS.    
  358.         MOVE ACCOUNT-TOTAL-PAYMENT TO PRINT-TOTAL-ACCOUNT-PAYMENT.
  359.         MOVE ACCOUNT-TOTAL-PURCHASES TO PRINT-TOTAL-ACCOUNT-PURCHASES.
  360.         MOVE ACCOUNT-TOTAL-INTEREST-CHARGES TO PRINT-TOTAL-ACCOUNT-INTEREST.
  361.         MOVE ACCOUNT-TOTAL-CURR-BALANCE TO PRINT-TOTAL-CURRENT-BALANCE.
  362.         MOVE ACCOUNT-TOTAL-LINE TO PRINT-LINE.
  363.         WRITE PRINT-LINE.
  364.    
  365.     PRINT-ACCOUNT-SUMMARY.
  366.         MOVE SPACES TO PRINT-LINE.
  367.         WRITE PRINT-LINE.
  368.         MOVE '---------------------------------------------------------------------------------------------------' TO PRINT-LINE.
  369.         WRITE PRINT-LINE.
  370.         MOVE SPACES TO PRINT-LINE.
  371.         WRITE PRINT-LINE.
  372.  
  373.         MOVE ACCOUNT-SUMMARY-HEADING-1 TO PRINT-LINE.
  374.         WRITE PRINT-LINE
  375.             AFTER ADVANCING PAGE.
  376.         MOVE SPACES TO PRINT-LINE.
  377.         WRITE PRINT-LINE.
  378.         MOVE ACCOUNT-SUMMARY-HEADING-2 TO PRINT-LINE.
  379.         WRITE PRINT-LINE.
  380.         MOVE ACCOUNT-SUMMARY-HEADING-3 TO PRINT-LINE.
  381.         WRITE PRINT-LINE.
  382.         MOVE SPACES TO PRINT-LINE.
  383.         WRITE PRINT-LINE.
  384.         WRITE PRINT-LINE.
  385.         MOVE '20' TO ACCOUNT-SUMMARY-TYPE.
  386.         MOVE TOTAL-TYPE20-PAYMENTS TO ACCOUNT-SUMMARY-TOTAL-PAYMENT.
  387.         MOVE TOTAL-TYPE20-PURCHASES TO ACCOUNT-SUMMARY-TOTAL-PURCHASE.
  388.         MOVE TOTAL-TYPE20-INTEREST-CHARGES TO ACCOUNT-SUMMARY-TOTAL-INTEREST.
  389.         MOVE TOTAL-TYPE20-CURR-BALANCE TO ACCOUNT-SUMMARY-TOTAL-BALANCE.
  390.         MOVE ACCOUNT-SUMMARY-DETAIL-LINE TO PRINT-LINE.
  391.         WRITE PRINT-LINE.
  392.         MOVE '40' TO ACCOUNT-SUMMARY-TYPE.
  393.         MOVE TOTAL-TYPE40-PAYMENTS TO ACCOUNT-SUMMARY-TOTAL-PAYMENT.
  394.         MOVE TOTAL-TYPE40-PURCHASES TO ACCOUNT-SUMMARY-TOTAL-PURCHASE.
  395.         MOVE TOTAL-TYPE40-INTEREST-CHARGES TO ACCOUNT-SUMMARY-TOTAL-INTEREST.
  396.         MOVE TOTAL-TYPE40-CURR-BALANCE TO ACCOUNT-SUMMARY-TOTAL-BALANCE.
  397.         MOVE ACCOUNT-SUMMARY-DETAIL-LINE TO PRINT-LINE.
  398.         WRITE PRINT-LINE.
  399.         MOVE '60' TO ACCOUNT-SUMMARY-TYPE.
  400.         MOVE TOTAL-TYPE60-PAYMENTS TO ACCOUNT-SUMMARY-TOTAL-PAYMENT.
  401.         MOVE TOTAL-TYPE60-PURCHASES TO ACCOUNT-SUMMARY-TOTAL-PURCHASE.
  402.         MOVE TOTAL-TYPE60-INTEREST-CHARGES TO ACCOUNT-SUMMARY-TOTAL-INTEREST.
  403.         MOVE TOTAL-TYPE60-CURR-BALANCE TO ACCOUNT-SUMMARY-TOTAL-BALANCE.
  404.         MOVE ACCOUNT-SUMMARY-DETAIL-LINE TO PRINT-LINE.
  405.         WRITE PRINT-LINE.
  406.         MOVE ACCOUNT-SUMMARY-DASH-LINE TO PRINT-LINE.
  407.         WRITE PRINT-LINE.
  408.         MOVE TOTAL-PAYMENTS TO ACCOUNT-SUMM-TOTAL-PAYMENT.
  409.         MOVE TOTAL-PURCHASES TO ACCOUNT-SUMM-TOTAL-PURCHASE.
  410.         MOVE TOTAL-INTEREST-CHARGES TO ACCOUNT-SUMM-TOTAL-INTEREST.
  411.         MOVE TOTAL-CURRENT-BALANCES TO ACCOUNT-SUMM-TOTAL-BALANCE.
  412.         MOVE ACCOUNT-SUMMARY-DETAIL-TOTALS TO PRINT-LINE.
  413.         WRITE PRINT-LINE.
Add Comment
Please, Sign In to add comment