Technical data

Example 8–6 (Cont.) Creating New Record Relationships
*
* The next two sentences create and store a WK_GROUP record.
* Because KLEIN is current of EMPLOYEE, a STORE WK_GROUP
* automatically connects WK_GROUP as a member of the MANAGES
* set owned by KLEIN, and makes "B3" current of the MANAGES
* and CONSISTS_OF sets.
*
MOVE "B3" TO WK_GROUP.
STORE WK_GROUP.
*
* The next two statements fetch NEILS and retain WK_GROUP
* "B3" as current of CONSISTS_OF.
*
MOVE 7000 TO EMP_ID.
FETCH FIRST EMPLOYEE USING EMP_ID RETAINING CONSISTS_OF.
*
* The next statement disconnects NEILS from WK_GROUP "B1"
* record and reconnects him to the WK_GROUP "B3" record.
* It also retains "B3" as current of CONSISTS_OF. This
* maintains the pointer at "B3" allowing the program to
* reassign RILEY to KLEIN.
*
RECONNECT EMPLOYEE WITHIN CONSISTS_OF RETAINING CONSISTS_OF.
*
* The next three statements fetch RILEY, disconnect him from
* "B2" and reconnect him to "B3".
*
MOVE 01400 TO EMP_ID.
FETCH FIRST EMPLOYEE USING EMP_ID RETAINING CONSISTS_OF.
RECONNECT EMPLOYEE WITHIN CONSISTS_OF.
END PROGRAM PROMOTION-UPDATE.
IDENTIFICATION DIVISION.
PROGRAM-ID. PERSONNEL-REPORT.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT PERSONNEL-REPORT-FILE ASSIGN TO "TT:".
DATA DIVISION.
FILE SECTION.
FD PERSONNEL-REPORT-FILE
VALUE OF ID IS "PERSONNEL.LIS"
REPORT IS PERSONNEL-LISTING.
WORKING-STORAGE SECTION.
01 CONTROL-FIELDS.
02 MANAGER-NAME PIC X(20).
02 MANAGES-GROUP PIC XX.
02 SUPERVISOR-NAME PIC X(20).
02 SUPERVISES-GROUP PIC XX.
02 EMPLOYEE-NUMBER PIC XXXXX.
02 EMPLOYEE-NAME PIC X(20).
(continued on next page)
8–26 Database Programming Examples