Sometimes a transaction is terminated in such a way that the owner should receive a non-zero response code, but in circumstances in which it is not possible to return a response code; for example, the transaction manager backs the transaction out because its distributed transaction time limit has been exceeded. When this happens, the manager stores details of the pending response code in a list, and returns it to the client at the first possible opportunity. Pending response codes can be listed and displayed using Adabas Transaction Manager’s online administration tool.
As with standard usage of Adabas, the time for which a pending response code is preserved depends on whether ETIDs are used.
If the transaction which caused the pending response code involved no RM database sessions with ETIDs, the pending response code is discarded as soon as any of the following conditions has been satisfied:
The response code has been returned to the client.
The client is known to have disappeared.
All Adabas RMs that took part in the transaction have been restarted.
The transaction manager terminates.
If the transaction which caused the pending response code involved one or more RM database sessions with ETIDs, the pending response code is discarded as soon as any of the following conditions has been satisfied:
The response code has been returned to the client.
The client session is known to have disappeared.
All Adabas RMs that took part in the transaction, and for which an ETID was in use, have been restarted.
Note:
In this case a pending response code will survive a restart of the
transaction manager.