TPRESUME-resume a global transaction
01TPTRXDEF-REC.
COPY TPTRXDEF.
01TPSTATUS-REC.
COPY TPSTATUS.
CALL "TPRESUME" USINGTPTRXDEF-REC TPSTATUS-REC.
TPRESUME is used to resume work on behalf of a previously suspended transaction. Once the caller resumes work on a transaction, it must either suspend it with TPSUSPEND(), or complete it with one of TPCOMMIT() or TPABORT() at a later time.
The caller must ensure that its linked resource managers have been opened (via TPOPEN()) before it can resume work on any transaction.
TPRESUME places the caller in transaction mode on behalf of the global transaction identifier contained in TRANID.
Upon successful completion, TPRESUME sets [TPOK].
Under the following conditions, TPRESUME fails and sets TP-STATUS to:
TPEINVAL]
TRANID contains a non-existent transaction identifier (including previously completed or timed-out transactions), or it contains a transaction identifier that the caller is not allowed to resume. The caller's state with respect to the transaction is not changed.
TPEMATCH]
TRANID contains a transaction identifier that another program has already resumed. The caller's state with respect to the transaction is not changed.
TPETRAN]
TPEPROTO]
TPRESUME was called in an improper context (for example, the caller is already in transaction mode). The caller's state with respect to transaction mode is unchanged.
TPESYSTEM]
TPEOS]
XA-compliant resource managers must be successfully opened to be included in the global transaction. (See TPOPEN for details.)
A program resuming a suspended transaction must reside on the same logical machine (LMID) as the program that suspended the transaction. For a workstation client, the workstation handler (WSH) to which it is connected must reside on the same logical machine as the handler for the workstation client that suspended the transaction.
TPABORT(), TPCOMMIT(), TPOPEN(), TPSUSPEND().