CICS Transaction Server for z/OS mirror transactions

You can use a mirror transaction to group CICS® Transaction Server for z/OS® tasks and programs together. This grouping greatly assists stat collection, accounting, and aids decision making about task priority.

You can specify a mirror transaction name on the CICSRequest node for CICS tasks and programs to run under. For example, if each department in a business has a different mirror transaction name, work can be tracked back to the correct source, and decisions about task priority and quality of service (QoS) can be made in CICS. Potentially, different security privileges might be available depending on the transaction name chosen. Or the transaction name might be used as a way of indicating the origin of the task. Alternatively, a mirror transaction can be used to denote whether code page translation of the commarea data is required.

There are two ways that a mirror transaction can be specified:

Specifying a mirror transaction name that corresponds with a defined TRANSACTION resource in CICS:

You can specify a mirror transaction name by configuring the Mirror transaction ID property on the CICSRequest node Basic tab, however the Mirror transaction ID property value that you specify must correspond to a defined TRANSACTION resource in CICS. For example, if you have a defined TRANSACTION resource of ATRN in CICS, and you want tasks and programs to run under that transaction, you must configure ATRN as the Mirror transaction ID property value.

When the message flow containing the configured CICSRequest node is deployed, any CICS programs that are started thereafter appear in CICS as running under the specified mirror transaction.

Specifying a weaker form of mirror transaction that does not require a TRANSACTION resource to be defined in CICS:

You can use a weaker form of mirror transaction that does not change the TRANSACTION resource, but instead sets a variable called EIBTRNID, which is available to the called program. You can configure the EIBTRNID variable to tell the program what TRANSACTION resource it is running under, without the TRANSACTION resource being defined in CICS.

For example, you can specify this weaker form of mirror transaction by configuring the Mirror transaction ID property with the name of the required TRANSACTION resource; for example ATRN, and by selecting the Set EIBTRNID only property on the CICSRequest node Basic tab.

When the message flow containing the configured CICSRequest node is deployed, any CICS programs that are started thereafter appear in CICS as running under the specified mirror transaction.

If the value of the CICSRequest node Mirror transaction ID property is not set, the mirror transaction name defaults to CPMI if called by a distributed platform, or CSMI if called by a z/OS system.

The following table describes the mirror transaction handling that is applied depending on the configuration of the Mirror transaction ID and Set EIBTRNID only CICSRequest node properties. Where ATRN is an example of a user-defined transaction name:
Mirror transaction ID property value Set EIBTRNID only property value Task and programs run under defined TRANSACTION resource: EIBTRNID is:
Blank Cleared CPMI if called by a distributed platform, or CSMI if called by a z/OS system CPMI if called by a distributed platform, or CSMI if called by a z/OS system
ATRN Cleared ATRN ATRN
ATRN Selected CPMI if called by a distributed platform, or CSMI if called by a z/OS system ATRN

If you are considering whether to use a mirror transaction as a way of finding the point of origin of your data, using the CICS task association data might be a better alternative. All tasks that are initiated in CICS over IP InterCommunications (IPIC) protocol contain origin information, including source Internet Protocol (IP) and APPLID information.

The CICS mirror transaction properties can be changed by configuring the properties directly on the CICSRequest node, by using the mqsiapplybaroverride command, or by dynamically overriding these property values with elements in the message tree, on a per message basis, in the local environment. For more information about dynamically overriding CICSRequest node values, see Local environment overrides for the CICSRequest node and for information about the mqsiapplybaroverride command, see Configurable properties of message flow nodes.