IDENTIFICATION DIVISION. PROGRAM-ID. HW12FL. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-INPUT-RECORD. 05 WS-INPUT-NAME PIC X(10). 05 WS-INPUT-HOURS PIC 99V99. 05 WS-INPUT-PAYRATE PIC 99V99. 01 WS-NUMBER-LINE. 05 FIILER PIC X(40) VALUE '----+----1----+----2----+----3----+----4'. 05 FIILER PIC X(40) VALUE '----+----5----+----6----+----7----+----8'. 01 REPORT-TITLE. 05 FILLER PIC X(33) VALUE SPACES. 05 filler PIC X(14) VALUE 'PAYROLL REPORT'. 05 FILLER PIC X(33) VALUE SPACES. 01 REPORT-DATE-HEADING. 05 FILLER PIC X(33) VALUE SPACES. 05 filler PIC X(6) VALUE 'AS OF '. 05 CENTERED-DATE PIC X(8). 05 FILLER PIC X(33) VALUE SPACES. 01 REPORT-CREATOR-HEADING. 05 FILLER PIC X(27) VALUE SPACES. 05 filler PIC X(25) VALUE 'PREPARED BY JACOB STEINER'. 05 FILLER PIC X(28) VALUE SPACES. 01 REPORT-DETAIL. 05 FILLER PIC X(21) VALUE SPACES. 05 DETAIL-NAME PIC X(10). 05 DETAIL-RATE PIC ZZ.99. 05 FILLER PIC X(3) VALUE SPACES. 05 DETAIL-HOURS PIC ZZ.99. 05 FILLER PIC X(3) VALUE SPACES. 05 DETAIL-GROSS PIC $Z,ZZ9.99. 01 REPORT-SUMMARY. 05 FILLER PIC X(21) VALUE SPACES. 05 REPORT-TOTALS PIC X(26) VALUE 'TOTALS'. 05 REPORT-GROSS PIC $Z,ZZ9.99. 01 BLANK-LINE PIC X(80) VALUE SPACES. 01 UNDERSCORE-LINE PIC X(80) VALUE ALL '_'. 01 WS-RUN-DATE. 05 WS-RUN-YY PIC X(02). 05 WS-RUN-MM PIC X(02). 05 WS-RUN-DD PIC X(02). 01 WS-FORMATTED-DATE. 05 WS-FORMATTED-DATE-MM PIC X(02). 05 FILLER PIC X(01) VALUE '/'. 05 WS-FORMATTED-DATE-DD PIC X(02). 05 FILLER PIC X(01) VALUE '/'. 05 WS-FORMATTED-DATE-YY PIC X(02). 01 WS-TOTAL-GROSS PIC 9(05)V99 VALUE 0. 01 WS-CURRENT-GROSS PIC 9(05)V99. 01 WS-CURRENT-HOURS PIC 9(04). 01 WS-CURRENT-RATE PIC 9(04). PROCEDURE DIVISION. DISPLAY WS-NUMBER-LINE. DISPLAY REPORT-TITLE. ACCEPT WS-RUN-DATE FROM DATE. MOVE WS-RUN-DD TO WS-FORMATTED-DATE-DD. MOVE WS-RUN-MM TO WS-FORMATTED-DATE-MM. MOVE WS-RUN-YY TO WS-FORMATTED-DATE-YY. MOVE WS-FORMATTED-DATE TO CENTERED-DATE. DISPLAY REPORT-DATE-HEADING. DISPLAY REPORT-CREATOR-HEADING. DISPLAY BLANK-LINE. display " NAME PAY HOURLY GROSS " displaY " RATE RATE PAY" ACCEPT WS-INPUT-RECORD. MOVE WS-INPUT-NAME TO DETAIL-NAME. MOVE WS-INPUT-HOURS TO DETAIL-HOURS. MOVE WS-INPUT-PAYRATE TO DETAIL-RATE. COMPUTE WS-CURRENT-GROSS = WS-INPUT-HOURS * WS-INPUT-PAYRATE. COMPUTE WS-TOTAL-GROSS = WS-TOTAL-GROSS + WS-CURRENT-GROSS. MOVE WS-CURRENT-GROSS TO DETAIL-GROSS. DISPLAY BLANK-LINE. DISPLAY REPORT-DETAIL. ACCEPT WS-INPUT-RECORD. MOVE WS-INPUT-NAME TO DETAIL-NAME. MOVE WS-INPUT-HOURS TO DETAIL-HOURS. MOVE WS-INPUT-PAYRATE TO DETAIL-RATE. COMPUTE WS-CURRENT-GROSS = WS-INPUT-HOURS * WS-INPUT-PAYRATE. COMPUTE WS-TOTAL-GROSS = WS-TOTAL-GROSS + WS-CURRENT-GROSS. MOVE WS-CURRENT-GROSS TO DETAIL-GROSS. DISPLAY BLANK-LINE. DISPLAY REPORT-DETAIL. ACCEPT WS-INPUT-RECORD. MOVE WS-INPUT-NAME TO DETAIL-NAME. MOVE WS-INPUT-HOURS TO DETAIL-HOURS. MOVE WS-INPUT-PAYRATE TO DETAIL-RATE. COMPUTE WS-CURRENT-GROSS = WS-INPUT-HOURS * WS-INPUT-PAYRATE. COMPUTE WS-TOTAL-GROSS = WS-TOTAL-GROSS + WS-CURRENT-GROSS. MOVE WS-CURRENT-GROSS TO DETAIL-GROSS. DISPLAY BLANK-LINE. MOVE WS-TOTAL-GROSS TO REPORT-GROSS. DISPLAY REPORT-DETAIL. DISPLAY BLANK-LINE. DISPLAY REPORT-SUMMARY. DISPLAY BLANK-LINE. DISPLAY " * * * E N D O F R E P O R T * * * " Display WS-NUMBER-LINE.
We use cookies to provide and improve our services. By using our site, you consent to our Cookies Policy. Accept Learn more