Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

KC_PTC_TA - Roll back transaction in PTC state

KC_PTC_TA rolls back a transaction that is in the state PTC (prepare to commit).

The transaction’s identification data consists of a triad of elements: the service index, service number and transaction number. You can obtain this data by first issuing a KC_GET_OBJECT call with operation code KC_PTC.


Execution / period of validity / transaction management / cluster

This call rolls back the local element of a distributed transaction.

The distributed transaction itself cannot be be rolled back using the administration capabilities. Only the local element of such a transaction can be rolled back. This type of administrative rollback is a heuristic decision concerning the result of the transaction and may in certain cases lead to inconsistencies in the distributed data stock if the distributed transaction is committed by the Commit Coordinator.

Parameter settings

Parameter area

Field name

Content

version

KC_ADMI_VERSION_1

retcode

KC_RC_NIL

version_data

KC_VERSION_DATA_11

opcode

KC_PTC_TA

subopcode1

KC_ROLLBACK

id_lth

25

select_lth

0

data_lth

0

Identification area

Triad with the transaction’s identification data

Selection area

Data area

Data returned by UTM

Parameter area

Field name

Content

retcode

Return codes


subopcode1

With subopcode1=KC_ROLLBACK, you specify that the transaction is to be rolled back.

id_lth

You specify the length of the data structure kc_ptc_id_str in the id_lth field.

Identification area

In the identification area, you specify the data structure kc_pct_id_str.

kc_ptc_id_str must be filled with the values returned by the call KC_GET_OBJECT with operation code KC_PTC in the structure ptc_ident. ptc_ident is present in the data structure kc_ptc_str, see "kc_ptc_str - Transactions in PTC state". The data structure kc_ptc_id_str is defined as follows.


struct kc_ptc_id_str

char vg_indx[10];

char vg_nr[10];

char ta_nr_in_vg[5];


vg_indx is the index of the service, vg_nr the number of the service and ta_nr_in_vg the number of the transaction in the service.

retcode

openUTM returns the return code for the call in the retcode field. Alongside the return codes listed in section "Return codes", the following return codes may also occur


Maincode = KC_MC_REJECTED

The call was rejected by openUTM.

Subcode:

KC_SC_NO_MORE_PTC

The transaction is no longer in the PTC state.

KC_SC_END_TA_ALREADY_INITIATED

The termination of the transaction has already been initiated. There may be the following reasons for this:



Maincode = KC_MC_REJECTED

The call was rejected by openUTM.

Subcode:

  • The partner of the distributed transaction that determines the result of the transaction (Commit Coordinator) has initiated the termination of the transaction

  • The termination of the transaction has been initiated by the administration functions.

KC_SC_PARTNER_CONNECTED

The connection has been established to the partner of the distributed transaction that determines the result of the transaction (Commit Coordinator). This initiates termination of the transaction.