IDENTIFICATION DIVISION. PROGRAM-ID. A1. AUTHOR. BOB. REMARKS. EXAMPLE ORACLE/PRO*COBOL PROGRAM PROGRAM IS AN ABSTRACT OF A REAL PROGRAM. THIS PROGRAM WILL NOT COMPILE. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. U-1108. OBJECT-COMPUTER. U-1108. SPECIAL-NAMES. NEXT-PAGE IS TOP-OF-PAGE. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT AGA20P ASSIGN TO PRINTER. DATA DIVISION. FILE SECTION. FD AGA20P LABEL RECORDS ARE OMITTED. 01 PRINT-RECORD PIC X(132). WORKING-STORAGE SECTION. 01 TODAYS-DATE. 05 CURRENT-MONTH PIC 99. 05 FILLER PIC X. 05 CURRENT-DAY PIC 99. 05 FILLER PIC X. 05 CURRENT-YEAR PIC 99. 01 VA-STA-TABLE. 03 STATIONS OCCURS 300 TIMES ASCENDING KEY IS STA-NO INDEXED BY STA-INDEX. 05 STA-NO PIC S9(9) COMP-5. 05 STA-CD PIC X(4). 05 STA-ST PIC XX. 05 STA-NAME PIC X(21). 01 ROW-COUNT PIC 9(3) VALUE 0. EXEC SQL BEGIN DECLARE SECTION END-EXEC. 01 DIV PIC X(4). 01 DB-KEY PIC X(21). 01 GSTATUS PIC X. EXEC SQL END DECLARE SECTION END-EXEC. EXEC SQL INCLUDE SQLCA END-EXEC. PROCEDURE DIVISION. 010-OPEN-FILES. DISPLAY "Username? " WITH NO ADVANCING. ACCEPT USERID. DISPLAY "Password? " WITH NO ADVANCING. ACCEPT PASSWORD. EXEC SQL CONNECT :USERID IDENTIFIED BY :PASSWORD END-EXEC. IF SQLCODE NOT EQUAL 0 DISPLAY "ORACLE CONNECT ERROR " SQLCODE GO TO 999-END. EXEC SQL WHENEVER SQLWARNING CONTINUE END-EXEC. EXEC SQL WHENEVER SQLERROR GOTO ORA-ERR END-EXEC. PERFORM 020-LOOP THRU 020-EXIT. OPEN OUTPUT AGA20P. MOVE SPACES TO PRINT-RECORD. WRITE PRINT-RECORD FROM HP-INIT-LINE. CALL "DOY" USING CURRENT-DATE. EXEC SQL DECLARE G1 CURSOR FOR SELECT div, db-key from gaodb where gstatus in ('1', '2') END-EXEC. EXEC SQL OPEN G1 END-EXEC. EXEC SQL FETCH G1 INTO :div, :db-stats END-EXEC. IF SQLCODE = 1403 GO TO 99-NO-MORE. 020-EXIT. EXIT. 999-END CLOSE AGA20P. EXEC SQL CLOSE G1 END-EXEC. 999-BYE. STOP RUN. ORA-ERR. DISPLAY "ORACLE ERROR". GO TO 999-END.