*PROGRAM TO PERFORM SALARY CALCULATION FOR THE EMPLOYEE *FROM MASTER AND TRANSACTION FILES IDENTIFICATION DIVISION. PROGRAM-ID. PAYROLL-CALC. AUTHOR. KRISHNA KUMAR KHATRI. DATE-WRITTEN. 04-SEP-2003. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT WAGES-MASTER ASSIGN TO DISK ORGANIZATION IS SEQUENTIAL ACCESS MODE IS SEQUENTIAL. SELECT TRANS-MASTER ASSIGN TO DISK ORGANIZATION IS SEQUENTIAL ACCESS MODE IS SEQUENTIAL. DATA DIVISION. FILE SECTION. FD WAGES-MASTER LABEL RECORDS ARE STANDARD VALUE OF FILE-ID IS "WAG-MAS.DAT" DATA RECORD IS WAG-REC. 01 WAG-REC. 02 EMP-NUMB PIC 9(4). 02 EMP-NAME PIC X(30). 02 HRL-RATE PIC 9(3)V99. 02 TTL-GRSI PIC 9(5)V99. FD TRANS-MASTER LABEL RECORDS ARE STANDARD VALUE OF FILE-ID IS "TRANS.DAT" DATA RECORD IS TRANS-REC. 01 TRANS-REC. 02 EMP-CODE PIC 9(4). 02 HRS-WORKED PIC 99. WORKING-STORAGE SECTION. 01 CHOICE PIC 9. 01 FORM-FIG PIC ZZZZ9.00. 01 FORM-F-T PIC ZZZZ9.00. 01 HEADER1. 02 FILLER PIC X(10) VALUE "EMP-CODE". 02 FILLER PIC X(5) VALUE SPACES. 02 FILLER PIC X(10) VALUE "NAME". 01 HEADER2. 02 FILLER PIC X(10) VALUE "HRL-RATE". 02 FILLER PIC X(5) VALUE SPACES. 02 FILLER PIC X(12) VALUE "GROSS INCOME". 01 ENUM PIC 9(4). 01 HRL PIC 99. PROCEDURE DIVISION. A-PARA. DISPLAY "AVAILABLE OPTIONS ARE...". DISPLAY "1. ENTER RECORDS IN THE WAGES-MASTER.". DISPLAY "2. PRINT A PAYSLIP AND UPDATE THE MASTER.". DISPLAY " ". DISPLAY "ENTER YOUR CHOICE :". ACCEPT CHOICE. IF (CHOICE = 1) OPEN OUTPUT WAGES-MASTER GO TO WRITE-DATA ELSE DISPLAY "TRANSACTION FILE OPERATION STARTED" PERFORM ACCEPT-TRANS-DATA OPEN I-O WAGES-MASTER GO TO PROCESS-PAYSLIP. WRITE-DATA. PERFORM ACCEPT-DATA. WRITE WAG-REC. DISPLAY " ". DISPLAY "1. CONTINUE INSERTION.". DISPLAY "2. DISCONTINUE INSERTION.". DISPLAY " ". ACCEPT CHOICE. IF (CHOICE = 1) GO TO WRITE-DATA ELSE CLOSE WAGES-MASTER GO TO END-PARA. ACCEPT-DATA. DISPLAY " ". DISPLAY "ENTER EMPLOYEE CODE :". ACCEPT EMP-NUMB. DISPLAY "EMPLOYEE NAME :". ACCEPT EMP-NAME. DISPLAY "HOURLY RATES :". ACCEPT HRL-RATE. PROCESS-PAYSLIP. READ WAGES-MASTER RECORD AT END GO TO ERR-IP. IF (ENUM = EMP-NUMB) OPEN OUTPUT TRANS-MASTER WRITE TRANS-REC CLOSE TRANS-MASTER GO TO FIN-PS-GEN. GO TO PROCESS-PAYSLIP. ERR-IP. DISPLAY " ". DISPLAY "INVALID EMPLOYEE CODE ENTERED.". CLOSE WAGES-MASTER. GO TO END-PARA. FIN-PS-GEN. CLOSE WAGES-MASTER. OPEN I-O WAGES-MASTER. READ WAGES-MASTER RECORD AT END GO TO END-PARA. IF (EMP-NUMB = ENUM) COMPUTE TTL-GRSI = HRL * HRL-RATE REWRITE WAG-REC DISPLAY " " DISPLAY " " PERFORM PRINT-PAYSLIP CLOSE WAGES-MASTER GO TO END-PARA. PRINT-PAYSLIP. DISPLAY HEADER1. DISPLAY EMP-NUMB " " EMP-NAME. DISPLAY HEADER2. MOVE TTL-GRSI TO FORM-FIG. MOVE HRL-RATE TO FORM-F-T. DISPLAY FORM-F-T " $" FORM-FIG. ACCEPT-TRANS-DATA. DISPLAY " ". DISPLAY "ENTER EMPLOYEE CODE :". ACCEPT EMP-CODE. DISPLAY "HOURS HE/SHE WORKED :". ACCEPT HRS-WORKED. MOVE EMP-CODE TO ENUM. MOVE HRS-WORKED TO HRL. END-PARA. DISPLAY " ". STOP "PROGRAM OVER. PRESS ANY KEY TO EXIT...". STOP RUN.