The following sections describe the different ways a conversation can end, either unexpectedly or under transaction control. When under transaction control, one transaction will issue a request for termination and the other will receive this request. Once this has happened the conversation is unusable and both transactions must issue a FREE command to release the session.
The SEND LAST command is used to terminate a conversation. It should be used in conjunction with either the WAIT option or the SYNCPOINT command, and followed by the FREE command. However, SEND LAST WAIT will cause the conversation to end before the subsequent syncpoint can be propagated to the partner transaction. This may mean that the protected resources in one system could be committed whilst those in the other system could be backed out.
From the state table it can be seen that it is possible to end a conversation by issuing the FREE command provided the conversation is in send state (state 2). This will generate an implicit SEND LAST WAIT command before the FREE is executed and is therefore not recommended.
From time to time, partner systems do fail and sessions go out of service. If this happens in the middle of a DTP conversation, the transaction will be terminated abnormally.
[[ Contents Previous Page | Next Page Index ]]