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 may be handled using HANDLE CONDITION or RESP. EIBRCODE will also contain an error code.
If the request has not failed, it is 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 MRO DTP commands. (See the CICS Application Programming Reference for programming information on the contents and format of EIB fields.)
Table 21 shows how these EIB fields interact.
EIB- FREE | EIB- SYNRB | EIB- SYNC | Description |
---|---|---|---|
X'00' | X'FF' | X'00' | The partner transaction or system has issued SYNCPOINT ROLLBACK. |
X'FF' | X'00' | X'00' | The partner transaction or system has issued SEND LAST followed by a FREE command. |
X'FF' | X'00' | X'FF' | The partner transaction or system has issued SEND LAST followed by SYNCPOINT. The local program should reply with a SYNCPOINT command followed by a FREE command. |
X'00' | X'00' | X'FF' | The partner transaction or system has issued a SYNCPOINT. |
In addition the following EIB fields are relevant only to the RECEIVE and CONVERSE commands:
After the EIB fields have been analyzed, it is possible to test the conversation state to determine which DTP commands may be issued next. See State transitions in MRO conversations.
Most of the information supplied by the EIB indicator fields can be obtained from the conversation state. However, there are some EIB fields that you cannot ignore. For example, when the conversation remains in receive state (state 5) after a RECEIVE command has been issued, only EIBFMH indicates that the partner transaction has sent an FMH.
Note that the state table provided in State transitions in MRO conversations contains not only states and commands issued, but also relevant EIB fields settings. The order in which the EIB fields are shown provides a sensible sequence for checking them in an application.
[[ Contents Previous Page | Next Page Index ]]