* Copyright © Oracle Corporation 1995. All Rights Reserved. IDENTIFICATION DIVISION. PROGRAM-ID. JOBS. * * Loads JOBS 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 JOB-FILE ASSIGN TO "rdm$demo:JOBS.DAT" ORGANIZATION IS SEQUENTIAL ACCESS MODE IS SEQUENTIAL . DATA DIVISION. FILE SECTION. FD JOB-FILE LABEL RECORDS ARE STANDARD RECORD CONTAINS 49 CHARACTERS. 01 JOB-REC. 02 J-CODE PIC X(4). 02 FIL PIC X(3). 02 W-CLASS PIC X. 02 FIL PIC X(3). 02 J-TITLE PIC X(20). 02 FIL PIC X(3). 02 MIN-SAL PIC X(6). 02 FIL PIC X(3). 02 MAX-SAL PIC X(6). WORKING-STORAGE SECTION. 01 WS-MIN PIC X(6). 01 WS-MIN-SAL REDEFINES WS-MIN PIC S9(6). 01 WS-MAX PIC X(6). 01 WS-MAX-SAL REDEFINES WS-MAX PIC S9(6). 01 WS-SAL-MIN PIC S9(6) USAGE IS COMP. 01 WS-SAL-MAX PIC S9(6) USAGE IS COMP. 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 reads JOB data and stores it * in the JOBS Relation of PERSONNEL database START-UP. SET NOT-END-OF-FILE TO TRUE. OPEN INPUT JOB-FILE. &RDB& START_TRANSACTION READ_WRITE RESERVING &RDB& JOBS FOR EXCLUSIVE WRITE * Start Program: JOBS DISPLAY "Program: Loading JOBS". MAIL-LINE. PERFORM LOAD THRU LOAD-EXIT UNTIL END-OF-FILE. 999-EOJ. * End of Program: JOBS DISPLAY "Program: JOBS Loaded. Normal End-of-Job". &RDB& COMMIT CLOSE JOB-FILE . STOP RUN. ***************************************************************** * <<< Subroutines >>> * ***************************************************************** LOAD. PERFORM READ-JOBS THRU READ-JOBS-EXIT. PERFORM STORE-JOBS THRU STORE-JOBS-EXIT. PERFORM CLEAR-IT THRU CLEAR-IT-EXIT. LOAD-EXIT. EXIT. READ-JOBS. READ JOB-FILE AT END SET END-OF-FILE TO TRUE GO TO LOAD-EXIT. MOVE MIN-SAL TO WS-MIN. MOVE WS-MIN-SAL TO WS-SAL-MIN. MOVE MAX-SAL TO WS-MAX. MOVE WS-MAX-SAL TO WS-SAL-MAX. READ-JOBS-EXIT. EXIT. STORE-JOBS. &RDB& STORE J IN JOBS &RDB& USING &RDB& J.JOB_CODE = J-CODE; &RDB& J.WAGE_CLASS = W-CLASS; &RDB& J.JOB_TITLE = J-TITLE; &RDB& J.MINIMUM_SALARY = WS-SAL-MIN; &RDB& J.MAXIMUM_SALARY = WS-SAL-MAX; &RDB& END_STORE . STORE-JOBS-EXIT. EXIT. CLEAR-IT. * Clear out input record area before next read MOVE SPACES TO WS-MIN, WS-MAX. MOVE SPACES TO JOB-REC. CLEAR-IT-EXIT. EXIT.