Internal return codes

There are two types of internal return codes: ZRC values and ECF values. These are return codes that will generally only be visible in diagnostic tools intended for use by IBM Software Support.

For example, they are displayed in Db2® trace output and in the db2diag log files.

ZRC and ECF values basically serve the same purpose, but have slightly different formats. Each ZRC value has the following characteristics:
  • Class name
  • Component
  • Reason code
  • Associated SQLCODE
  • SQLCA message tokens
  • Description
However, ECF values consist of:
  • Set name
  • Product ID
  • Component
  • Description

ZRC and ECF values are typically negative numbers and are used to represent error conditions. ZRC values are grouped according to the type of error that they represent. These groupings are called "classes". For example, ZRC values that have names starting with SQLZ_RC_MEMHEP are generally errors related to insufficient memory. ECF values are similarly grouped into "sets".

An example of a db2diag log file entry containing a ZRC value is as follows:
2006-02-13-14.34.35.965000-300    I17502H435       LEVEL: Error 
PID     : 940                TID  : 660    PROC : db2syscs.exe
INSTANCE: Db2                NODE : 000     DB   : SAMPLE
APPHDL  : 0-1433                APPID: *LOCAL.DB2.050120082811
FUNCTION: Db2, data protection, sqlpsize, probe:20 
RETCODE : ZRC=0x860F000A=-2045837302=SQLO_FNEX "File not found."
          DIA8411C A file "" could not be found.
Full details about this ZRC value can be obtained using the db2diag command, for example:
c:\>db2diag -rc 0x860F000A

Input ZRC string '0x860F000A' parsed as 0x860F000A (-2045837302).

ZRC value to map: 0x860F000A (-2045837302)
        V7 Equivalent ZRC value: 0xFFFFE60A (-6646)

ZRC class :
        Critical Media Error (Class Index: 6)
Component:
        SQLO ; oper system services (Component Index: 15)
Reason Code:
        10 (0x000A)

Identifier:
        SQLO_FNEX
        SQLO_MOD_NOT_FOUND
Identifier (without component):
        SQLZ_RC_FNEX

Description:
        File not found.

Associated information:
        Sqlcode -980
SQL0980C  A disk error occurred.  Subsequent SQL statements cannot be
processed.

        Number of sqlca tokens : 0
        Diaglog message number: 8411
The same information is returned if you issue the commands db2diag -rc -2045837302 or db2diag -rc SQLO_FNEX.
An example of the output for an ECF return code is as follows:
c:\>db2diag -rc 0x90000076

Input ECF string '0x90000076' parsed as 0x90000076 (-1879048074).

ECF value to map: 0x90000076 (-1879048074)

ECF Set :
        setecf (Set index : 1)
Product :
        Db2 Common
Component:
        OSSe
Code:
        118 (0x0076)

Identifier:
        ECF_LIB_CANNOT_LOAD

Description:
        Cannot load the specified library

The most valuable troubleshooting information in the db2diag command output is the description and the associated information (for ZRC return codes only).

For a full listing of the ZRC values, use the db2diag -rc zrc command and for a full listing of the ECF values, use the db2diag -rc ecf command.