Advertisement
Guest User

Untitled

a guest
Aug 23rd, 2014
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.79 KB | None | 0 0
  1. IDENTIFICATION DIVISION.
  2. PROGRAM-ID. CTB.
  3. *AUTHOR. GEORGE.
  4. *INSTALLATION. QC.
  5. *DATE-WRITTEN. AUG 21,2014.
  6. *DATE-COMPILED. AUG 21,2014.
  7. *SECURITY. EXCLUSIVE FOR US.
  8. *REMARKS. CHINA TRUST BANK.
  9. ENVIRONMENT DIVISION.
  10. CONFIGURATION SECTION.
  11. SOURCE-COMPUTER. JOORJ-PC.
  12. OBJECT-COMPUTER. JOORJ-PC.
  13. INPUT-OUTPUT SECTION.
  14. FILE-CONTROL.
  15. SELECT INFILE ASSIGN TO 'INPUT.TXT'.
  16. SELECT OUTFILE ASSIGN TO 'OUTPUT.TXT'.
  17. DATA DIVISION.
  18. FILE SECTION.
  19. FD INFILE
  20. LABEL RECORD IS STANDARD
  21. DATA RECORD IS INREC.
  22. 01 INREC.
  23. 02 ANO PIC X(10).
  24. 02 ANAME PIC X(25).
  25. 02 TC PIC X(1).
  26. 02 AMT PIC 9(9)V99.
  27. FD OUTFILE
  28. LABEL RECORD IS OMITTED
  29. DATA RECORD IS OUTREC.
  30. 01 OUTREC.
  31. 02 FILLER PIC X(80).
  32. WORKING-STORAGE SECTION.
  33. 01 SVAN PIC X(10).
  34. 01 TNR PIC 9(4) VALUE ZERO.
  35. 01 TABAL PIC 9(10)V99 VALUE ZERO.
  36. 01 BALANCE PIC 9(9)V99 VALUE ZERO.
  37. 01 TD PIC 9(9)V99 VALUE ZERO.
  38. 01 TW PIC 9(9)V99 VALUE ZERO.
  39. 01 EOFSW PIC 9 VALUE ZERO.
  40. 01 SVANA PIC X(25).
  41. 01 LINECTR PIC 9(2).
  42. 01 PAGECTR PIC 9(2) VALUE 1.
  43. 01 HEAD-1.
  44. 02 FILLER PIC X(32) VALUE SPACES.
  45. 02 FILLER PIC X(16) VALUE 'China Trust Bank'.
  46. 02 FILLER PIC X(32) VALUE SPACES.
  47. 01 HEAD-2.
  48. 02 FILLER PIC X(33) VALUE SPACES.
  49. 02 FILLER PIC X(13) VALUE 'Makati Avenue'.
  50. 02 FILLER PIC X(25) VALUE SPACES.
  51. 02 FILLER PIC X(5) VALUE 'PAGE-'.
  52. 02 P-PAGECTR PIC 99.
  53. 01 HEAD-3.
  54. 02 FILLER PIC X(34) VALUE SPACES.
  55. 02 FILLER PIC X(11) VALUE 'Makati City'.
  56. 02 FILLER PIC X(35) VALUE SPACES.
  57. 01 HEAD-4.
  58. 02 FILLER PIC X(32) VALUE SPACES.
  59. 02 FILLER PIC X(16) VALUE 'Account`s Report'.
  60. 02 FILLER PIC X(32) VALUE SPACES.
  61. 01 SUB-1.
  62. 02 FILLER PIC X(10) VALUE SPACES.
  63. 02 FILLER PIC X(7) VALUE 'Account'.
  64. 02 FILLER PIC X(19) VALUE SPACES.
  65. 02 FILLER PIC X(7) VALUE 'Account'.
  66. 02 FILLER PIC X(20) VALUE SPACES.
  67. 02 FILLER PIC X(7) VALUE 'Balance'.
  68. 02 FILLER PIC X(10) VALUE SPACES.
  69. 01 SUB-2.
  70. 02 FILLER PIC X(10) VALUE SPACES.
  71. 02 FILLER PIC X(6) VALUE 'Number'.
  72. 02 FILLER PIC X(20) VALUE SPACES.
  73. 02 FILLER PIC X(4) VALUE 'Name'.
  74. 02 FILLER PIC X(40) VALUE SPACES.
  75. 01 DETALYE.
  76. 02 FILLER PIC X(10) VALUE SPACES.
  77. 02 P-ANO PIC X(11).
  78. 02 FILLER PIC X(15) VALUE SPACES.
  79. 02 P-ANAME PIC X(25).
  80. 02 P-BALANCE PIC ZZZ,ZZZ,ZZ9.99.
  81. 02 FILLER PIC X(7) VALUE SPACES.
  82. 01 TOTAL-1.
  83. 02 FILLER PIC X(10) VALUE SPACES.
  84. 02 FILLER PIC X(21) VALUE 'TOTAL NO. OF RECORDS '.
  85. 02 FILLER PIC X(9) VALUE 'PRINTED: '.
  86. 02 P-TNR PIC Z,ZZZ.
  87. 02 FILLER PIC X(36) VALUE SPACES.
  88. 01 TOTAL-2.
  89. 02 FILLER PIC X(10) VALUE SPACES.
  90. 02 FILLER PIC X(6) VALUE 'Total '.
  91. 02 FILLER PIC X(12) VALUE 'Accumulated '.
  92. 02 FILLER PIC X(10) VALUE 'Balance: P'.
  93. 02 P-TABAL PIC Z,ZZZ,ZZZ,ZZ9.99.
  94. 02 FILLER PIC X(29) VALUE SPACES.
  95. SCREEN SECTION.
  96. 01 SCRE.
  97. 02 BLANK SCREEN.
  98. PROCEDURE DIVISION.
  99. MAIN-RTN.
  100. PERFORM INIT-RTN THRU INIT-RTN-END.
  101. PERFORM PROCESS-RTN UNTIL EOFSW = 1.
  102. PERFORM FINISH-RTN.
  103. STOP RUN.
  104. INIT-RTN.
  105. OPEN INPUT INFILE, OUTPUT OUTFILE.
  106. READ INFILE AT END PERFORM END-RTN.
  107. MOVE ANO TO SVAN.
  108. MOVE ANAME TO SVANA.
  109. PERFORM HEADING-RTN.
  110. GO TO INIT-RTN-END.
  111. INIT-RTN-END.
  112. END-RTN.
  113. MOVE 1 TO EOFSW.
  114. DISPLAY 'EMPTY FILE' LINE 3 COLUMN 20.
  115. HEADING-RTN.
  116. WRITE OUTREC FROM HEAD-1 AFTER PAGE.
  117. WRITE OUTREC FROM HEAD-2 AFTER 1.
  118. WRITE OUTREC FROM HEAD-3 AFTER 1.
  119. WRITE OUTREC FROM HEAD-4 AFTER 3.
  120. WRITE OUTREC FROM SUB-1 AFTER 2.
  121. WRITE OUTREC FROM SUB-2 AFTER 1.
  122. PROCESS-RTN.
  123. DISPLAY SCRE.
  124. IF SVAN NOT = ANO PERFORM AN-BREAK-RTN
  125. ELSE NEXT SENTENCE
  126. END-IF.
  127. IF TC = 'D' THEN COMPUTE TD = TD + AMT
  128. ELSE COMPUTE TW = TW + AMT
  129. END-IF.
  130. READ INFILE AT END MOVE 1 TO EOFSW
  131. PERFORM AN-BREAK-RTN.
  132. AN-BREAK-RTN.
  133. MOVE SVAN TO P-ANO.
  134. MOVE SVANA TO P-ANAME.
  135. COMPUTE BALANCE = TD - TW.
  136. ADD BALANCE TO TABAL.
  137. MOVE BALANCE TO P-BALANCE.
  138. MOVE ANO TO SVAN.
  139. IF LINECTR = 10 MOVE PAGECTR TO P-PAGECTR
  140. PERFORM HEADING-RTN
  141. WRITE OUTREC FROM DETALYE AFTER
  142. ADVANCING PAGE MOVE 0 TO LINECTR
  143. ADD 1 TO PAGECTR
  144. ELSE WRITE OUTREC FROM DETALYE AFTER 1
  145. END-IF.
  146. ADD 1 TO TNR.
  147. ADD 1 TO LINECTR.
  148. MOVE 0 TO TD.
  149. MOVE 0 TO TW.
  150. MOVE ANAME TO SVANA.
  151. FINISH-RTN.
  152. MOVE TABAL TO P-TABAL.
  153. MOVE TNR TO P-TNR.
  154. WRITE OUTREC FROM TOTAL-1 AFTER 2.
  155. WRITE OUTREC FROM TOTAL-2 AFTER 1.
  156. CLOSE INFILE, OUTFILE.
  157. DISPLAY 'DONE' LINE 3 COLUMN 30.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement