Transaction tracking

Transaction tracking shows the origin of, and relationships between, tasks in an application as they flow across CICS regions in a CICSplex. Transaction tracking information is written out to SMF in a task’s monitoring data and can help you with auditing and problem determination. Functions are provided to locate specific tasks based on information in the point of origin to find interrelated hung tasks, and to identify work initiated by non-CICS® adapters (such as IBM® MQ).

Transaction tracking provides tighter integration between other products, such as IBM MQ, and an extension of the scope of transaction tracking to other interfaces, including WebSphere® Optimized Local Adapter and CICS sockets. The IBM MQ task-related user exit (TRUE) supports transaction tracking.

Transaction tracking has the following features:
Association data
Association data is a set of information that describes the environment in which user tasks run and the way that user tasks are attached in a region. Association data is built during task attach processing and represents context information specific to the task itself; for example, the task ID, the user ID relating to the task, and the principal facility of the task. Association data is propagated across IPIC and MRO to provide a complete story across the CICSplex for all user tasks, including CICS transactions started by a user (for example, CEMT) or running on behalf of a user-initiated transaction (for example, CSMI). For more information about the components of association data, see Association data.
Point of origin

Every user task in a CICSplex has a point of origin, such as a web service request or an IBM MQ message. When work first enters the CICSplex, details of its point of origin is placed into task context information called origin data (part of its task association data) for the first task that is created to process it. This origin data flows with the work as it moves around the CICSplex. Transaction tracking tracks the point of origin of a transaction by associating an initial user task with other tasks that are created from it. The created tasks carry information about the initial user task as origin data.

Transaction group
A transaction group associates transactions. The transactions all contain the same unique identifier of the originating transaction in the TRNGRPID. You use the TRNGRPID to track where transactions are created when they do not share a unit of work.
Adapter tracking
Adapter tracking tracks tasks that are created by non-CICS transports (for example, adapters that connect to other software applications such as IBM MQ), which can participate in transaction tracking. The adapters can add unique task metadata, describing the origin, into the propagated context of each transaction they initiate. This adapter data is carried in the origin data section of the association data and can be used to track the transactions started by the adapter.

Examples of adapter data added to a task's origin data is when tasks start as a result of requests coming into CICS from z/OS® Connect over the IPIC protocol. z/OS Connect passes adapter data, which is added to the origin data. This feature requires z/OS Connect Enterprise Edition or later. Another example is when the CICS-MQ trigger monitor or CICS-MQ bridge initiate tasks as a result of the arrival of MQ messages. The CICS-MQ adapter will append adapter data giving information about the MQ queue involved.

Adapter data is written as part of the origin data into the CICS 110 SMF monitoring record. If the task accesses Db2®, the CICS-Db2 attach will detect the presence of adapter data and, if ACCOUNTREC(UOW) or ACCOUNTREC(TASK) is set on the DB2CONN or DB2ENTRY definition, will pass the data to Db2.

The adapter ID, preceded by an 28-character eyecatcher, is passed as appl-longname as follows:
The adapter data, preceded by an 36-character eyecatcher, is passed as an accounting-string as follows:

Db2 will write the data in its SMF accounting records and the data is also available online through the Db2 special registers CURRENT CLIENT_APPLNAME and CURRENT CLIENT_ACCTNG.

Note: This capability requires CICS TS 5.6 with APAR PH30252 and Db2 12 with APAR PH31447 or higher.