Troubleshooting
Problem
Application requester "Systemi_1" is trying to make a DRDA connection to Application Server "Systemi_2". This fails with message SQ30020.
Symptom
Application requester "Systemi_1" is trying to make a DRDA connection to Application Server "Systemi_2" and fails with message SQ30020 on the client/AR side:
Message . . . . : Distributed Relational Database Architecture (DRDA) protocol error.
Cause . . . . . : Command or SQL statement failed due to a distribution protocol error that will affect subsequent SQL statements or commands.
The application has been disconnected and the process is in an unconnected state. The protocol error is X'1254' with a location code of X'01'.
The location codes are: -- '01'X -- The error was detected at the application requester.
'1245'X -- Conversation protocol error.
The QRWTSRVR job on server/AS side may contain errors:
CPF3E80 40 01/08/20 12:34:54.965318 QCNTEDDM QSYS *STMT QRWTSR QSYS
From user . . . . . . . . . : <USR_PRF>
From module . . . . . . . . : QCNTEDDM
From procedure . . . . . . : SNDMSG
Statement . . . . . . . . . : 8815
To module . . . . . . . . . : QRWTSRVR
To procedure . . . . . . . : main
Statement . . . . . . . . . : 337
Message . . . . : Syntax error detected in DDM datastream.
Or:
CPF9150 40 06/21/20 01:09:41.715003 QCNXDLL QSYS *STMT QCNTDLL QSYS
From module . . . . . . . . : QCNXPRSE
From procedure . . . . . . : QCNXPrse
Statement . . . . . . . . . : 3011
To module . . . . . . . . . : QCNTRCV
To procedure . . . . . . . : PRSEDATA
Statement . . . . . . . . . : 3804
Message . . . . : Message sent internally by CN.
Technical description . . . . . . . . : This message is used internally by
the CN component to ensure cleanup is done by the various layers during
error situations.
Cause
Resolving The Problem
Save the damaged object in a SAVF in the event later diagnosis is warranted:
CRTSAVF FILE(DMGPRSTBL)
SAVOBJ OBJ(QCNPRSTBLS) LIB(QSYS) DEV(*SAVF) SAVF(DMGPRSTBL)
Next, delete the corrupted parse table on the Application server:
DLTOBJ OBJ(QSYS/QCNPRSTBLS) OBJTYPE(*USRSPC)
The object is re-created when a new request is received by the DDM server. The error(s) should no longer occur.
In other instances, deleting the parse table QSYS/QCNPRSTBLS on the Application requester resolved the issue.
Example error message from an Application requester client source machine which suffered a power outage:
CPF3E01 Diag 40 11/30/21 14:42:43.844931 QCNSMCTL
From module . . . . . . . . : QCNSMCTL
From procedure . . . . . . : QCNSMCTL
Statement . . . . . . . . . : 3613
To module . . . . . . . . . : ToModule
To procedure . . . . . . . : ToProcedure
Statement . . . . . . . . . : 1500
Message . . . . : DDM parameter value not supported.
Cause . . . . . : A value was sent from the client that is not supported by
this server. The following are not supported (See X'1443'): -- '1144'X or
The above was also resolved by deleting the parse table.
If the parse table object is repeatedly becoming corrupt, please contact IBM i Support.
Related Information
Historical Number
479384977
Was this topic helpful?
Document Information
Modified date:
02 May 2024
UID
nas8N1013836