Technical data
Example 8–2 (Cont.) Backing Up a Database
SUPPLY-QUOTE-LOOP.
FETCH NEXT WITHIN PART_INFO RETAINING REALM
AT END GO TO COMPONENT-SUPPLY-UNLOAD-END.
IF DB-CURRENT-RECORD-NAME = "PR_QUOTE" THEN
MOVE CORR PR_QUOTE TO QUOTE-RECORD
MOVE "Q" TO CONTROL-FIELD OF QUOTE-RECORD
ADD 1 TO QUOTE-COUNT
WRITE QUOTE-RECORD
GO TO SUPPLY-QUOTE-LOOP
ELSE
MOVE CORR SUPPLY TO SUPPLY-RECORD
FETCH OWNER WITHIN VENDOR_SUPPLY
MOVE "S" TO CONTROL-FIELD OF SUPPLY-RECORD
MOVE VEND_NAME OF VENDOR TO VEND-NAME OF SUPPLY-RECORD
MOVE PART_ID OF PART TO PART-ID OF SUPPLY-RECORD
ADD 1 TO SUPPLY-COUNT
WRITE SUPPLY-RECORD
GO TO SUPPLY-QUOTE-LOOP.
COMPONENT-SUPPLY-UNLOAD-END.
EXIT.
VENDOR-UNLOAD.
FREE CURRENT WITHIN MARKET.
VENDOR-UNLOAD-LOOP.
FETCH NEXT VENDOR WITHIN MARKET
AT END GO TO VENDOR-UNLOAD-END.
ADD 1 TO VENDOR-COUNT.
MOVE VEND_ID OF VENDOR TO VEND_ID OF VENDOR-RECORD.
MOVE VEND_NAME OF VENDOR TO VEND_NAME OF VENDOR-RECORD.
MOVE VEND_CONTACT OF VENDOR TO VEND_CONTACT OF VENDOR-RECORD.
MOVE VEND_ADDRESS OF VENDOR (1) TO
VEND_ADDRESS OF VENDOR-RECORD (1).
MOVE VEND_ADDRESS OF VENDOR (2) TO
VEND_ADDRESS OF VENDOR-RECORD (2).
MOVE VEND_ADDRESS OF VENDOR (3) TO
VEND_ADDRESS OF VENDOR-RECORD (3).
MOVE VEND_PHONE OF VENDOR TO VEND_PHONE OF VENDOR-RECORD.
WRITE VENDOR-RECORD.
GO TO VENDOR-UNLOAD-LOOP.
VENDOR-UNLOAD-END.
EXIT.
EMPLOYEE-UNLOAD.
FETCH NEXT EMPLOYEE WITHIN ALL_EMPLOYEES
AT END GO TO EMPLOYEE-UNLOAD-END.
MOVE CORR EMPLOYEE TO EMPLOYEE-RECORD.
ADD 1 TO EMPLOYEE-COUNT.
WRITE EMPLOYEE-RECORD.
DIVISION-UNLOAD.
FETCH NEXT WITHIN MANAGES
AT END GO TO RESP-UNLOAD.
MOVE EMP_ID OF EMPLOYEE TO EMP_ID OF MANAGES-RECORD.
MOVE GROUP_NAME OF WK_GROUP TO GROUP_NAME OF MANAGES-RECORD.
MOVE "M" TO CONTROL-FIELD OF MANAGES-RECORD.
WRITE MANAGES-RECORD.
(continued on next page)
8–14 Database Programming Examples