Technical data

Example 8–6 (Cont.) Creating New Record Relationships
A100-GET-THE-BOSS.
MOVE 10500 TO EMP_ID.
FETCH FIRST EMPLOYEE USING EMP_ID.
MOVE EMP_LAST_NAME TO MANAGER-NAME.
FETCH FIRST WK_GROUP WITHIN MANAGES.
MOVE GROUP_NAME TO MANAGES-GROUP.
A200-GET-SUPERVISORS.
FETCH NEXT EMPLOYEE WITHIN CONSISTS_OF
AT END GO TO A700-DONE-THE-BOSS.
MOVE EMP_LAST_NAME TO SUPERVISOR-NAME.
KEEP CURRENT USING KEEPSUPER.
FETCH NEXT WK_GROUP WITHIN MANAGES.
MOVE GROUP_NAME TO SUPERVISES-GROUP.
PERFORM A500-GET-EMPLOYEES THROUGH A600-DONE-EMPLOYEES.
GO TO A200-GET-SUPERVISORS.
A500-GET-EMPLOYEES.
FETCH NEXT EMPLOYEE WITHIN CONSISTS_OF
AT END GO TO A510-FIND-CURRENT-SUPER.
MOVE EMP_LAST_NAME TO EMPLOYEE-NAME.
MOVE EMP_ID TO EMPLOYEE-NUMBER.
GENERATE EMPLOYEE-LINE.
GO TO A500-GET-EMPLOYEES.
A510-FIND-CURRENT-SUPER.
FIND FIRST WITHIN KEEPSUPER.
FREE ALL FROM KEEPSUPER.
A600-DONE-EMPLOYEES.
EXIT.
A700-DONE-THE-BOSS.
EXIT.
END PROGRAM PERSONNEL-REPORT.
END PROGRAM PERSONNEL-UPDATE.
8.7.1 PERSONNEL-UPDATE Sample Run—Listing Before Promotion
This sample report (Example 8–7), created by the preceding PERSONNEL-
UPDATE program, corresponds to the data in Figure 5–25.
Example 8–7 Sample Run of PERSONNEL-UPDATE Before Promotion
EMPLOYEE LISTING
MANAGER OF GROUP A IS: HOWELL
GROUP B2
SUPERVISOR IS: MOORE
GROUP B2 EMPLOYEES EMPLOYEE NUMBER EMPLOYEE NAME
05500 BAKER
02000 DEANE
07400 FIFER
05000 KLEIN
01400 RILEY
(continued on next page)
8–28 Database Programming Examples