* Program has no date routines - it is Y2K compliant ** 100-MAIN-MODULE. OPEN INPUT PAYROLL OUTPUT PRINT-REPORT PERFORM 200-INITIALIZE-RTN PERFORM 300-HEADING-RTN PERFORM UNTIL ARE-THERE-MORE-RECORDS = 'NO' READ PAYROLL AT END MOVE 'NO 'TO ARE-THERE-MORE-RECORDS NOT AT END PERFORM 400-COMPUTE-WAGES END-READ END-PERFORM CLOSE PAYROLL PRINT-REPORT STOP RUN. 200-INITIALIZE-RTN. MOVE 'YES' TO ARE-THERE-MORE-RECORDS MOVE 1 TO WS-PAGE-CT. 300-HEADING-RTN. WRITE PRINT-REC FROM HEADING1 AFTER PAGE WRITE PRINT-REC FROM HEADING2 AFTER ADVANCING 2 LINES ADD 1 TO WS-PAGE-CT MOVE 0 TO WS-LINE-CT. 400-COMPUTE-WAGES. IF HOURS-IN > 40 PERFORM 600-OVERTIME-RTN ELSE COMPUTE WAGES-OUT = HOURS-IN * RATE-IN END-IF PERFORM 700-WRITE-RTN. 500-OVERTIME-RTN. COMPUTE WAGES-OUT = 40 * RATE-IN + (HOURS-IN - 40) * RATE-IN * 1.5. 600-WRITE-RTN. IF WS-LINE-CT = 25 PERFORM 300-HEADING-RTN END-IF WRITE PRINT-REC FROM DETAIL-REC AFTER ADVANCING 2 LINES ADD 1 TO WS-LINE-CT.