Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- IDENTIFICATION DIVISION.
- PROGRAM-ID. COB65B.
- **************************************************************************
- * THIS PROGRAM WILL BE CALLED BY COB60? AND CALCULATE TAXES
- * FROM INPUT IN-BONUS INTO OUTPUT OUT-FILE
- **************************************************************************
- ENVIRONMENT DIVISION.
- INPUT-OUTPUT SECTION.
- FILE CONTROL.
- DATA DIVISION.
- FILE SECTION.
- WORKING-STORAGE SECTION.
- *******************************************************************
- * INPUT FILE LAYOUT *
- *******************************************************************
- 01 WS-TAX-REC.
- 05 WS-TAX-PER PIC V99 VALUE 0.28.
- 05 WS-BRECKET-BASE PIC S9(07)V99.
- LINKAGE SECTION.
- 01 LS-SALARY PIC 9(7)V99.
- 01 LS-TAX-AMNT PIC 9(7)V99.
- PROCEDURE DIVISION USING LS-SALARY LS-TAX-AMNT.
- P100-MAINLINE.
- PERFORM P200-INITIALIZATION THRU P299-EXIT.
- PERFORM P300-PROCESS-MAIN THRU P399-EXIT.
- PERFORM P400-CALCULATE-TAX THRU P499-EXIT.
- P199-EXIT.
- EXIT.
- P200-INITIALIZATION.
- MOVE LS-SALARY TO WS-DISP-SALARY.
- MOVE LS-TAX-AMNT TO WS-DISP-TAX-AMNT.
- P300-PROCESS-MAIN.
- IF LS-SALARY < 0
- DISPLAY 'NEGATIVE NUMBERS ARE NOT ALLOWED'.
- GOBACK.
- ELSE IF LS-SALARY >= 0 AND < 969.00
- MOVE +192.00 TO WS-BRECKET-BASE
- ELSE IF WS-DISP-SALARY >= 969.00 AND < 3354.00
- MOVE +451.00 TO WS-BRECKET-BASE
- ELSE IF WS-DISP-SALARY >= 3354.00 AND < 7850.00
- MOVE +1612.00 TO WS-BRECKET-BASE
- ELSE IF WS-DISP-SALARY >= 7850.00 AND < 16163.00
- MOVE +72280.54 TO WS-BRECKET-BASE
- ELSE IF WS-DISP-SALARY >= 16163.00 AND < 34917.00
- MOVE +4383.94 TO WS-BRECKET-BASE
- ELSE IF WS-DISP-SALARY >= 34917.00 AND < 35058.00
- MOVE +6128.69 TO WS-BRECKET-BASE
- ELSE WS-DISP-SALARY >= 35058.00
- MOVE +9489.16 TO WS-BRECKET-BASe
- END-IF.
- P400-CALCULATE-TAX.
- COMPUTE LS-TAX-AMNT ROUNDED = (LS-SALARY - WS-BRECKET-BASE) * WS-TAX-PER
- P499-EXIT.
- EXIT.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement