Previous Topic: Online DisplaysNext Topic: Error Handling Related to Procedures and Triggers


Batch Output

The following examples show how an error handling routine can print pertinent return code information when SQLCODE contains -117 or -118.

Following is the COBOL error routine used to output these examples:

 ERRORTN.

     MOVE SQLCODE TO WK-CODE.
     IF (SQLCODE IS LESS THAN 0)
        DISPLAY 'SQLCODE =' WK-CODE '(MINUS)'
     ELSE
        DISPLAY 'SQLCODE =' WK-CODE.
     DISPLAY 'ERRPGM  =' SQLCA-ERROR-PGM.
     DISPLAY 'ERRMSG  =' SQLCA-ERR-MSG.
     DISPLAY 'SQLCA-DSFCODE=' SQLCA-DSFCODE.
     MOVE SQLCA-INFCODE TO WK-CODE.
     DISPLAY 'SQLCA-INFCODE=' WK-CODE.
     DISPLAY 'SQLCA-DBCODE-EXT =' SQLCA-DBCODE-EXT.
     MOVE SQLCA-DBCODE-INT TO WK-CODE.
     DISPLAY 'SQLCA-DBCODE-INT =' WK-CODE.
     DISPLAY 'SQLERR4 =' SQLCA-MISC-CODE1.
     DISPLAY 'SQLERR5 =' SQLCA-MISC-CODE2.
     DISPLAY 'SQLERR6 =' SQLCA-MISC-CODE3.
     DISPLAY 'SQLWARN1=' SQLCA-WARNING(1).
     DISPLAY 'SQLWARN2=' SQLCA-WARNING(2).
     DISPLAY 'SQLWARN3=' SQLCA-WARNING(3).
     DISPLAY 'SQLWARN4=' SQLCA-WARNING(4).
     DISPLAY 'SQLWARN5=' SQLCA-WARNING(5).
     DISPLAY 'SQLWARN6=' SQLCA-WARNING(6).
     DISPLAY 'SQLWARN7=' SQLCA-WARNING(7).
     DISPLAY 'SQLWARN8=' SQLCA-WARNING(8).
     DISPLAY 'SQLSTATE=' SQLSTATE.
     MOVE +4 TO RETURN-CODE.
     GOBACK.

Example 1 (SQLCODE = -117)

In the following example, the -117 indicates the error was detected by CA Datacom/DB, so appropriate return code information is included in the output.

 SQLCODE =0117(MINUS)
 ERRPGM  =DBSERV
 ERRMSG  =DB ERROR OCCURRED DURING SQL PROCESSING
 SQLCA-DSFCODE=
 SQLCA-INFCODE= 0000
 SQLCA-DBCODE-EXT =09
 SQLCA-DBCODE-INT= 0037
 SQLERR4 =
 SQLERR5 =00000000J
 SQLERR6 =
 SQLWARN1=
 SQLWARN2=
 SQLWARN3=
 SQLWARN4=
 SQLWARN5=
 SQLWARN6=
 SQLWARN7=
 SQLWARN8=
 SQLSTATE=S0925

Example 2 (SQLCODE = -118)

In the following example, the -118 indicates the error was detected by CA Datacom Datadictionary, so appropriate return code information is included in the output.

  SQLCODE =0118(MINUS)
  ERRPGM  =DDLGETEN
  ERRMSG  =
  SQLCA-DSFCODE= MANF
  SQLCA-INFCODE= 0000
  SQLCA-DBCODE-EXT =
  SQLCA-DBCODE-INT= 0000
  SQLERR4 =
  SQLERR5 =00000000J
  SQLERR6 =
  SQLWARN1=
  SQLWARN2=
  SQLWARN3=
  SQLWARN4=
  SQLWARN5=
  SQLWARN6=
  SQLWARN7=
  SQLWARN8=
 SQLSTATE=RMANF