Technical data
Example 8–2 (Cont.) Backing Up a Database
WORKING-STORAGE SECTION.
77 CLASS-COUNT PIC 999 VALUE IS 0.
77 PART-COUNT PIC 999 VALUE IS 0.
77 COMPONENT-COUNT PIC 999 VALUE IS 0.
77 VENDOR-COUNT PIC 999 VALUE IS 0.
77 SUPPLY-COUNT PIC 999 VALUE IS 0.
77 QUOTE-COUNT PIC 999 VALUE IS 0.
77 EMPLOYEE-COUNT PIC 999 VALUE IS 0.
PROCEDURE DIVISION.
DECLARATIVES.
100-DATABASE-EXCEPTIONS SECTION.
USE FOR DB-EXCEPTION ON OTHER.
100-PROCEDURE.
DISPLAY "DATABASE EXCEPTION CONDITION".
PERFORM 150-DISPLAY-MESSAGE.
150-DISPLAY-MESSAGE.
*
* DBM$SIGNAL displays diagnostic messages based on the
* status code in DB-CONDITION.
*
CALL "DBM$SIGNAL".
ROLLBACK.
STOP RUN.
END DECLARATIVES.
DB-PROCESSING SECTION.
INITIALIZATION-ROUT.
READY PROTECTED.
CONTROL-ROUT.
OPEN OUTPUT COMPONENT-FILE, SUPPLY-FILE.
OPEN OUTPUT MAKE-FILE.
PERFORM MAKE-UNLOAD THRU MAKE-UNLOAD-END.
CLOSE MAKE-FILE.
DISPLAY " ".
DISPLAY CLASS-COUNT, " CLASS records unloaded from MAKE".
DISPLAY PART-COUNT, " PART records unloaded from MAKE".
OPEN OUTPUT BUY-FILE.
MOVE 0 TO CLASS-COUNT.
MOVE 0 TO PART-COUNT.
PERFORM BUY-UNLOAD THRU BUY-UNLOAD-END.
CLOSE BUY-FILE, COMPONENT-FILE, SUPPLY-FILE.
DISPLAY " ".
DISPLAY CLASS-COUNT, " CLASS records unloaded from BUY".
DISPLAY PART-COUNT, " PART records unloaded from BUY".
DISPLAY " ".
DISPLAY SUPPLY-COUNT, " SUPPLY records unloaded".
DISPLAY QUOTE-COUNT, " QUOTE records unloaded".
DISPLAY COMPONENT-COUNT " COMPONENT records unloaded".
OPEN OUTPUT VENDOR-FILE.
PERFORM VENDOR-UNLOAD THRU VENDOR-UNLOAD-END.
CLOSE VENDOR-FILE.
DISPLAY " ".
DISPLAY VENDOR-COUNT, " VENDOR records unloaded".
(continued on next page)
8–12 Database Programming Examples