Checking the response from a DTP command can be separated into three stages:
Testing for request failure is the same as for other EXEC CICS® commands in that conditions are raised and can be handled using HANDLE CONDITION or RESP. EIBRCODE will also contain an error code. Note that when an ISSUE ABEND has been received, and it is to be handled, a HANDLE ABEND should be used rather than a HANDLE CONDITION.
If the request has not failed, it is then possible to test for indicators received on the conversation. These are returned to the application in the EIB. The following EIB fields are relevant to all DTP commands:
Table 9 shows how these EIB fields interact.
EIB- ERR | EIB- FREE | EIB- SYNRB | EIBERRCD | Description |
---|---|---|---|---|
X'FF' | X'00' | X'00' |
X'08890000' X'08890001' |
The partner transaction has sent ISSUE ERROR |
X'FF' | X'00' | X'00' |
X'08890100' X'08890101' |
The partner system has sent ISSUE ERROR |
X'FF' | X'FF' | X'00' | X'08640000' | The partner transaction has sent ISSUE ABEND |
X'FF' | X'FF' | X'00' | X'08640001' | The partner system has sent ISSUE ABEND |
X'FF' | X'FF' | X'00' | X'08640002' | A partner resource has timed out |
X'FF' | X'FF' | X'00' | X'1008600B' | The session has failed due to a protocol error |
X'FF' | X'FF' | X'00' | X'A0000100' | A temporary session failure |
X'FF' | X'FF' | X'00' | X'A0010100' | RTIMOUT has been triggered. (The task has timed out while waiting for terminal input.) |
X'FF' | X'FF' | X'00' | X'10086032' | The PIP data sent with the CONNECT PROCESS was incorrectly specified |
X'FF' | X'FF' | X'00' | X'10086034' | The partner system does not support mapped conversations |
X'FF' | X'FF' | X'00' | X'080F6051' | The partner transaction failed security check |
X'FF' | X'FF' | X'00' | X'10086041' | The partner transaction does not support the sync level requested on the CONNECT PROCESS |
X'FF' | X'FF' | X'00' | X'10086021' | The partner transactions name is not recognized by the partner system |
X'FF' | X'FF' | X'00' | X'084C0000' | The partner system cannot start the partner transaction |
X'FF' | X'FF' | X'00' | X'084B6031' | The partner system is temporarily unable to start the partner transaction |
X'FF' | X'00' | X'FF' | X'08240000' | The partner transaction or system has issued SYNCPOINT ROLLBACK |
X'00' | X'00' | -- | -- | The command completed successfully. |
In addition, the following EIB fields are relevant only to the RECEIVE and CONVERSE commands:
Table 10 shows how some of these EIB fields interact for RECEIVE and CONVERSE commands.
EIB- ERR | EIB- FREE | EIB- RECV | EIB- SYNC | EIB- CONF | Description |
---|---|---|---|---|---|
X'00' | X'00' | X'00' | X'00' | X'00' | The partner transaction or system has issued SEND INVITE WAIT. The local program is now in send state. |
X'00' | X'00' | X'00' | X'FF' | X'00' | The partner transaction or system has issued SEND INVITE, followed by a SYNCPOINT. The local program is now in syncsend state. |
X'00' | X'00' | X'00' | X'00' | X'FF' | The partner transaction or system has issued SEND INVITE CONFIRM. The local program is now in confsend state. |
X'00' | X'00' | X'FF' | X'00' | X'00' | The partner transaction or system has issued SEND or SEND WAIT. The local program is in receive state. |
X'00' | X'00' | X'FF' | X'FF' | X'00' | The partner transaction or system has issued a SYNCPOINT. The local program is in syncreceive state. |
X'00' | X'00' | X'FF' | X'00' | X'FF' | The partner transaction or system has issued a SEND CONFIRM. The local program is in confreceive state. |
X'00' | X'FF' | X'00' | X'00' | X'00' | The partner transaction or system has issued a SEND LAST WAIT. The local program is in free state. |
X'00' | X'FF' | X'00' | X'FF' | X'00' | The partner transaction or system has issued a SEND LAST followed by a SYNCPOINT. The local program is in syncfree state. |
X'00' | X'FF' | X'00' | X'00' | X'FF' | The partner transaction or system has issued a SEND LAST CONFIRM. The local program is in conffree state. |
After analyzing the EIB fields, you can test the conversation state to determine which DTP commands you can issue next. See State transitions in APPC mapped conversations.
Most of the information supplied by EIB indicator fields can also be obtained from the conversation state. Although the conversation state is easier to test, you cannot ignore EIBERR (and EIBERRCD).
For example, if after a SEND INVITE WAIT or a RECEIVE command has been issued, the conversation is in receive state (state 5), only EIBERR indicates that the partner transaction has sent an ISSUE ERROR. This is illustrated in Figure 7 and Figure 8.
It should be noted that the state tables provided contain not only states and commands issued, but also relevant EIB field settings. The order in which these EIB fields are shown provides a sensible sequence of checks for an application.
[[ Contents Previous Page | Next Page Index ]]