Page 1 of 1

How to see what has triggered a CICS transaction?

Posted: Thu Nov 09, 2017 7:44 pm
by durga
Hi,

How to see what has triggered a CICS transaction? I have a COBOL CICS program, the comment section of this is not giving any information about how the program is triggered. How do we identify the calling program in CICS?

And is there a possibility to see the calling sequence of programs?

Re: How to see what has triggered a CICS transaction?

Posted: Thu Nov 09, 2017 8:30 pm
by Robert Sample
There are at least six ways to initiate a CICS transaction:
1. transaction id keyed into terminal (that is, the top left 4 characters on screen)
2. EXEC CICS RETURN with transaction specified
3. EXEC CICS START with transaction specified
4. attention identifier associated with transaction
5. automatic task initiation for a TD queue
6. program list table entry
So there may -- or may not -- be a calling program; a TD queue trigger, for example, would directly invoke the program / transaction with no calling program. Only options 2 and 3 actually have a calling program, in fact.

There are no easy ways to see the calling sequence of programs. If you have the time, and the access, you could walk through the programs with CEDF to identify the sequence of CICS programs. However, if a COBOL program does a CALL to another COBOL (or assembler) program, that would not be captured in CEDF since there is no CICS event to trigger CEDF.

Re: How to see what has triggered a CICS transaction?

Posted: Wed Jul 04, 2018 9:07 am
by durga
Robert Sample wrote: Thu Nov 09, 2017 8:30 pmThere are at least six ways to initiate a CICS transaction:
1. transaction id keyed into terminal (that is, the top left 4 characters on screen)
2. EXEC CICS RETURN with transaction specified
3. EXEC CICS START with transaction specified
4. attention identifier associated with transaction
5. automatic task initiation for a TD queue
6. program list table entry
So there may -- or may not -- be a calling program; a TD queue trigger, for example, would directly invoke the program / transaction with no calling program. Only options 2 and 3 actually have a calling program, in fact.

There are no easy ways to see the calling sequence of programs. If you have the time, and the access, you could walk through the programs with CEDF to identify the sequence of CICS programs. However, if a COBOL program does a CALL to another COBOL (or assembler) program, that would not be captured in CEDF since there is no CICS event to trigger CEDF.
Thank you so much. I did not know all of them.