Technical data

Example 8–6 (Cont.) Creating New Record Relationships
MOVE 04000 TO EMP_ID.
FIND FIRST EMPLOYEE WITHIN ALL_EMPLOYEES USING EMP_ID.
CONNECT EMPLOYEE TO CONSISTS_OF.
MOVE 07000 TO EMP_ID.
FIND FIRST EMPLOYEE WITHIN ALL_EMPLOYEES USING EMP_ID.
CONNECT EMPLOYEE TO CONSISTS_OF.
MOVE 06600 TO EMP_ID.
FIND FIRST EMPLOYEE WITHIN ALL_EMPLOYEES USING EMP_ID.
MOVE "B2" TO GROUP_NAME.
STORE WK_GROUP.
MOVE 01400 TO EMP_ID.
FIND FIRST EMPLOYEE WITHIN ALL_EMPLOYEES USING EMP_ID.
CONNECT EMPLOYEE TO CONSISTS_OF.
MOVE 02000 TO EMP_ID.
FIND FIRST EMPLOYEE WITHIN ALL_EMPLOYEES USING EMP_ID.
CONNECT EMPLOYEE TO CONSISTS_OF.
MOVE 05000 TO EMP_ID.
FIND FIRST EMPLOYEE WITHIN ALL_EMPLOYEES USING EMP_ID.
CONNECT EMPLOYEE TO CONSISTS_OF.
MOVE 05500 TO EMP_ID.
FIND FIRST EMPLOYEE WITHIN ALL_EMPLOYEES USING EMP_ID.
CONNECT EMPLOYEE TO CONSISTS_OF.
MOVE 07400 TO EMP_ID.
FIND FIRST EMPLOYEE WITHIN ALL_EMPLOYEES USING EMP_ID.
CONNECT EMPLOYEE TO CONSISTS_OF.
IDENTIFICATION DIVISION.
PROGRAM-ID. PROMOTION-UPDATE.
PROCEDURE DIVISION.
A000-BEGIN.
MOVE "A" TO GROUP_NAME.
*
* The next statement makes HOWELL’s GROUP "A" record current
*
FIND FIRST WK_GROUP USING GROUP_NAME.
*
* The next two statements fetch KLEIN using EMP_ID.
* The RETAINING clause keeps the WK_GROUP record "A"
* as current of the CONSISTS_OF set. This allows the program
* to connect KLEIN to the correct occurrence of WK_GROUP.
* A fetch to KLEIN without the RETAINING clause makes KLEIN
* current of CONSISTS_OF thus destroying the pointer to the
* WK_GROUP record "A".
*
MOVE 05000 TO EMP_ID.
FETCH FIRST EMPLOYEE USING EMP_ID RETAINING CONSISTS_OF.
*
* The next statement disconnects KLEIN from the WK_GROUP "B1"
* record and connects him to the current WK_GROUP "A" record.
*
RECONNECT EMPLOYEE WITHIN CONSISTS_OF.
(continued on next page)
Database Programming Examples 8–25