CICS Interdependency Analyzer (CICS IA) command flow reporting has been enhanced with two new fields - PTTRANSID and PTTASKID.
PTTASKID (data-area)
-
Retrieves the 4-byte packed decimal identifier from the previous or parent transaction.
-
If the specified task was started by another task within the same CICS region, PTTASKID contains the identifier of that task in the local CICS region. Otherwise, it contains a packed decimal zero.
PTTRANSID (data-area)
-
Retrieves the 4-character transaction name from the previous or parent transaction data.
-
If the specified task was started by another task within the same CICS region, PTTRANSID contains the transaction name of that task in the local CICS region. Otherwise, it contains spaces.
Populate the PTTRANSID and PTTASKID fields.
To populate these fields, a sample program with commands EXEC CICS START or EXEC CICS RUN TRANSID must be coded.
The user must define the parent and child transactions and then execute the parent transaction so that the child transaction will get invoked internally with the EXEC CICS START or RUN TRANSID commands.
Examples:
where the command EXEC CICS START TRANSID with the transid as MRK1 is coded, which invokes the child transaction internally.
Flowchart:
MRKF(Parent transaction invoking MRK1 with (EXEC CICS START TRANSID(MRK1) or
EXEC CICS RUN TRANSID(MRK1)) 
MRK1(Child transaction)
Note:
The syntax for EXEC CICS START TRANSID and RUN TRANSID commands is as follows:
EXEC CICS START TRANSID(transaction-ID)
EXEC CICS RUN TRANSID(transaction-ID)
Scenario-1 Parent Invokes child using START or RUN TRANSID.
Execute the following steps for a parent transaction that invokes a child transaction using the EXEC CICS START or RUN TRANSID commands.
-
Log on to the CICS region.
-
Enter CINC to open the CICS IA Command Flow panel.

-
Specify both parent (MRKF) and child (MRK1) in the Traced Transaction IDs.

-
Press F5 to start the collector.
-
Press F3 and execute the parent transaction MRKF.
-
After the successful execution, press F6 to stop the collector.
-
The number of records collected will be displayed as shown below.

Follow the steps below to load data from logstream files into the database.
-
Log in to the mainframe emulator.
-
Run the batch jobs CIUJLCPY and CIUUPDB5 from the CICSIAD.ATR library.
-
These jobs load data from GDG/logstream files into the CICS IA command flow tables.
Verify Output in CICS IA and the database.
Open z/OS Explorer to view the command flow execution to verify the output on the client side on the CICS IA plug-in.
For the child transaction MRK1, the PTTRANSID and PTTASKID fields display the Previous Transaction (MRKF) ID and task ID.

To verify the output in the database, connect to Data Studio to view transaction execution in the database tables.
Command flow table:


Scenario 1 Conclusion:
Scenario-2 Parent Invokes child using TDQ
In this scenario, a parent transaction invokes a child transaction in other ways, where a child transaction gets invoked once the messages are written to TDQ.
Execute the following steps to trigger the child transaction indirectly via TDQ.
-
Code a program to write and read messages to the TDQ
-
Log on to the CICS region and enter CINC to navigate to the CICS IA command flow panel.
-
Define the TDQ as auto-triggered, specifying the transaction to be triggered when a message is written, as shown below.


-
Specify both parent (TDTD) and child (MRK1) in the Traced Transaction IDs.

-
Press F5 to start the collector
-
Press F3 and execute the parent transaction TDTD.
-
After successful execution, press F6 to stop the collector.
-
The number of records collected will be displayed as shown below.

Follow the steps below to load data from logstream files into the database.
-
Log in to the mainframe emulator.
-
Run the batch jobs CIUJLCPY and CIUUPDB5 from the CICSIAD.ATR library.
-
These jobs load data from GDG/logstream files into the CICS IA command flow tables.
Verify Output in CICS IA and the database.
Open z/OS Explorer to view the command flow execution to verify the output on the client side on the CICS IA plug-in.
For the child transaction MRK1, the PTTRANSID displays spaces, and the PTTTASKID displays packed decimal zeros.

To verify the output in the database, connect to Data Studio to view transaction execution in the database tables.
Command flow table:


Scenario 2 Conclusion:
In Scenario 2, in the case of auto-trigger TDQ, it triggers a transaction as a new point of origin, and the OD transid field of the MRK1 transaction shows the transid name of the new transaction instead of the main transaction TDTD.
Conclusion:
For example, in Scenario 1, an EXEC CICS RUN TRANSID or EXEC CICS START command is taken when a new point of origin is not created, and creates a trail that can be followed to the transaction that initiated the request, which enables data gathering and monitoring to continue in the region that initiated the request.
-
Previous transaction data is created if a request to attach a task is made by an EXEC CICS RUN TRANSID command, or some START commands, such as when the START command is not a new point of origin. The task attached to this request already has previous transaction data.
-
In Scenario 2, In case of auto trigger TDQ , it triggers a transaction as a new point of origin and the OD transid field of the MRK1 transaction shows the transid name of the new transaction itself instead of the main transaction TDTD.
PTTRANSID column of the child transaction shows spaces
PTTASKID field of the child transaction shows the Packed decimal zero
Note: Previous transaction data is not created for a task that is the point of origin.
Sai Chaitanya Para
QA Engineer – CICS IA
⚡️IBM z17 is here! Powered by the new IBM Telum II processor, IBM z17 makes more possible, empowering organizations to drive innovation and do more with their data while processing sixty percent more transactions per day than IBM z16. See what sets IBM z17 apart here.
