-30020   EXECUTION FAILED DUE TO A DISTRIBUTION PROTOCOL ERROR THAT CAUSED DEALLOCATION OF THE CONVERSATION: REASON reason-code (sub-code)

Explanation

A DRDA protocol error has occurred that prevented the successful execution of the current SQL statement or command, as well as any subsequent SQL statements.

The 'reason-code' identifies the DDM code point which represents the DDM reply message received from the remote server in response to the attempt to execute the SQL statement. These represent internal errors detected at the remote server site or possibly, by the local DB2® functions.

The 'reason-code' value is the two-byte hexadecimal code point for the DDM reply message that represents the error and is one of the following:
  • X'1232' - AGNPRMRM
  • X'1254' - CMDCHKRM
  • X'220A' - DSCINVRM
  • X'220E' - DTAMCHRM
  • X'0010' - FDODSC
  • X'1218' - MGRDEPRM
  • X'1245' - PRCCNVRM
  • X'241A' - QRYDSC
  • X'2202' - QRYNOPRM
  • X'220F' - QRYPOPRM
  • X'2207' - RDBACCRM
  • X'2204' - RDBNACRM
  • X'124C' - SYNTAXRM
A two byte sub-code accompanies 'reason codes'. The sub-code, when nonzero, consists of two bytes such that the high-order byte indicates the site at which the error was detected. This is X'01' if the error was detected by the local DB2; It is X'02' if the error was detected by the remote server. The low-order byte is dependent upon the 'reason code' as follows:
  • Description Error Code (DSCERRCD) if reason code= X'220A ' (DSCINVRM).
  • Syntax Error Code (SYNERRCD) if reason code = X'124C ' (SYNTAXRM).
  • Conversational Protocol Error Code (PRCCVNCD) if reason code = X'1245' (PRCCNVRM).
  • Manager Dependency Error Code (DEPERRCD) if reason code = X' 1218' (MGRDEPRM).

Refer to Open Group Technical Standard, DRDA Version 3 Vol. 3: Distributed Data Management Architecture for a detailed discussion of the semantics of the DDM terms DSCERRCD, SYNERRCD, PRCCNVCD, and DEPERRCD.

System action

The statement cannot be processed. The SQLCA is formatted and the conversation on which the error was detected is deallocated. Message DSNL031I or DSNL032I, which might contain additional diagnostic information, might be issued to the MVS™ console.

Programmer response

The connection to the server has been broken, and the server has, therefore, rolled back the unit of work. In this case, the only SQL statement that may be successfully executed is ROLLBACK. However, if the requester detects this error on a COMMIT, then it is unknown whether the unit of work was committed or rolled back at the server.

SQLSTATE

58009