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_str - Transactions in PTC state

The data structure kc_ptc_str is defined for the object type KC_PTC. If KC_GET_OBJECT is specified then kc_ptc_str shows all the distributed transactions in the state PTC (prepare to commit) and for which there is no connection (LU6.1 session or OSI-TP) to the Commit Coordinator. The Commit Coordinator is the partner application that determines the result of the transaction.
prepare to commit indicates the state of a transaction in which a partner has already initiated the end of the transaction and is waiting for a communication partner’s decision on the transaction output. In this state, the local transaction sets locks on application or database resources.

openUTM returns the following:

  • Information about the transaction

  • Job-submitter user ID of the distributed transaction.

  • Name of the partner (LPAP or OSI-LPAP partner)

  • Name of the session (in the case of LU6.1)

The PTC state can be caused by the establishment of a connection to the specified partner or by an administrative rollback of the local element of the distributed transaction (e.g. with operation code KC_PTC_TA and subopcode1=KC_ROLLBACK, see "KC_PTC_TA - Roll back transaction in PTC state").

Caution: An administrative rollback can lead to data inconsistencies and should only be performed in exceptional cases.

Data structure kc_ptc_str

struct kc_ptc_id_str ptc_ident;

char ptc_user[8];

char ptc_lpap[8];

char ptc_lses[8];

char ptc_user_type;

The fields in the data structure have the following meanings:

ptc_ident

Specifies information relating to the transaction in the element ptc_ident of type kc_ptc_id_str:

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.

In the case of operation code KC_PTC_TA with subopcode1=KC_ROLLBACK the structure must be passed in the identification area if you wish to reset the transaction.

ptc_user

Specifies the job submitter user ID of the distributed transaction.

In the case of OSI TP, the field contains the name of an OSI TP association.

In the case of LU6.1, the field can contain the name of a user (USER), an LU6.1 session (LSES) or 8 spaces:

  • If the field contains 8 spaces then the transaction is in the PTC state in an asynchronous LU6.1 job-submitter service.

  • If the field contains the name of a user then the transaction is in the PTC state in the highest level LU6.1 job-submitter dialog service.

  • If the content of the field is not the same as the content of the ptc_lses field then the transaction is in the PTC state in an LU6.1 job-submitter service.

  • If the content of the field is the same as the content of the ptc_lses field then the transaction is in the PTC state in an LU6.1 job-receiver service.

ptc_lpap

Specifies the LPAP or OSI-LPAP name of the partner that determines the result of the transaction (Commit Coordinator).

ptc_lses

In the case of LU6.1 connections, specifies the session name of the partner that determines the outcome of the transaction (Commit Coordinator).

In the case of a PTC transaction in the job receiver, ptc_lses has the same content as ptc_user.

In the case of OSI TP connections, the field contains spaces.

ptc_user_type

Type of entry in the field ptc_user:

U

User

L

LU6.1 session

O

OSI TP Association

Blank

If the ptc_user field is empty