The SYNCPOINT ROLLBACK command

The SYNCPOINT ROLLBACK command is used to back out changes to recoverable resources. In a DTP environment, the effect of the SYNCPOINT command is propagated across all conversations using MRO or sync level 2. A SYNCPOINT ROLLBACK command can be issued in any conversation state. If the command is issued when a conversation is in receive state (state 5), incoming data on that conversation is purged as described for the ISSUE ERROR and ISSUE ABEND commands.

When a transaction receives a SYNCPOINT ROLLBACK in response to a syncpoint request, the EIBRLDBK indicator is set. If SYNCPOINT ROLLBACK is received in response to any other request, the EIBERR and EIBSYNRB indicators (CDBERR and CDBSYNRB in the basic interface) are set.

The rules for determining the state after SYNCPOINT ROLLBACK depend on the CICS® release of the partner system. If the partner system is a release earlier than CICS/ESA 3.2.1, the rollback initiator completes backout processing in send state (state 2), and the partner completes in receive state (state 5). If the partner system is CICS/ESA 3.2.1 or later, the conversation state of each partner is restored to the state at the beginning of the distributed unit of work.

If a session failure or notification of a deallocate abend occurs during SYNCPOINT ROLLBACK processing, the command still completes successfully. If the same thing happens during SYNCPOINT processing, the command may complete successfully with EIBRLDBK set. In such circumstances, the conversation on which the failure or abend occurred will be in free state (state 12).

To avoid potential state problems, you can check the conversation state by using the STATE option on the command following SYNCPOINT ROLLBACK. However, to avoid the possibility of an abend, you are recommended to follow each SYNCPOINT ROLLBACK command with an EXTRACT ATTRIBUTES STATE command instead.

[[ Contents Previous Page | Next Page Index ]]