Technical data

Example 8–1 (Cont.) Populating a Database
WORKING-STORAGE SECTION.
77 ITEM-USED PIC X(70).
77 STAT PIC 9(9) USAGE COMP.
77 DB-TEMP PIC 9(9) USAGE IS COMP.
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.
77 DIVISION-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 EXCLUSIVE UPDATE.
CONTROL-ROUT.
OPEN INPUT MAKE-FILE.
PERFORM MAKE-LOAD THRU MAKE-LOAD-END.
CLOSE MAKE-FILE.
* DISPLAY " ".
* DISPLAY CLASS-COUNT, " CLASS records loaded from MAKE".
* DISPLAY PART-COUNT, " PART records loaded from MAKE".
OPEN INPUT BUY-FILE.
MOVE 0 TO CLASS-COUNT.
MOVE 0 TO PART-COUNT.
PERFORM BUY-LOAD THRU BUY-LOAD-END.
CLOSE BUY-FILE.
* DISPLAY " ".
* DISPLAY CLASS-COUNT, " CLASS records loaded from BUY".
* DISPLAY PART-COUNT, " PART records loaded from BUY".
OPEN INPUT VENDOR-FILE.
PERFORM VENDOR-LOAD THRU VENDOR-LOAD-END.
CLOSE VENDOR-FILE.
* DISPLAY " ".
* DISPLAY VENDOR-COUNT, " VENDOR records loaded".
(continued on next page)
8–4 Database Programming Examples