Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Programming aids

openUTM makes a range of information available to program units. You can evaluate and use this for communication control:

  • after the INIT call

  • after using MGET to read the dialog message

After the INIT call, you can ascertain the following from the communication area:

  • the user ID or session name under which the program unit was started (KCBENID/kcuserid field)

  • the communication protocol used by the partner (1 is entered in KCVGST/kcpcv if LU6.1 is used)

  • whether it is a service restart (KCKNZVG/kccv_status is then set to "R").

After the MGET call, openUTM returns the status of the partner service in the KCVGST/kcpcv_state field and the status of the partner transaction in the KCTAST/kcpta_state field.

For COBOL, a higher-ranking status field KCRST is defined which contains the KCVGST and KCTAST fields.

Using these stati you can, for example, ascertain whether the partner service has already requested end of transaction and is waiting for the termination of distributed processing. This feature can be used to control the program run and ensure that the programming rules are observed, even in situations where the exact security processes used by the partner are not known. On the other hand, it also allows the job-submitting service to react to errors in the job-receiving services.

Service status of the partner

KCVGST/kcpcv_state

Meaning

I

(inactive):
The service is inactive, i.e. it has not yet been started or it has not been possible to start it, e.g. because the TAC is unknown in the partner application.

O

(open):
The service is open.

C

(closed):
The service terminated with PEND FI.

R

(rolled back):
The service has been terminated by the program with PEND RS.

E

(error):
The service has been terminated by the program with PEND ER/FR.

Z

The service has been terminated by openUTM because of an error.

T

(timeout):
The service has been or is terminated incorrectly, as no response has been received within the specified wait period or it has not been possible to reserve a free session within the specified wait period.

Transaction status of the partners

KCTAST/kcpta_state

Meaning

I

(inactive):
There is no transaction because no service exists.

O

(open):
The transaction is open; the last dialog step has been terminated with PEND KP.

P

(prepare to commit):
The service has requested end of transaction, but the distributed transaction has not yet terminated. In this situation the service waits for an acknowledgment which it receives as soon as the distributed transaction is terminated. Just as with PEND KP, the resources (GSSB, TLS) remain locked until that point.

C

(closed):
The last distributed transaction in which the service participated is terminated.

R

(rolled back):
The distributed transaction and thus also the local transaction have been rolled back.

M

(mismatch):
The services participating in a distributed transaction cannot agree on a common synchronization point for service restart. This can only occur with a timeout or after termination and start of a UTM-F application.