* Copyright © Oracle Corporation 1995. All Rights Reserved. IDENTIFICATION DIVISION. PROGRAM-ID. DEGREES. * * Loads DEGREES Relation to Oracle Rdb PERSONNEL database * * AUTHOR. DWT. INSTALLATION. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. VAX-11. OBJECT-COMPUTER. VAX-11. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT DEG-FILE ASSIGN TO "rdm$demo:DEGREES.DAT" ORGANIZATION IS SEQUENTIAL ACCESS MODE IS SEQUENTIAL . DATA DIVISION. FILE SECTION. FD DEG-FILE LABEL RECORDS ARE STANDARD RECORD CONTAINS 45 CHARACTERS. 01 DEG-REC. 02 D-ID PIC X(5). 02 FIL PIC X(3). 02 COLL-CODE PIC X(4). 02 FIL PIC X(3). 02 DATE-REC PIC X(4). 02 FIL PIC X(5). 02 DEGREE PIC X(3). 02 FIL PIC X(3). 02 DEG-FIELD PIC X(15). WORKING-STORAGE SECTION. 01 WS-DATE-REC PIC X(4). 01 WS-REC-DATE REDEFINES WS-DATE-REC PIC S9(4). 01 WS-DATE PIC S9(4). 01 STAT PIC S9(9) USAGE IS COMP. 01 FLAGS PIC X. 88 END-OF-FILE VALUE "Y". 88 NOT-END-OF-FILE VALUE "N". * Invoke the database &RDB& INVOKE DATABASE FILENAME 'PERSONNEL' PROCEDURE DIVISION. * Program DEGREES reads Degrees data and stores it * in the DEGREES Relation of PERSONNEL database START-UP. SET NOT-END-OF-FILE TO TRUE. OPEN INPUT DEG-FILE . &RDB& START_TRANSACTION READ_WRITE RESERVING &RDB& DEGREES FOR EXCLUSIVE WRITE * Start Program: DEGREES DISPLAY "Program: Loading DEGREES ". MAIL-LINE. PERFORM LOAD THRU LOAD-EXIT UNTIL END-OF-FILE. 999-EOJ. * End of Program: DEGREES DISPLAY "Program: DEGREES Loaded. Normal End-of-Job". &RDB& COMMIT CLOSE DEG-FILE . STOP RUN. ***************************************************************** * <<< Subroutines >>> * ***************************************************************** LOAD. PERFORM READ-DEG THRU READ-DEG-EXIT. PERFORM STORE-DEG THRU STORE-DEG-EXIT. PERFORM CLEAR-IT THRU CLEAR-IT-EXIT. LOAD-EXIT. EXIT. READ-DEG. READ DEG-FILE AT END SET END-OF-FILE TO TRUE GO TO LOAD-EXIT. MOVE DATE-REC TO WS-DATE-REC. MOVE WS-REC-DATE TO WS-DATE. READ-DEG-EXIT. EXIT. STORE-DEG. &RDB& STORE D IN DEGREES &RDB& USING &RDB& D.COLLEGE-CODE = COLL-CODE; &RDB& D.EMPLOYEE_ID = D-ID; &RDB& D.YEAR_GIVEN = WS-DATE; &RDB& D.DEGREE = DEGREE; &RDB& D.DEGREE_FIELD = DEG-FIELD; &RDB& END_STORE . STORE-DEG-EXIT. EXIT. CLEAR-IT. * Clear the input record area before next read MOVE SPACES TO WS-DATE-REC. MOVE SPACES TO DEG-REC. CLEAR-IT-EXIT. EXIT.