Technical data

Example 8–1 (Cont.) Populating a Database
DIVISION-LOAD-LOOP.
IF CONTROL-FIELD OF MANAGES-RECORD = "M"
MOVE EMP_ID OF MANAGES-RECORD TO EMP_ID OF EMPLOYEE
FIND FIRST EMPLOYEE WITHIN ALL_EMPLOYEES
USING EMP_ID OF EMPLOYEE
AT END DISPLAY EMP_ID OF EMPLOYEE,
" EMP_ID for MANAGES does not exist"
MOVE " " TO CONTROL-FIELD OF MANAGES-RECORD
PERFORM BAD-DIVISION THRU BAD-DIVISION-END UNTIL
CONTROL-FIELD OF MANAGES-RECORD = "M"
GO TO DIVISION-LOAD-LOOP
END-FIND
MOVE CORR MANAGES-RECORD TO WK_GROUP
STORE WK_GROUP
ADD 1 TO DIVISION-COUNT
GO TO DIVISION-LOAD
ELSE
MOVE EMP_ID OF CONSISTS-RECORD TO EMP_ID OF EMPLOYEE
FIND FIRST EMPLOYEE WITHIN ALL_EMPLOYEES USING
EMP_ID OF EMPLOYEE
AT END DISPLAY EMP_ID OF CONSISTS-RECORD,
" EMP_ID for CONSISTS_OF does not exist"
GO TO DIVISION-LOAD
END-FIND
CONNECT EMPLOYEE TO CONSISTS_OF
GO TO DIVISION-LOAD.
BAD-DIVISION.
READ DIVISION-FILE AT END GO TO DIVISION-LOAD-END.
IF CONTROL-FIELD OF MANAGES-RECORD = "C"
DISPLAY EMP_ID OF CONSISTS-RECORD, " EMP_ID not connected".
BAD-DIVISION-END.
EXIT.
DIVISION-LOAD-END.
EXIT.
RESP-FOR-LOAD.
READ RESP-FOR-FILE AT END GO TO RESP-FOR-LOAD-END.
RESP-FOR-LOAD-LOOP.
MOVE EMP_ID OF RESP-FOR-RECORD TO EMP_ID OF EMPLOYEE.
FETCH FIRST EMPLOYEE WITHIN ALL_EMPLOYEES
USING EMP_ID OF EMPLOYEE
AT END
DISPLAY EMP_ID OF RESP-FOR-RECORD,
" EMP_ID for RESPONSIBLE_FOR does not exist"
GO TO RESP-FOR-LOAD.
(continued on next page)
8–8 Database Programming Examples