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

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

4.5.2 dc_trn_chained_commit_s - Commit 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_commit_s(DCCLT_ID cltid)
 
(b) Non-_s version of the function
 
#include <dcvtrn.h>
DCLONG dc_trn_chained_commit()
 

(2) Purpose

Acquires the synchronous point of a transaction.

When the dc_trn_chained_commit_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 A timeout error occurred in the processing of the dc_trn_chained_commit_s function.
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_ROLLBACK -3402 Current transaction failed to be committed and was rolled back. After completion of the rollback, the process will be under the transaction and in the global transaction.
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 A transaction branch of the global transaction terminated heuristically. However, the result of the synchronous point of this transaction branch was not apparent because of the error. 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_NO_BEGIN -3424 Current transaction is committed and terminated normally. But a new transaction could not start. After this return value is returned, the process will not under the transaction.
DCTRNER_ROLLBACK_NO_BEGIN -3425 Current transaction could not be committed and was rolled back. Further new transactions could not start. The process is not under the transaction.
DCTRNER_HEURISTIC_NO_BEGIN -3426 The global transaction that executed the dc_trn_chained_commit_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 the CUP process after committing the transaction, always execute the dc_trn_unchained_commit_s function.