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

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

6.5.3 CBLDCTRS('C-ROLL ') - Rollback in chained mode

Organization of this subsection
(1) Form
(2) Purpose
(3) Data area where the UAP sets values
(4) Data area for which a value is returned
(5) Status codes
(6) Notes

(1) Form

(a) In a multi-thread environment
PROCEDURE DIVISION
 
CALL 'CBLDCTRS' USING identifier-1
 
DATA DIVISION
 
01 identifier-1.
   02 data-name-A PIC X(8)  VALUE 'C-ROLL  '.
   02 data-name-B PIC X(5).
   02 FILLER     PIC X(3).
   02 data-name-C PIC S9(9) COMP.
 
(b) In a single-thread environment
PROCEDURE DIVISION
 
CALL 'CBLDCTRN' USING identifier-1
 
DATA DIVISION
 
01 identifier-1.
   02 data-name-A PIC X(8)  VALUE 'C-ROLL  '.
   02 data-name-B PIC X(5).
 

(2) Purpose

Rolls back the transaction.

When CBLDCTRS('C-ROLL ') terminates normally, a new global transaction occurs. It controls succeeding programs.

(3) Data area where the UAP sets values

(4) Data area for which a value is returned

(5) Status codes

Status code Meaning
00000 Normal termination
02501 The request code (data-name-A) may be invalid.
02502 The program is issued from an incorrect context.
02504 Insufficient memory
02506 Network error
02507 Timeout occurred during processing of CBLDCTRS('C-ROLL ').
02515 OpenTP1 is inactive.
02517 An insufficient memory condition occurred within the transaction process.
02518 System error
02542 The permanent connection has been released.
02544 The client ID specified for data-name-C differs from the one received with CBLDCCLS('CLTIN ') or CBLDCCLS('EXCLTIN ').
03403 Due to the heuristic determination, some transaction branches are committed and others are rolled back. This status code will be returned if the result of the heuristic determination differs from the result of the synchronous point for the global transaction.
For the cause of this status code or the result of the synchronous point for the global transaction, see the message log file.
After this status code returns, the process is still under the transaction and is within the scope of the global transaction.
03404 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 cause of this status code or the result of the synchronous point for the global transaction, see the message log file.
After this status code returns, the process is still under the transaction and is within the scope of the global transaction.
03424 A rollback terminated normally but a new transaction could not be started. When this status code returns, the process is no more under control of the transaction.
03426 The global transaction that executed the CBLDCTRS ('C-COMMIT) function follows the heuristic determination. Some transactions may or may not be committed.
This status code 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 status code, see the message log file.
New transactions could not start. The process is not under the transaction.
03427 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 status code, see the message log file.
New transactions could not start. The process is not under the transaction.
If this status code returns, the process is still under the transaction and within the scope of the global transaction.

(6) Notes

When terminating the CUP process by rolling back the transaction, be sure to execute CBLDCTRS('U-ROLL ').