Technical data

Example 8–2 (Cont.) Backing Up a Database
OPEN OUTPUT EMPLOYEE-FILE, RESP-FOR-FILE, DIVISION-FILE.
PERFORM EMPLOYEE-UNLOAD THRU EMPLOYEE-UNLOAD-END.
CLOSE EMPLOYEE-FILE, RESP-FOR-FILE, DIVISION-FILE.
DISPLAY " ".
DISPLAY EMPLOYEE-COUNT, " EMPLOYEE records unloaded".
COMMIT.
STOP RUN.
MAKE-UNLOAD.
FETCH NEXT CATEGORY WITHIN MAKE
AT END GO TO MAKE-UNLOAD-END.
MOVE "C" TO CONTROL-FIELD OF MAKE-CLASS-RECORD.
MOVE CORR CATEGORY TO MAKE-CLASS-RECORD.
ADD 1 TO CLASS-COUNT.
WRITE MAKE-CLASS-RECORD.
MAKE-PART-LOOP.
FETCH NEXT PART WITHIN CLASS_PART RETAINING REALM
AT END GO TO MAKE-UNLOAD.
MOVE "P" TO CONTROL-FIELD OF MAKE-PART-RECORD.
MOVE CORR PART TO MAKE-PART-RECORD.
ADD 1 TO PART-COUNT.
WRITE MAKE-PART-RECORD.
PERFORM COMPONENT-SUPPLY-UNLOAD THRU
COMPONENT-SUPPLY-UNLOAD-END.
GO TO MAKE-PART-LOOP.
MAKE-UNLOAD-END.
EXIT.
BUY-UNLOAD.
FETCH NEXT CATEGORY WITHIN BUY
AT END GO TO BUY-UNLOAD-END.
MOVE "C" TO CONTROL-FIELD OF BUY-CLASS-RECORD.
MOVE CORR CATEGORY TO BUY-CLASS-RECORD.
ADD 1 TO CLASS-COUNT.
WRITE BUY-CLASS-RECORD.
BUY-PART-LOOP.
FETCH NEXT PART WITHIN CLASS_PART RETAINING REALM
AT END GO TO BUY-UNLOAD.
MOVE "P" TO CONTROL-FIELD OF BUY-PART-RECORD.
MOVE CORR PART TO BUY-PART-RECORD.
ADD 1 TO PART-COUNT.
WRITE BUY-PART-RECORD.
PERFORM COMPONENT-SUPPLY-UNLOAD THRU
COMPONENT-SUPPLY-UNLOAD-END.
GO TO BUY-PART-LOOP.
BUY-UNLOAD-END.
EXIT.
COMPONENT-SUPPLY-UNLOAD.
COMPONENT-UNLOAD.
FETCH NEXT COMPONENT WITHIN PART_USES RETAINING REALM
AT END GO TO SUPPLY-QUOTE-LOOP.
MOVE CORR COMPONENT TO COMPONENT-RECORD.
ADD 1 TO COMPONENT-COUNT.
WRITE COMPONENT-RECORD.
GO TO COMPONENT-UNLOAD.
(continued on next page)
Database Programming Examples 8–13