Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 000001 IDENTIFICATION DIVISION.
- 000002 PROGRAM-ID. EMPLOYR.
- 000003 AUTHOR. ALEX EVANGELOU.
- 000004 INSTALLATION. LAUNCHCODE NEWARK.
- 000005 DATE-WRITTEN. 01-07-95.
- 000006 **************************************************************
- 000007 * THIS PROGRAM CALCULATES THE PAYROLL
- 000008 **************************************************************
- 000009 ENVIRONMENT DIVISION.
- 000010 INPUT-OUTPUT SECTION.
- 000011 FILE-CONTROL.
- 000012 SELECT EMPLOYEE-PAYROLL-FILE ASSIGN TO PAYIN.
- 000013 SELECT PAYROLL-REPORT-FILE ASSIGN TO PAYROUT.
- 000014 DATA DIVISION.
- 000015 FILE SECTION.
- 000016 FD EMPLOYEE-PAYROLL-FILE
- 000017 RECORDING MODE IS F
- 000018 LABEL RECORDS ARE STANDARD
- 000019 BLOCK CONTAINS 0.
- 000020 01 PAYROLL-RECORD PIC X(80).
- 000021
- 000022 FD PAYROLL-REPORT-FILE
- 000023 RECORDING MODE IS F
- 000024 LABEL RECORDS ARE STANDARD
- 000025 BLOCK CONTAINS 0.
- 000026 01 REPORT-RECORD PIC X(80).
- 000027
- 000028 WORKING-STORAGE SECTION.
- 000029 01 WS-MASTER-RECORD.
- 000030 05 WS-LAST-NME PIC X(20).
- 000031 05 WS-FIRST-NME PIC X(20).
- 000032 05 WS-HOURLY-RATE PIC S9(3)V99 COMP-3.
- 000033 05 FILLER PIC X(37).
- 000034
- 000035 01 WS-REPORT-RECORD.
- 000036 05 PIC X(1).
- 000037 05 RPT-FIRST-NAME PIC X(15).
- 000038 05 PIC X(2).
- 000039 05 RPT-LAST-NAME PIC X(15).
- 000040 05 PIC X(2).
- 000041 05 RPT-LIT1 PIC X(6) VALUE 'MAKES'.
- 000042 05 RPT-RATE PIC $$$9.99-.
- 000043 05 RPT-LIT2 PIC X(11) VALUE ' PER HOUR.'.
- 000044 05 PIC X(3).
- 000045 05 RPT-MSG PIC X(57).
- 000046
- 000047 01 WS-SWITCH.
- 000048 05 MASTER-EOF-SWITCH PIC X VALUE 'N'.
- 000049 88 EOF VALUE 'Y'.
- 000050
- 000051 01 VARIABLES.
- 000052 05 COUNTER-1 PIC 9 VALUE 0.
- 000053 05 IN-COUNTER PIC 9999 VALUE 0.
- 000054 05 OUT-COUNTER PIC 9999 VALUE 0.
- 000055
- 000056 *-----------------------------------------------
- 000057 PROCEDURE DIVISION.
- 000058 PERFORM INITIALIZATION
- 000059 PERFORM PROCESS-MASTER UNTIL EOF
- 000060 PERFORM EOF-PROCESS
- 000061 STOP RUN.
- 000062 *
- 000063 INITIALIZATION.
- 000064 OPEN INPUT EMPLOYEE-PAYROLL-FILE
- 000065 OUTPUT PAYROLL-REPORT-FILE
- 000066 .
- 000067 *
- 000068 PROCESS-MASTER.
- 000069 READ EMPLOYEE-PAYROLL-FILE INTO WS-MASTER-RECORD
- 000070 AT END
- 000071 SET EOF TO TRUE
- 000072 NOT AT END
- 000073 ADD 1 TO IN-COUNTER
- 000074 IF WS-HOURLY-RATE < 9.00 THEN MOVE
- 000075 'THIS IS ILLEGAL - TIME FOR A RAISE'
- 000076 TO RPT-MSG
- 000077 ELSE MOVE SPACES TO RPT-MSG
- 000078 END-IF
- 000079 MOVE WS-FIRST-NME TO RPT-FIRST-NAME
- 000080 MOVE WS-LAST-NME TO RPT-LAST-NAME
- 000081 MOVE WS-HOURLY-RATE TO RPT-RATE
- 000082 WRITE REPORT-RECORD FROM WS-REPORT-RECORD
- 000083 ADD 1 TO OUT-COUNTER
- 000084 END-READ.
- 000085
- 000086 *
- 000087 EOF-PROCESS.
- 000088 DISPLAY 'NUMBER OF RECORDS READ = ' IN-COUNTER
- 000089 DISPLAY 'NUMBER OF RECORDS WRITTEN = ' OUT-COUNTER
- 000090 CLOSE EMPLOYEE-PAYROLL-FILE
- 000091 PAYROLL-REPORT-FILE
- 000092 .
- . . . . . . . . . . . . . . . . . . . . . . . . . . .
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement