Normal termination of a conversation
The GDS SEND LAST command is used to terminate a conversation. It should be used in conjunction with either the WAIT or CONFIRM options or the SYNCPOINT command (depending on the conversation sync level).
A distributed transaction should not end a conversation by issuing an EXEC CICS RETURN command, but instead follow the sequence of commands shown. The issue of an EXEC CICS RETURN could lead to one or both transactions ending abnormally.
| Sync level | Command sequence |
|---|---|
| 0 |
GDS SEND LAST WAIT
GDS FREE |
| 1 |
GDS SEND LAST CONFIRM
GDS FREE |
| 2 |
GDS SEND LAST
SYNCPOINT GDS FREE |
Note:
It is important that the GDS SEND LAST command for sync level
2 is
not
accompanied by WAIT or CONFIRM because either of these
options will cause the conversation to end before the subsequent syncpoint
has propagated to the partner transaction. This may mean that
protected
resources of one transaction could be committed while those in the
partner transaction could be backed out. The resulting state errors
may also lead to the session being unbound.