OpenTP1 Version 7 TP1/Client User's Guide TP1/Client/W, TP1/Client/P

[Contents][Index][Back][Next]

4.5.3 dc_trn_chained_rollback_s - Rollback in chained mode

Organization of this subsection
(1) Form
(2) Purpose
(3) Arguments set by UAPs
(4) Return values
(5) Notes

(1) Form

(a) _s version of the function
 
#include <dcvtrn.h>
DCLONG dc_trn_chained_rollback_s(DCCLT_ID cltid)
 
(b) Non-_s version of the function
 
#include <dcvtrn.h>
DCLONG dc_trn_chained_rollback()
 

(2) Purpose

Rolls back a transaction.

When the dc_trn_chained_rollback_s function terminates normally, a new global transaction occurs. All functions that follow fall in the range of the new global transaction.

(3) Arguments set by UAPs

(4) Return values

Return Value Value (decimal) Meaning
DC_OK 0 Normal termination
DCCLTER_PROTO -2502 The function has been issued from an invalid context (for example, from outside a transaction).
DCCLTER_NO_BUFS -2504 Insufficient memory
DCCLTER_NET_DOWN -2506 Network error
DCCLTER_TIMED_OUT -2507 Timeout occurred during the dc_trn_chained_rollback_s function processing.
DCCLTER_OLTF_NOT_UP -2515 OpenTP1 has not been activated.
Alternatively, communication is impossible because the TP1/Client is disconnected from the server.
DCCLTER_NO_BUFS_AT_SERVER -2517 Memory became insufficient in a transaction process.
DCCLTER_SYSERR -2518 System error
DCCLTER_CONNFREE -2542 The permanent connection has been released.
DCCLTER_INVALID_CLTID -2544 The client ID specified for cltid differs from the one received by the dc_clt_cltin_s function.
DCTRNER_HEURISTIC -3403 One transaction branch was committed and another was rolled back with heuristic determination.
This return value will be returned if the result of the heuristic determination does not match the one of the synchronous point of this global transaction. For information about causes of this return value and the result of the synchronous point, see the message log file.
After this return value is returned, the process is still under the transaction and in the global transaction.
DCTRNER_HAZARD -3404 Transaction branch of the global transaction terminated heuristically. However, the result of synchronous point of this transaction branch was not apparent because of the error. For information about causes of the return value and the result of the synchronous point, see the message log file.
After this return value is returned, the process is still under the transaction and in the global transaction.
DCTRNER_NO_BEGIN -3424 Current transaction rolled back normally. But a new transaction could not start. After this return value is returned, the process will not under the transaction.
DCTRNER_HEURISTIC_NO_BEGIN -3426 The global transaction that executed the dc_trn_chained_rollback_s function follows the heuristic determination. Some transactions may or may not be committed.
This return value will be returned if the result of the heuristic determination differs from the result of the synchronous point for the global transaction. For the result of the synchronous point for the UAP, resource manager, or global transaction that caused this return value, see the message log file.
Further new transactions could not start. The process is not under the transaction.
DCTRNER_HAZARD_NO_BEGIN -3427 The global transaction's transaction branch has completed heuristically. But an error makes it impossible to determine the result of the synchronous point for this transaction branch.
For the result of the synchronous point for the UAP, resource manager, or global transaction that caused this return value, see the message log file.
Further new transactions could not start. The process is not under the transaction.

(5) Notes

To terminate a CUP process after rolling back the transaction, be sure to execute the dc_trn_unchained_rollback_s function.