Technical data
A Format 2 declarative executes whenever a database exception condition
occurs and the corresponding DBM$_exception-condition is not explicitly
stated in any Format 1 USE statement.
Example 4–2 Multiple USE Statements
PROCEDURE DIVISION.
DECLARATIVES.
200-DATABASE-EXCEPTIONS SECTION.
USE FOR DB-EXCEPTION ON DBM$_CRELM_NULL,
DBM$_CRTYPE_NULL.
200-DATABASE.
PERFORM 300-REPORT-DATABASE-EXCEPTIONS.
IF DB-CONDITION = ..... GO TO ...
IF DB-CONDITION = ..... GO TO ...
STOP RUN.
225-DATABASE-EXCEPTIONS SECTION.
USE FOR DB-EXCEPTION ON DBM$_DUPNOTALL.
225-DATABASE.
PERFORM 300-REPORT-DATABASE-EXCEPTIONS.
GO TO ...
250-DATABASE-EXCEPTIONS SECTION.
USE FOR DB-EXCEPTION ON OTHER.
250-DATABASE.
PERFORM 300-REPORT-DATABASE-EXCEPTIONS.
EVALUATE DB-CONDITION
WHEN ..... GO TO ...
WHEN ..... GO TO ...
WHEN ..... GO TO ...
WHEN ..... GO TO ...
WHEN ..... GO TO ...
WHEN ..... GO TO ...
WHEN ..... GO TO ...
WHEN ..... GO TO ...
WHEN ..... GO TO ...
WHEN OTHER PERFORM... .
STOP RUN.
300-REPORT-DATABASE-EXCEPTIONS.
DISPLAY "Database Exception Condition Report".
DISPLAY " ".
DISPLAY "DB-CONDITION = ", DB-CONDITION
WITH CONVERSION.
DISPLAY "DB-CUR-REC-NAME = ", DB-CURRENT-RECORD-NAME.
DISPLAY "DB-CURRENT-RECORD-ID = ", DB-CURRENT-RECORD-ID
DISPLAY " ".
CALL "DBM$SIGNAL".
4.8.4 Translating DB-CONDITION Values to Exception Messages
Oracle CODASYL DBMS includes the following procedure for exception condition
handling:
CALL "DBM$SIGNAL".
Use this procedure when it is necessary to output an exception message rather
than, or in addition to, displaying the numeric value of DB-CONDITION. For
more information on the Oracle CODASYL DBMS database special register
DB-CONDITION, see Section 2.2.1, DB-CONDITION.
Procedure Division 4–19