Transaction manager domain exit XXMATT
Exit XXMATT is invoked during transaction attach, and is able to change some of the attributes of the transaction that is being attached.
The exit can change the attach transaction ID of the transaction by changing the field addressed by UEPATPTI. You cannot use EXEC CICS commands from this exit.
- Exit-specific parameters
-
- UEPTRANID
- The address of transaction ID (see Notes).
- UEPUSER
- The address of the user ID associated with the transaction if the current task is a user task (see Notes).
- UEPTERM
- The address of the terminal ID associated with the transaction, if any (see Notes).
- UEPPROG
- The address of the application program name for this transaction, if any (see Notes).
- UEPATPTI
- The address of a 4 byte field containing the primary transaction ID. You can change the primary transaction ID by modifying the addressed field.
- UEPATOTI
- The address of the 4 byte attach transaction ID. A transid of X'00000000' indicates that a transid was not supplied on the attach.
- UEPATTPL
- The address of an area containing the length of the attach TPName. A length of zero indicates that a TPName was not supplied on the attach.
- UEPATTPA
- The address of a fullword containing the address of the attach TPName. The attach TPName can be 1 through 64 bytes long, as defined by UEPTTPL.
- UEPATLOC
- The address of a 1 byte field indicating whether the transaction
was found. Note that if the transaction was not found but system
initialization parameters DTRTRAN and DTRPGM are specified, the transaction
specified on DTRTRAN is attached, and CICS® considers
that the transaction has been found. Equated values are:
- UEATFND
- The transaction was found.
- UEATNFND
- The transaction was not found.
- UEPATTST
- The address of a 1 byte transaction definition state. Equated
values for the definition state are:
- UEATENAB
- The transaction is enabled.
- UEATDISA
- The transaction is disabled.
- UEPATTTK
- The address of a doubleword containing a transaction token. Note that some of the transaction manager XPI calls require this token to identify the transaction that is being attached.
- Return codes
-
- UERCNORM
- Continue attach processing.
- XPI calls
- The user exit can inquire on the transaction being attached, using
the UEPATTTK transaction token as input to the XMIQ INQUIRE_TRANSACTION
XPI call.
The exit can also set the total priority and TCLASS, using the XMIQ SET_TRANSACTION XPI call.
Most of the XPI calls can be used, but with caution since typically this exit is invoked under the TCP task. Thus it is advisable not to issue any XPI calls that might cause the TCP task to wait.
- The following XPI calls can be useful for obtaining information
that could be used to modify the attach of a transaction:
- INQUIRE_TRANSACTION
- INQUIRE_MXT
- INQUIRE_TCLASS
- INQUIRE_TRANDEF
- INQUIRE_SYSTEM
- The fields UEPTRANID, UEPUSER, UEPTERM, and UEPPROG are common
to many of the domain global user exit points, and normally return
values associated with the current user task. In the case of XXMATT,
however, the user task that is being attached is not the current
task when the exit is invoked. Until task attach is complete, the
current task is the CICS task that is performing the
attach.
When the task being attached is for a task started by an immediate START command; that is, a START without an interval, the current task is the task that issues the START command, and the fields contain values associated with that task.