rendered paste body IDENTIFICATION DIVISION.
PROGRAM-ID. LAB5.
AUTHOR. Dylan Flint
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT EMP-FILE ASSIGN TO "./lab6.dat"
ORGANIZATION IS LINE SEQUENTIAL.
SELECT GRAD-REPORT-FILE ASSIGN TO "./lab6gradout.txt"
ORGANIZATION IS LINE SEQUENTIAL.
SELECT NON-GRAD-REPORT-FILE ASSIGN TO "./lab6nongradout.txt"
ORGANIZATION IS LINE SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD EMP-FILE
DATA RECORD IS EMP-REC
RECORDING MODE IS F
RECORD CONTAINS 80 CHARACTERS.
01 EMP-REC.
05 SR-EMP-NUM PIC XXX.
05 SR-NAME PIC X(15).
05 SR-YEARS-SERVICE PIC 99.
05 SR-EDU-CODE PIC X.
05 SR-PRES-SALARY PIC 9(5)V99.
05 SR-BUDGET-ESTIMATE PIC 9(6)V99.
FD GRAD-REPORT-FILE
DATA RECORD IS WS-GRAD-PRT-LINE
RECORDING MODE IS F
RECORD CONTAINS 132 CHARACTERS.
01 GRAD-PRT-LINE PIC X(132).
FD NON-GRAD-REPORT-FILE
DATA RECORD IS WS-NON-GRAD-PRT-LINE
RECORDING MODE IS F
RECORD CONTAINS 132 CHARACTERS.
01 NON-GRAD-PRT-LINE PIC X(132).
WORKING-STORAGE SECTION.
01 WS-GRAD-PRT-LINE.
** ADD THE PIC VALUES IN THE FOLLOWING LINE.
05 FILLER PIC X(1).
05 SDL-GRAD-EMP-NUM PIC ZZ9.
05 FILLER PIC X(5).
05 SDL-GRAD-NAME PIC X(15).
05 FILLER PIC X(2).
05 SDL-GRAD-CLASSIFICATION PIC X(8).
05 FILLER PIC X(6).
05 SDL-GRAD-YEARS-SEVICE PIC Z9.
05 FILLER PIC X(11).
05 SDL-GRAD-PRESENT-SALARY PIC ZZ,ZZ9.99.
05 FILLER PIC X(7).
05 SDL-GRAD-PAY-INCREASE-PERECNT PIC ZZ.ZZ.
05 FILLER PIC X.
05 SDL-GRAD-PERC-SIGN PIC X.
05 FILLER PIC X(10).
05 SDL-GRAD-PAY-INCREASE-AMOUNT PIC $$$$$9.99+.
05 FILLER PIC X(6).
05 SDL-GRAD-NEW-SALARY PIC $ZZZ,ZZ9.99.
05 FILLER PIC X(6).
05 SDL-GRAD-BUDGET-DIFF PIC $ZZZ,ZZ9.99.
01 WS-NON-GRAD-PRT-LINE.
** ADD THE PIC VALUES IN THE FOLLOWING LINE.
05 FILLER PIC X(1).
05 SDL-NON-GRAD-EMP-NUM PIC ZZ9.
05 FILLER PIC X(5).
05 SDL-NON-GRAD-NAME PIC X(15).
05 FILLER PIC X(2).
05 SDL-NON-GRAD-CLASSIFICATION PIC X(8).
05 FILLER PIC X(6).
05 SDL-NON-GRAD-YEARS-SEVICE PIC Z9.
05 FILLER PIC X(11).
05 SDL-NON-GRAD-PRESENT-SALARY PIC ZZ,ZZ9.99.
05 FILLER PIC X(7).
05 SDL-NON-GRAD-PAY-INC-PERECNT PIC ZZ.ZZ.
05 FILLER PIC X.
05 SDL-NON-GRAD-PERC-SIGN PIC X.
05 FILLER PIC X(10).
05 SDL-NON-GRAD-PAY-INC-AMOUNT PIC $$$$$9.99+.
05 FILLER PIC X(6).
05 SDL-NON-GRAD-NEW-SALARY PIC $ZZZ,ZZ9.99.
05 FILLER PIC X(6).
05 SDL-NON-GRAD-BUDGET-DIFF PIC $ZZZ,ZZ9.99.
* ADD THE PIC VALUES IN THE FOLLOWING TOTAL LINES.
01 WS-NEW-SALARY PIC 9(6)V99 VALUE ZERO.
01 WS-PRES-SALARY PIC 9(5)V99 VALUE ZERO.
01 WS-PAY-INCREASE PIC 9999V99 VALUE ZERO.
01 WS-ANALYST-COUNTER PIC 99 VALUE ZERO.
01 WS-SEN-PROG-COUNTER PIC 99 VALUE ZERO.
01 WS-GRAD-PROGRAMMER-COUNTER PIC 99 VALUE ZERO.
01 WS-NON-GRAD-PROGRAMMER-COUNTER PIC 99 VALUE ZERO.
01 WS-BUDGET-ESTIMATE PIC 9(5)V99 VALUE ZERO.
01 WS-BUDGET-DIFF PIC 9(4)V99 VALUE ZERO.
01 WS-JR-PROG-COUNTER PIC 99 VALUE ZERO.
01 WS-GRAD-PAGE-COUNTER PIC 99 VALUE ZERO.
01 WS-NON-GRAD-PAGE-COUNTER PIC 99 VALUE ZERO.
01 WS-AVG-ANALYST PIC 9(5)V99 VALUE ZERO.
01 WS-AVG-SEN-PROG PIC 9(5)V99 VALUE ZERO.
01 WS-AVG-GRAD-PROGRAMMER PIC 9(5)V99 VALUE ZERO.
01 WS-AVG-NON-GRAD-PROGRAMMER PIC 9(5)V99 VALUE ZERO.
01 WS-AVG-JR-PROG PIC 9(5)V99 VALUE ZERO.
01 WS-GRAD-PAGE-NUMBER PIC 9 VALUE ZERO.
01 WS-NON-GRAD-PAGE-NUMBER PIC 9 VALUE ZERO.
01 CLASSIFICATIONS.
05 ANALYST PIC X(7) VALUE 'ANALYST'.
05 SEN-PROG PIC X(8) VALUE 'SEN PROG'.
05 PROGRAMMER PIC X(4) VALUE 'PROG'.
05 JR-PROG PIC X(7) VALUE 'JR PROG'.
01 CONST-PAY-INCREASE.
05 ANALYST-INCREASE PIC 99V9 VALUE 13.2.
05 SENIOR-PROG-INCREASE PIC 99V9 VALUE 11.5.
05 PROGRAMMER-INCREASE PIC 9V9 VALUE 8.3.
05 JUNIOR-PROG-INCREASE PIC 9V9 VALUE 6.3.
05 UNCLASSIFIED PIC 9 VALUE 0.
01 END-SWITCH PIC XXX VALUE 'NO'.
01 GRAD-TOTAL-LINE.
05 FILLER PIC X(2).
05 FILLER PIC X(17)
VALUE "AVERAGE INCREASES".
05 FILLER PIC X(2).
05 FILLER PIC X(8) VALUE "ANALYST=".
05 AVG-ANALYST PIC Z9,999.99.
05 FILLER PIC X(2).
05 FILLER PIC X(9) VALUE "SEN PROG=".
05 AVG-SEN-PROG PIC Z9,999.99.
05 FILLER PIC X(2).
05 FILLER PIC X(5) VALUE "PROG=".
05 AVG-GRAD-PROGRAMMER PIC Z9,999.99.
01 NON-GRAD-TOTAL-LINE.
05 FILLER PIC X(2).
05 FILLER PIC X(17)
VALUE "AVERAGE INCREASES".
05 FILLER PIC X(2).
05 FILLER PIC X(5) VALUE "PROG=".
05 AVG-NON-GRAD-PROGRAMMER PIC Z9,999.99.
05 FILLER PIC XX VALUE SPACES.
05 AVG-JR-PROG PIC ZZ9,999.99.
01 PRINT-GRAD-PAGE-NUMBER.
05 FILLER PIC X(13) VALUE "REPORT PAGE: ".
05 PRT-GRAD-PG-NUM PIC ZZ.
01 PRINT-NON-GRAD-PAGE-NUMBER.
05 FILLER PIC X(13) VALUE "REPORT PAGE: ".
05 PRT-NON-GRAD-PG-NUM PIC ZZ.
01 RPT-HEADING.
05 FILLER PIC X(28).
05 FILLER PIC X(23)
VALUE "PAY INCREASE REPORT".
01 HEADING-LINE1.
05 FILLER PIC X(1) VALUE SPACES.
05 FILLER PIC X(3) VALUE "EMP".
05 FILLER PIC X(12) VALUE SPACES.
05 FILLER PIC X(4) VALUE "NAME".
05 FILLER PIC X(7) VALUE SPACES.
05 FILLER PIC X(14) VALUE "CLASSIFICATION".
05 FILLER PIC X(2) VALUE SPACES.
05 FILLER PIC X(5) VALUE "YEARS".
05 FILLER PIC X(13) VALUE SPACES.
05 FILLER PIC X(7) VALUE "PRESENT".
05 FILLER PIC X(8) VALUE SPACES.
05 FILLER PIC X(12) VALUE "PAY INCREASE".
05 FILLER PIC X(5) VALUE SPACES.
05 FILLER PIC X(12) VALUE "PAY INCREASE".
05 FILLER PIC X(4) VALUE SPACES.
05 FILLER PIC X(10) VALUE "NEW SALARY".
05 FILLER PIC X(2) VALUE SPACES.
05 FILLER PIC X(16) VALUE "BUDGET DIFF".
01 HEADING-LINE2.
05 FILLER PIC X(1) VALUE SPACES.
05 FILLER PIC X(3) VALUE "NUM".
05 FILLER PIC X(39) VALUE SPACES.
05 FILLER PIC X(10) VALUE "OF SERVICE".
05 FILLER PIC X(8) VALUE SPACES.
05 FILLER PIC X(6) VALUE "SALARY".
05 FILLER PIC X(10) VALUE SPACES.
05 FILLER PIC X(7) VALUE "PERCENT".
05 FILLER PIC X(13) VALUE SPACES.
05 FILLER PIC X(6) VALUE "AMOUNT".
05 FILLER PIC X(5) VALUE SPACES.
01 UNDERLINES.
05 FILLER PIC X(1) VALUE SPACES.
05 FILLER PIC X(7) VALUE "-------".
05 FILLER PIC X(2) VALUE SPACES.
05 FILLER PIC X(15) VALUE "---------------".
05 FILLER PIC X(2) VALUE SPACES.
05 FILLER PIC X(14) VALUE "--------------".
05 FILLER PIC X(2) VALUE SPACES.
05 FILLER PIC X(11) VALUE "-----------".
05 FILLER PIC X(3) VALUE SPACES.
05 FILLER PIC X(14) VALUE "--------------".
05 FILLER PIC X(3) VALUE SPACES.
05 FILLER PIC X(14) VALUE "--------------".
05 FILLER PIC X(5) VALUE SPACES.
05 FILLER PIC X(11) VALUE "-----------".
05 FILLER PIC X(5) VALUE SPACES.
05 FILLER PIC X(10) VALUE "----------".
05 FILLER PIC X(7) VALUE SPACES.
05 FILLER PIC X(16) VALUE "----------------".
01 NAME-LINE.
05 FILLER PIC X(5) VALUE SPACES.
05 FILLER PIC X(28)
VALUE "DYLAN FLINT, LAB 5".
05 FILLER PIC X(5) VALUE SPACES.
05 NL-DATE PIC 9(6).
05 FILLER PIC X(5) VALUE SPACES.
05 NL-TIME PIC 9(8).
PROCEDURE DIVISION.
OPEN INPUT EMP-FILE
OPEN OUTPUT GRAD-REPORT-FILE
OPEN OUTPUT NON-GRAD-REPORT-FILE.
ACCEPT NL-DATE FROM DATE.
ACCEPT NL-TIME FROM TIME.
PERFORM 100-PRINT-GRAD-HEADINGS.
PERFORM 200-PRINT-NON-GRAD-HEADINGS.
READ EMP-FILE AT END MOVE 'YES' TO END-SWITCH.
PERFORM 10-PROCESS-RECORDS UNTIL END-SWITCH = 'YES'.
PERFORM 1300-GRAD-TOTALS.
PERFORM 1350-NON-GRAD-TOTALS.
PERFORM 300-PRINT-TOTALS.
CLOSE EMP-FILE
GRAD-REPORT-FILE
NON-GRAD-REPORT-FILE.
STOP RUN.
10-PROCESS-RECORDS.
MOVE SPACES TO GRAD-PRT-LINE.
MOVE SPACES TO NON-GRAD-PRT-LINE.
MOVE SR-PRES-SALARY TO WS-PRES-SALARY.
EVALUATE SR-EDU-CODE
WHEN = "G"
PERFORM 400-GRADUATES
WHEN = "N"
PERFORM 500-NON-GRADUATES
END-EVALUATE.
READ EMP-FILE AT END MOVE 'YES' TO END-SWITCH.
100-PRINT-GRAD-HEADINGS.
WRITE GRAD-PRT-LINE FROM NAME-LINE AFTER ADVANCING PAGE.
WRITE GRAD-PRT-LINE FROM RPT-HEADING AFTER ADVANCING 2 LINES.
WRITE GRAD-PRT-LINE FROM HEADING-LINE1 AFTER ADVANCING 2 LINES.
WRITE GRAD-PRT-LINE FROM HEADING-LINE2 AFTER ADVANCING 1 LINE
WRITE GRAD-PRT-LINE FROM UNDERLINES AFTER ADVANCING 1 LINE.
PERFORM 1200-GRAD-PAGE-NUMBER.
200-PRINT-NON-GRAD-HEADINGS.
WRITE NON-GRAD-PRT-LINE FROM NAME-LINE AFTER ADVANCING PAGE.
WRITE NON-GRAD-PRT-LINE FROM RPT-HEADING AFTER ADVANCING 2 LINES.
WRITE NON-GRAD-PRT-LINE
FROM HEADING-LINE1 AFTER ADVANCING 2 LINES.
WRITE NON-GRAD-PRT-LINE
FROM HEADING-LINE2 AFTER ADVANCING 1 LINE.
WRITE NON-GRAD-PRT-LINE FROM UNDERLINES AFTER ADVANCING 1 LINE.
PERFORM 1250-NON-GRAD-PAGE-NUMBER.
300-PRINT-TOTALS.
WRITE GRAD-PRT-LINE FROM GRAD-TOTAL-LINE
AFTER ADVANCING 2 LINES.
WRITE NON-GRAD-PRT-LINE FROM NON-GRAD-TOTAL-LINE
AFTER ADVANCING 2 LINES.
400-GRADUATES.
EVALUATE SR-YEARS-SERVICE
WHEN > 15
MOVE ANALYST TO SDL-GRAD-CLASSIFICATION
PERFORM 600-ANALYST
WHEN > 8
MOVE SEN-PROG TO SDL-GRAD-CLASSIFICATION
PERFORM 700-SENIOR-PROG
WHEN > 2
MOVE PROGRAMMER TO SDL-GRAD-CLASSIFICATION
PERFORM 800-GRAD-PROGRAMMER
WHEN <= 2
MOVE SPACES TO SDL-GRAD-CLASSIFICATION
PERFORM 1000-GRAD-UNCLASSIFIED
END-EVALUATE.
500-NON-GRADUATES.
EVALUATE SR-YEARS-SERVICE
WHEN > 10
MOVE PROGRAMMER TO SDL-NON-GRAD-CLASSIFICATION
PERFORM 850-NON-GRAD-PROGRAMMER
WHEN > 4
MOVE JR-PROG TO SDL-NON-GRAD-CLASSIFICATION
PERFORM 900-JUNIOR-PROG
WHEN <= 4
MOVE SPACES TO SDL-NON-GRAD-CLASSIFICATION
PERFORM 1050-NON-GRAD-UNCLASSIFIED
END-EVALUATE.
600-ANALYST.
COMPUTE WS-PAY-INCREASE =
(WS-PRES-SALARY * ANALYST-INCREASE)/100.
COMPUTE WS-NEW-SALARY =
WS-PAY-INCREASE + SR-PRES-SALARY.
ADD 1 TO WS-ANALYST-COUNTER.
ADD WS-PAY-INCREASE TO WS-AVG-ANALYST.
MOVE ANALYST TO SDL-GRAD-CLASSIFICATION.
MOVE ANALYST-INCREASE TO SDL-GRAD-PAY-INCREASE-PERECNT.
MOVE '%' TO SDL-GRAD-PERC-SIGN.
PERFORM 1600-GRAD-BUDGET-DIFF.
700-SENIOR-PROG.
COMPUTE WS-PAY-INCREASE =
(SR-PRES-SALARY * SENIOR-PROG-INCREASE)/100.
COMPUTE WS-NEW-SALARY =
WS-PAY-INCREASE + SR-PRES-SALARY.
ADD 1 TO WS-SEN-PROG-COUNTER.
ADD WS-PAY-INCREASE TO WS-AVG-SEN-PROG.
MOVE SEN-PROG TO SDL-GRAD-CLASSIFICATION.
MOVE SENIOR-PROG-INCREASE TO SDL-GRAD-PAY-INCREASE-PERECNT.
MOVE '%' TO SDL-GRAD-PERC-SIGN.
PERFORM 1600-GRAD-BUDGET-DIFF.
800-GRAD-PROGRAMMER.
COMPUTE WS-PAY-INCREASE =
(SR-PRES-SALARY * PROGRAMMER-INCREASE)/100.
COMPUTE WS-NEW-SALARY =
WS-PAY-INCREASE + SR-PRES-SALARY.
ADD 1 TO WS-GRAD-PROGRAMMER-COUNTER.
ADD WS-PAY-INCREASE TO WS-AVG-GRAD-PROGRAMMER.
MOVE PROGRAMMER TO SDL-GRAD-CLASSIFICATION.
MOVE PROGRAMMER-INCREASE TO SDL-GRAD-PAY-INCREASE-PERECNT.
MOVE '%' TO SDL-GRAD-PERC-SIGN.
PERFORM 1600-GRAD-BUDGET-DIFF.
850-NON-GRAD-PROGRAMMER.
COMPUTE WS-PAY-INCREASE =
(SR-PRES-SALARY * PROGRAMMER-INCREASE)/100.
COMPUTE WS-NEW-SALARY =
WS-PAY-INCREASE + SR-PRES-SALARY.
ADD 1 TO WS-NON-GRAD-PROGRAMMER-COUNTER.
ADD WS-PAY-INCREASE TO WS-AVG-NON-GRAD-PROGRAMMER.
MOVE PROGRAMMER TO SDL-NON-GRAD-CLASSIFICATION.
MOVE PROGRAMMER-INCREASE TO SDL-NON-GRAD-PAY-INC-PERECNT.
MOVE '%' TO SDL-NON-GRAD-PERC-SIGN.
PERFORM 1700-NON-GRAD-BUDGET-DIFF.
900-JUNIOR-PROG.
COMPUTE WS-PAY-INCREASE =
(SR-PRES-SALARY * JUNIOR-PROG-INCREASE)/100.
COMPUTE WS-NEW-SALARY =
WS-PAY-INCREASE + SR-PRES-SALARY.
ADD 1 TO WS-JR-PROG-COUNTER.
ADD WS-PAY-INCREASE TO WS-AVG-JR-PROG.
MOVE JR-PROG TO SDL-NON-GRAD-CLASSIFICATION.
MOVE JUNIOR-PROG-INCREASE TO SDL-NON-GRAD-PAY-INC-PERECNT.
MOVE '%' TO SDL-NON-GRAD-PERC-SIGN.
PERFORM 1700-NON-GRAD-BUDGET-DIFF.
1000-GRAD-UNCLASSIFIED.
MOVE 0.00 TO WS-PAY-INCREASE.
MOVE 0 TO SDL-GRAD-PAY-INCREASE-PERECNT.
MOVE SPACES TO SDL-GRAD-PERC-SIGN.
COMPUTE WS-NEW-SALARY =
WS-PAY-INCREASE + SR-PRES-SALARY.
PERFORM 1600-GRAD-BUDGET-DIFF.
1050-NON-GRAD-UNCLASSIFIED.
MOVE 0.00 TO WS-PAY-INCREASE.
MOVE 0 TO SDL-NON-GRAD-PAY-INC-PERECNT.
MOVE SPACES TO SDL-NON-GRAD-PERC-SIGN.
COMPUTE WS-NEW-SALARY =
WS-PAY-INCREASE + SR-PRES-SALARY.
PERFORM 1700-NON-GRAD-BUDGET-DIFF.
1100-MOVE-GRAD.
MOVE SR-EMP-NUM TO SDL-GRAD-EMP-NUM.
MOVE SR-NAME TO SDL-GRAD-NAME.
MOVE SR-YEARS-SERVICE TO SDL-GRAD-YEARS-SEVICE.
MOVE SR-PRES-SALARY TO SDL-GRAD-PRESENT-SALARY.
MOVE WS-PAY-INCREASE TO SDL-GRAD-PAY-INCREASE-AMOUNT.
MOVE WS-NEW-SALARY TO SDL-GRAD-NEW-SALARY.
PERFORM 1400-PRINT-GRAD.
1150-MOVE-NON-GRAD.
MOVE SR-EMP-NUM TO SDL-NON-GRAD-EMP-NUM.
MOVE SR-NAME TO SDL-NON-GRAD-NAME.
MOVE SR-YEARS-SERVICE TO SDL-NON-GRAD-YEARS-SEVICE.
MOVE SR-PRES-SALARY TO SDL-NON-GRAD-PRESENT-SALARY.
MOVE WS-PAY-INCREASE TO SDL-NON-GRAD-PAY-INC-AMOUNT.
MOVE WS-NEW-SALARY TO SDL-NON-GRAD-NEW-SALARY.
PERFORM 1500-PRINT-NON-GRAD.
1200-GRAD-PAGE-NUMBER.
ADD 1 TO WS-GRAD-PAGE-NUMBER.
MOVE WS-GRAD-PAGE-NUMBER TO PRT-GRAD-PG-NUM.
WRITE GRAD-PRT-LINE FROM PRINT-GRAD-PAGE-NUMBER.
1250-NON-GRAD-PAGE-NUMBER.
ADD 1 TO WS-NON-GRAD-PAGE-NUMBER.
MOVE WS-NON-GRAD-PAGE-NUMBER TO PRT-NON-GRAD-PG-NUM.
WRITE NON-GRAD-PRT-LINE FROM PRINT-NON-GRAD-PAGE-NUMBER.
1300-GRAD-TOTALS.
COMPUTE WS-AVG-ANALYST = WS-AVG-ANALYST / WS-ANALYST-COUNTER.
COMPUTE WS-AVG-SEN-PROG = WS-AVG-SEN-PROG / WS-ANALYST-COUNTER.
COMPUTE WS-AVG-GRAD-PROGRAMMER =
WS-AVG-GRAD-PROGRAMMER / WS-ANALYST-COUNTER.
MOVE WS-AVG-ANALYST TO AVG-ANALYST.
MOVE WS-AVG-SEN-PROG TO AVG-SEN-PROG.
MOVE WS-AVG-GRAD-PROGRAMMER TO AVG-GRAD-PROGRAMMER.
1350-NON-GRAD-TOTALS.
COMPUTE WS-AVG-NON-GRAD-PROGRAMMER =
WS-AVG-NON-GRAD-PROGRAMMER / WS-ANALYST-COUNTER.
COMPUTE WS-AVG-JR-PROG = WS-AVG-JR-PROG / WS-ANALYST-COUNTER.
MOVE WS-AVG-ANALYST TO AVG-ANALYST.
MOVE WS-AVG-SEN-PROG TO AVG-SEN-PROG.
MOVE WS-AVG-NON-GRAD-PROGRAMMER TO AVG-NON-GRAD-PROGRAMMER.
MOVE WS-AVG-JR-PROG TO AVG-JR-PROG.
1400-PRINT-GRAD.
ADD 1 TO WS-GRAD-PAGE-COUNTER.
IF WS-GRAD-PAGE-COUNTER >= 15
WRITE GRAD-PRT-LINE
FROM WS-GRAD-PRT-LINE AFTER ADVANCING 2 LINES
MOVE 0 TO WS-GRAD-PAGE-COUNTER
MOVE SPACES TO GRAD-PRT-LINE
PERFORM 100-PRINT-GRAD-HEADINGS
ELSE
WRITE GRAD-PRT-LINE
FROM WS-GRAD-PRT-LINE AFTER ADVANCING 2 LINES
END-IF.
1500-PRINT-NON-GRAD.
ADD 1 TO WS-NON-GRAD-PAGE-COUNTER.
IF WS-NON-GRAD-PAGE-COUNTER >= 15
WRITE NON-GRAD-PRT-LINE FROM WS-NON-GRAD-PRT-LINE
AFTER ADVANCING 2 LINES
MOVE 0 TO WS-NON-GRAD-PAGE-COUNTER
MOVE SPACES TO NON-GRAD-PRT-LINE
PERFORM 200-PRINT-NON-GRAD-HEADINGS
ELSE
WRITE NON-GRAD-PRT-LINE FROM WS-NON-GRAD-PRT-LINE
AFTER ADVANCING 2 LINES
END-IF.
1600-GRAD-BUDGET-DIFF.
MOVE SR-BUDGET-ESTIMATE TO WS-BUDGET-ESTIMATE.
COMPUTE WS-BUDGET-DIFF = WS-NEW-SALARY - WS-BUDGET-ESTIMATE.
MOVE WS-BUDGET-DIFF TO SDL-GRAD-BUDGET-DIFF.
PERFORM 1100-MOVE-GRAD.
1700-NON-GRAD-BUDGET-DIFF.
MOVE SR-BUDGET-ESTIMATE TO WS-BUDGET-ESTIMATE.
COMPUTE WS-BUDGET-DIFF = WS-NEW-SALARY - WS-BUDGET-ESTIMATE.
MOVE WS-BUDGET-DIFF TO SDL-NON-GRAD-BUDGET-DIFF.
PERFORM 1150-MOVE-NON-GRAD.