Master Mainframe Technologies - COBOL, JCL, DB2, VSAM, CICS & More
ABEND Codes SQLCODEs File Status Interview Prep Contact
← Back to Real-World Scenarios
Real-World Scenarios | Advanced | COBOL

Payroll Calculation

Problem Description

Calculate gross pay, deductions, and net pay. Regular hours up to 40, overtime at 1.5x.

Expected Output

Employee payslip with all calculations

Hints

Track regular and overtime hours separately.

Solution

IDENTIFICATION DIVISION. PROGRAM-ID. PAYROLL. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-EMP-NAME PIC X(30). 01 WS-HOURLY-RATE PIC 9(3)V99. 01 WS-HOURS PIC 9(3)V99. 01 WS-REG-HOURS PIC 9(3)V99. 01 WS-OT-HOURS PIC 9(3)V99. 01 WS-REG-PAY PIC 9(7)V99. 01 WS-OT-PAY PIC 9(7)V99. 01 WS-GROSS-PAY PIC 9(7)V99. 01 WS-TAX PIC 9(7)V99. 01 WS-NET-PAY PIC 9(7)V99. PROCEDURE DIVISION. DISPLAY "ENTER NAME: ". ACCEPT WS-EMP-NAME. DISPLAY "ENTER HOURLY RATE: ". ACCEPT WS-HOURLY-RATE. DISPLAY "ENTER HOURS WORKED: ". ACCEPT WS-HOURS. IF WS-HOURS > 40 MOVE 40 TO WS-REG-HOURS COMPUTE WS-OT-HOURS = WS-HOURS - 40 ELSE MOVE WS-HOURS TO WS-REG-HOURS MOVE 0 TO WS-OT-HOURS END-IF. COMPUTE WS-REG-PAY = WS-REG-HOURS * WS-HOURLY-RATE. COMPUTE WS-OT-PAY = WS-OT-HOURS * WS-HOURLY-RATE * 1.5. COMPUTE WS-GROSS-PAY = WS-REG-PAY + WS-OT-PAY. COMPUTE WS-TAX = WS-GROSS-PAY * 0.20. COMPUTE WS-NET-PAY = WS-GROSS-PAY - WS-TAX. DISPLAY "=== PAYSLIP ===". DISPLAY "EMPLOYEE: " WS-EMP-NAME. DISPLAY "REGULAR PAY: " WS-REG-PAY. DISPLAY "OVERTIME PAY: " WS-OT-PAY. DISPLAY "GROSS PAY: " WS-GROSS-PAY. DISPLAY "TAX (20%): " WS-TAX. DISPLAY "NET PAY: " WS-NET-PAY. STOP RUN.

Explanation:

Real payroll: separate regular and OT hours, apply different rates, calculate tax.