Advertisement
CodenameDuchess

Assign_3

Oct 3rd, 2014
297
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.87 KB | None | 0 0
  1. PROCEDURE DIVISION.
  2. 0000-MAIN.
  3.  
  4. OPEN INPUT STOCK-PRICE.
  5.  
  6. READ STOCK-PRICE
  7. AT END MOVE 'Y' TO EOF-FLAG1
  8. END-READ.
  9.  
  10. PERFORM 0100-GET-SHAREPR
  11. UNTIL EOF-FLAG1 = 'Y'.
  12.  
  13. CLOSE STOCK-PRICE.
  14.  
  15. OPEN OUTPUT PRINT-REPORT.
  16.  
  17. OPEN INPUT DAILY-SALES
  18. OUTPUT SALES-REPORT.
  19.  
  20. READ DAILY-SALES
  21. AT END MOVE 'Y' TO EOF-FLAG2
  22. END-READ.
  23.  
  24. PERFORM 0200-PROCESS-RECORD
  25. UNTIL EOF-FLAG2 = 'Y'.
  26.  
  27. CLOSE DAILY-SALES
  28. SALES-REPORT.
  29.  
  30. OPEN INPUT SALES-REPORT.
  31.  
  32. READ SALES-REPORT
  33. AT END MOVE 'Y' TO EOF-FLAG3
  34. END-READ.
  35.  
  36. PERFORM 0300-PROCESS-RECORD2
  37. UNTIL EOF-FLAG3 = 'Y'.
  38.  
  39. CLOSE SALES-REPORT
  40. PRINT-REPORT.
  41.  
  42. STOP RUN.
  43.  
  44. 0000-EXIT. EXIT.
  45. EJECT
  46.  
  47. 0100-GET-SHAREPR.
  48.  
  49. MOVE IN-SHARE-PRICE TO SHARE-PRICE.
  50.  
  51. READ STOCK-PRICE
  52. AT END MOVE 'Y' TO EOF-FLAG1
  53. END-READ.
  54.  
  55. MOVE FUNCTION CURRENT-DATE TO CURRENT-DATE-FIELDS.
  56.  
  57. MOVE CURRENT-YEAR TO OUT-YYYY.
  58.  
  59. MOVE CURRENT-MONTH TO OUT-MM.
  60.  
  61. MOVE CURRENT-DAY TO OUT-DD.
  62.  
  63. MOVE CURRENT-HOUR TO OUT-HH.
  64.  
  65. MOVE CURRENT-MINUTE TO OUT-MN.
  66.  
  67. MOVE CURRENT-SECOND TO OUT-SS.
  68.  
  69. 0100-EXIT. EXIT.
  70.  
  71.  
  72. 0200-PROCESS-RECORD.
  73.  
  74. IF LINE-COUNT > 15
  75. PERFORM 0400-NEW-PAGE.
  76.  
  77. MOVE IN-BROKER-CITY TO OUT-BROKER-CITY.
  78.  
  79. MOVE IN-BROKER-NAME TO OUT-BROKER-NAME.
  80.  
  81. MOVE IN-DEPOSIT-AMOUNT TO OUT-DEPOSIT.
  82.  
  83. COMPUTE SHARES-SOLD = IN-DEPOSIT-AMOUNT / SHARE-PRICE.
  84.  
  85. IF SHARES-SOLD > 20000
  86. MOVE IN-BROKER-NAME TO TEMP-BROKER
  87. MOVE SHARES-SOLD TO TEMP-SHARES-SOLD
  88. COMPUTE RECORD-COUNT-2 = RECORD-COUNT-2 + 1
  89. WRITE TEMP-STORAGE
  90. END-IF.
  91.  
  92. IF COMMISSION-FLAG = 1
  93. COMPUTE COMMISSION ROUNDED =
  94. IN-DEPOSIT-AMOUNT * (5 / 800)
  95. ELSE
  96. COMPUTE COMMISSION ROUNDED =
  97. IN-DEPOSIT-AMOUNT * (7 / 800)
  98. END-IF.
  99.  
  100. WRITE PRINT-RECORD FROM PRINT-LINE-1 AFTER 2.
  101.  
  102. COMPUTE LINE-COUNT = LINE-COUNT + 1.
  103.  
  104. COMPUTE RECORD-COUNT = RECORD-COUNT + 1.
  105.  
  106. READ DAILY-SALES
  107. AT END MOVE 'Y' TO EOF-FLAG2
  108. END-READ.
  109.  
  110. 0200-EXIT. EXIT.
  111. EJECT
  112.  
  113. 0300-PROCESS-RECORD2.
  114.  
  115. IF LINE-COUNT-2 > 15
  116. PERFORM 0500-NEW-PAGE2.
  117.  
  118. MOVE TEMP-BROKER TO OUT-BROKER-NAME2.
  119.  
  120. MOVE TEMP-SHARES-SOLD TO SHARES-SOLD2.
  121.  
  122. WRITE PRINT-RECORD FROM PRINT-LINE-2 AFTER 2.
  123.  
  124. COMPUTE LINE-COUNT-2 = LINE-COUNT-2 + 1.
  125.  
  126. READ SALES-REPORT
  127. AT END MOVE 'Y' TO EOF-FLAG3
  128. END-READ.
  129.  
  130. 0300-EXIT. EXIT.
  131.  
  132. 0400-NEW-PAGE.
  133.  
  134. COMPUTE PAGE-COUNT = PAGE-COUNT + 1.
  135.  
  136. MOVE PAGE-COUNT TO PAGE-NUM.
  137.  
  138. WRITE PRINT-RECORD FROM HEADER-L1 AFTER PAGE.
  139.  
  140. WRITE PRINT-RECORD FROM HEADER-L2-R1 AFTER 1.
  141.  
  142. WRITE PRINT-RECORD FROM HEADER-L3-R1 AFTER 1.
  143.  
  144. WRITE PRINT-RECORD FROM HEAD-DIVIDE AFTER 1.
  145.  
  146. MOVE 1 TO LINE-COUNT.
  147.  
  148. 0400-EXIT. EXIT.
  149.  
  150. 0500-NEW-PAGE2.
  151.  
  152. COMPUTE PAGE-COUNT-2 = PAGE-COUNT-2 + 1.
  153.  
  154. MOVE PAGE-COUNT-2 TO PAGE-NUM.
  155.  
  156. WRITE PRINT-RECORD FROM HEADER-L1 AFTER PAGE.
  157.  
  158. WRITE PRINT-RECORD FROM HEADER-L2-R2 AFTER 1.
  159.  
  160. WRITE PRINT-RECORD FROM HEADER-L3-R2 AFTER 1.
  161.  
  162. WRITE PRINT-RECORD FROM HEAD-DIVIDE AFTER 1.
  163.  
  164. MOVE 1 TO LINE-COUNT-2.
  165.  
  166. 0500-EXIT. EXIT.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement