fork download
  1. 0010 IDENTIFICATION DIVISION.
  2. 0015 PROGRAM-ID. PAYROLL-FILE.
  3. 0020 ENVIRONMENT DIVISION.
  4. 0025 CONFIGURATION SECTION.
  5. 0030 SOURCE-COMPUTER. IBM-360.
  6. 0035 OBJECT-COMPUTER. IBM-360.
  7. 0040 INPUT-OUTPUT SECTION.
  8. 0045 FILE-CONTROL.
  9. 0050 SELECT PAYROLL-IN ASSIGN TO UT-S-SYSIN.
  10. 0055 SELECT PAY-OUT ASSIGN TO UT-S-SYSPRINT.
  11. 0060 DATA DIVISION.
  12. 0065 FILE SECTION.
  13. 0070 FD PAYROLL-IN LABEL RECORDS ARE STANDARD.
  14. 0075 01 EMPLOYEE-RECORD.
  15. 0076 05 NAME PIC X(16).
  16. 0080 05 PLAN PIC X.
  17. 0085 05 HOURS PIC 99V99.
  18. 0090 05 RATE PIC 99V99.
  19. 0100 FD PAY-OUT LABEL RECORDS ARE OMITTED.
  20. 0105 01 PRINT-LINE PIC X(132).
  21. 0110 WORKING-STORAGE SECTION.
  22. 0115 01 ARE-THERE-MORE-RECORDS PICTURE XXX VALUE 'YES'.
  23. 0120 01 CALCULOS.
  24. 0125 05 GROSS PIC 999999V99 VALUE 0.
  25. 0130 05 FEDERALWITH PIC 999999V99 VALUE 0.
  26. 0135 05 FICA PIC 9999V99 VALUE 0.
  27. 0140 05 INSURANCE PIC 9999V99 VALUE 0.
  28. 0145 05 NETPAY PIC 999999V99 VALUE 0.
  29. 0150 05 TOTALGROSS PIC 9999999V99 VALUE 0.
  30. 0155 05 TOTALFICA PIC 99999V99 VALUE 0.
  31. 0160 05 TOTALINSUR PIC 99999V99 VALUE 0.
  32. 0165 05 TOTALNET PIC 9999999V99 VALUE 0.
  33. 0170 01 HEAD-1.
  34. 0175 05 FILLER PIC X(50) VALUE SPACES.
  35. 0180 05 FILLER PIC X(38) VALUE 'HARDWORKERS OF AMERICA AS OF MM/DD/YY'.
  36. 0185 05 FILLER PIC X(35) VALUE SPACES.
  37. 0190 05 FILLER PIC X(7) VALUE 'PAGE Z9'.
  38. 0195 05 FILLER PIC X(2) VALUE SPACES.
  39. 0200 01 HEAD-2.
  40. 0205 05 FILLER PIC X(13) VALUE SPACES.
  41. 0210 05 FILLER PIX X(4) VALUE 'NAME'.
  42. 0215 05 FILLER PIC X(25) VALUE SPACES.
  43. 0220 05 FILLER PIC X(9) VALUE 'GROSS PAY'.
  44. 0225 05 FILLER PIC X(15) VALUE SPACES.
  45. 0230 05 FILLER PIC X(5) VALUE 'TAXES'.
  46. 0235 05 FILLER PIC X(13) VALUE SPACES.
  47. 0240 05 FILLER PIC X(9) VALUE 'INSURANCE'.
  48. 0245 05 FILLER PIC X(14) VALUE SPACES.
  49. 0250 05 FILLER PIC X(7) VALUE 'NET PAY'.
  50. 0255 05 FILLER PIC X(18) VALUE SPACES.
  51. 0260 01 DETAIL-LINE.
  52. 0265 05 FILLER PIC X(13) VALUE SPACES.
  53. 0270 05 NAME-O PIC X(16).
  54. 0275 05 FILLER PIC X(13) VALUE SPACES.
  55. 0290 05 GROSS-O PIC $$$,$$9.99.
  56. 0295 05 FILLER PIC X(13) VALUE SPACES.
  57. 0300 05 FICA-O PIC $$$9.99.
  58. 0305 05 FILLER PIC X(13) VALUE SPACES.
  59. 0310 05 INSUR-O PIC $$$9.99.
  60. 0315 05 FILLER PIC X(13) VALUE SPACES.
  61. 0320 05 NET-O PIC $$$,$$9.99.
  62. 0325 05 FILLER PIC X(17) VALUE SPACES.
  63. 0330 01 TOTALS.
  64. 0335 05 FILLER PIC X(41) VALUE SPACES.
  65. 0340 05 TOTAL-GRO PIC $$$$,$$9.99.
  66. 0345 05 FILLER PIC X(11) VALUE SPACES.
  67. 0350 05 TOTAL-TAX PIC $$,$$9.99.
  68. 0355 05 FILLER PIC X(11) VALUE SPACES.
  69. 0360 05 TOTAL-INS PIC $$,$$9.99.
  70. 0365 05 FILLER PIC X(12) VALUE SPACES.
  71. 0370 05 TOTAL-NET PIC $$$$,$$9.99.
  72. 0375 05 FILLER PIC X(17).
  73. 0380 PROCEDURE DIVISION.
  74. 0385 MAIN-MODULE.
  75. 0390 OPEN INPUT PAYROLL-IN OUTPUT PAY-OUT.
  76. 0395 PERFORM WRITE-HEADS.
  77. 0400 READ PAYROLL-IN AT END MOVE 'NO ' TO ARE-THERE-MORE-RECORDS.
  78. 0405 PERFORM WRITE-DETAIL UNTIL ARE-THERE-MORE-RECORDS = NO.
  79. 0410 PERFORM WRITE-TOTALS.
  80. 0415 CLOSE PAYROLL-IN PAY-OUT.
  81. 0420 STOP RUN.
  82. 0425 WRITE-HEADS.
  83. WRITE PRINT-LINE AFTER 1.
  84. MOVE HEAD-1 TO PRINT-LINE.
  85. WRITE PRINT-LINE AFTER 1.
  86. MOVE HEAD-2 TO PRINT-LINE.
  87. WRITE PRINT-LINE AFTER 1.
  88. MOVE SPACES TO PRINT-LINE.
  89. WRITE PRINT-LINE.
  90. 0430 WRITE-DETAIL.
  91. IF HOURS > 40 THEN
  92. COMPUTE GROSS = (HOURS * (RATE * 1.5)).
  93. ELSE
  94. COMPUTE GROSS = RATE * HOURS.
  95. END-IF.
  96. IF GROSS > 600 THEN
  97. COMPUTE FEDERALWITH = GROSS * .25.
  98. ELSE
  99. IF GROSS > 450 THEN
  100. COMPUTE FEDERALWITH = GROSS * .23.
  101. ELSE
  102. COMPUTE FEDERALWITH = GROSS * .18.
  103. END-IF.
  104. COMPUTE FICA = GROSS * .062.
  105. IF PLAN = 'A' THEN
  106. COMPUTE INSURANCE = GROSS - 5.00.
  107. END-IF.
  108. IF PLAN = 'B' THEN
  109. COMPUTE INSURANCE = GROSS - 8.00.
  110. END-IF.
  111. IF PLAN = 'C' THEN
  112. COMPUTE INSURANCE = GROSS - 10.00.
  113. ELSE
  114. INSURANCE = 0.
  115. END-IF.
  116. COMPUTE NETPAY = GROSS - FEDERALWITH - INSURANCE - FICA
  117. MOVE NAME TO NAME-O.
  118. MOVE GROSS TO GROSS-O.
  119. MOVE FICA TO FICA-O.
  120. MOVE INSURANCE TO INSUR-O.
  121. MOVE NETPAY TO NET-O.
  122. MOVE DETAIL-LINE TO PRINT-LINE.
  123. WRITE PRINT-LINE AFTER 1.
  124. READ PAYROLL-IN AT END MOVE 'NO ' TO ARE-THERE-MORE-RECORDS.
  125. 0435 WRITE-TOTALS.
  126. MOVE TOTALGROSS TO TOTAL-GRO.
  127. MOVE TOTALFICA TO TOTAL-TAX.
  128. MOVE TOTALINSUR TO TOTAL-INS.
  129. MOVE TOTALNET TO TOTAL-NET.
  130. MOVE TOTALS TO PRINT-LINE.
  131. WRITE PRINT-LINE AFTER 2.
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cob:130: Warning: File not terminated by a newline
prog.cob:35: Error: syntax error, unexpected PAGE, expecting EXTERNAL or GLOBAL
stdout
Standard output is empty