ATMI COBOL Function Reference
TPRESUME()
- resume a global transaction
01
TPTRXDEF-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:
Either 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.
TRANID()
contains a transaction identifier that another program has already resumed. The caller's state with respect to the transaction is not changed.
The BEA Tuxedo system is unable to resume the global transaction because the caller is currently participating in work outside any global transaction with one or more resource managers. All such work must be completed before a global transaction can be resumed. The caller's state with respect to the local transaction is unchanged.
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.
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(3cbl)
, TPCOMMIT(3cbl)
, TPOPEN(3cbl)
, TPSUSPEND(3cbl)