Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- IDENTIFICATION DIVISION.
- PROGRAM-ID. CTB.
- *AUTHOR. GEORGE.
- *INSTALLATION. QC.
- *DATE-WRITTEN. AUG 21,2014.
- *DATE-COMPILED. AUG 21,2014.
- *SECURITY. EXCLUSIVE FOR US.
- *REMARKS. CHINA TRUST BANK.
- ENVIRONMENT DIVISION.
- CONFIGURATION SECTION.
- SOURCE-COMPUTER. JOORJ-PC.
- OBJECT-COMPUTER. JOORJ-PC.
- INPUT-OUTPUT SECTION.
- FILE-CONTROL.
- SELECT INFILE ASSIGN TO 'INPUT.TXT'.
- SELECT OUTFILE ASSIGN TO 'OUTPUT.TXT'.
- DATA DIVISION.
- FILE SECTION.
- FD INFILE
- LABEL RECORD IS STANDARD
- DATA RECORD IS INREC.
- 01 INREC.
- 02 ANO PIC X(10).
- 02 ANAME PIC X(25).
- 02 TC PIC X(1).
- 02 AMT PIC 9(9)V99.
- FD OUTFILE
- LABEL RECORD IS OMITTED
- DATA RECORD IS OUTREC.
- 01 OUTREC.
- 02 FILLER PIC X(80).
- WORKING-STORAGE SECTION.
- 01 SVAN PIC X(10).
- 01 TNR PIC 9(4) VALUE ZERO.
- 01 TABAL PIC 9(10)V99 VALUE ZERO.
- 01 BALANCE PIC 9(9)V99 VALUE ZERO.
- 01 TD PIC 9(9)V99 VALUE ZERO.
- 01 TW PIC 9(9)V99 VALUE ZERO.
- 01 EOFSW PIC 9 VALUE ZERO.
- 01 SVANA PIC X(25).
- 01 LINECTR PIC 9(2).
- 01 PAGECTR PIC 9(2) VALUE 1.
- 01 HEAD-1.
- 02 FILLER PIC X(32) VALUE SPACES.
- 02 FILLER PIC X(16) VALUE 'China Trust Bank'.
- 02 FILLER PIC X(32) VALUE SPACES.
- 01 HEAD-2.
- 02 FILLER PIC X(33) VALUE SPACES.
- 02 FILLER PIC X(13) VALUE 'Makati Avenue'.
- 02 FILLER PIC X(25) VALUE SPACES.
- 02 FILLER PIC X(5) VALUE 'PAGE-'.
- 02 P-PAGECTR PIC 99.
- 01 HEAD-3.
- 02 FILLER PIC X(34) VALUE SPACES.
- 02 FILLER PIC X(11) VALUE 'Makati City'.
- 02 FILLER PIC X(35) VALUE SPACES.
- 01 HEAD-4.
- 02 FILLER PIC X(32) VALUE SPACES.
- 02 FILLER PIC X(16) VALUE 'Account`s Report'.
- 02 FILLER PIC X(32) VALUE SPACES.
- 01 SUB-1.
- 02 FILLER PIC X(10) VALUE SPACES.
- 02 FILLER PIC X(7) VALUE 'Account'.
- 02 FILLER PIC X(19) VALUE SPACES.
- 02 FILLER PIC X(7) VALUE 'Account'.
- 02 FILLER PIC X(20) VALUE SPACES.
- 02 FILLER PIC X(7) VALUE 'Balance'.
- 02 FILLER PIC X(10) VALUE SPACES.
- 01 SUB-2.
- 02 FILLER PIC X(10) VALUE SPACES.
- 02 FILLER PIC X(6) VALUE 'Number'.
- 02 FILLER PIC X(20) VALUE SPACES.
- 02 FILLER PIC X(4) VALUE 'Name'.
- 02 FILLER PIC X(40) VALUE SPACES.
- 01 DETALYE.
- 02 FILLER PIC X(10) VALUE SPACES.
- 02 P-ANO PIC X(11).
- 02 FILLER PIC X(15) VALUE SPACES.
- 02 P-ANAME PIC X(25).
- 02 P-BALANCE PIC ZZZ,ZZZ,ZZ9.99.
- 02 FILLER PIC X(7) VALUE SPACES.
- 01 TOTAL-1.
- 02 FILLER PIC X(10) VALUE SPACES.
- 02 FILLER PIC X(21) VALUE 'TOTAL NO. OF RECORDS '.
- 02 FILLER PIC X(9) VALUE 'PRINTED: '.
- 02 P-TNR PIC Z,ZZZ.
- 02 FILLER PIC X(36) VALUE SPACES.
- 01 TOTAL-2.
- 02 FILLER PIC X(10) VALUE SPACES.
- 02 FILLER PIC X(6) VALUE 'Total '.
- 02 FILLER PIC X(12) VALUE 'Accumulated '.
- 02 FILLER PIC X(10) VALUE 'Balance: P'.
- 02 P-TABAL PIC Z,ZZZ,ZZZ,ZZ9.99.
- 02 FILLER PIC X(29) VALUE SPACES.
- SCREEN SECTION.
- 01 SCRE.
- 02 BLANK SCREEN.
- PROCEDURE DIVISION.
- MAIN-RTN.
- PERFORM INIT-RTN THRU INIT-RTN-END.
- PERFORM PROCESS-RTN UNTIL EOFSW = 1.
- PERFORM FINISH-RTN.
- STOP RUN.
- INIT-RTN.
- OPEN INPUT INFILE, OUTPUT OUTFILE.
- READ INFILE AT END PERFORM END-RTN.
- MOVE ANO TO SVAN.
- MOVE ANAME TO SVANA.
- PERFORM HEADING-RTN.
- GO TO INIT-RTN-END.
- INIT-RTN-END.
- END-RTN.
- MOVE 1 TO EOFSW.
- DISPLAY 'EMPTY FILE' LINE 3 COLUMN 20.
- HEADING-RTN.
- WRITE OUTREC FROM HEAD-1 AFTER PAGE.
- WRITE OUTREC FROM HEAD-2 AFTER 1.
- WRITE OUTREC FROM HEAD-3 AFTER 1.
- WRITE OUTREC FROM HEAD-4 AFTER 3.
- WRITE OUTREC FROM SUB-1 AFTER 2.
- WRITE OUTREC FROM SUB-2 AFTER 1.
- PROCESS-RTN.
- DISPLAY SCRE.
- IF SVAN NOT = ANO PERFORM AN-BREAK-RTN
- ELSE NEXT SENTENCE
- END-IF.
- IF TC = 'D' THEN COMPUTE TD = TD + AMT
- ELSE COMPUTE TW = TW + AMT
- END-IF.
- READ INFILE AT END MOVE 1 TO EOFSW
- PERFORM AN-BREAK-RTN.
- AN-BREAK-RTN.
- MOVE SVAN TO P-ANO.
- MOVE SVANA TO P-ANAME.
- COMPUTE BALANCE = TD - TW.
- ADD BALANCE TO TABAL.
- MOVE BALANCE TO P-BALANCE.
- MOVE ANO TO SVAN.
- IF LINECTR = 10 MOVE PAGECTR TO P-PAGECTR
- PERFORM HEADING-RTN
- WRITE OUTREC FROM DETALYE AFTER
- ADVANCING PAGE MOVE 0 TO LINECTR
- ADD 1 TO PAGECTR
- ELSE WRITE OUTREC FROM DETALYE AFTER 1
- END-IF.
- ADD 1 TO TNR.
- ADD 1 TO LINECTR.
- MOVE 0 TO TD.
- MOVE 0 TO TW.
- MOVE ANAME TO SVANA.
- FINISH-RTN.
- MOVE TABAL TO P-TABAL.
- MOVE TNR TO P-TNR.
- WRITE OUTREC FROM TOTAL-1 AFTER 2.
- WRITE OUTREC FROM TOTAL-2 AFTER 1.
- CLOSE INFILE, OUTFILE.
- DISPLAY 'DONE' LINE 3 COLUMN 30.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement