Page 1 of 1

Find programs ran by transaction

PostPosted: Thu Aug 05, 2010 8:17 pm
by kaos
I'm just having a go at learning more about z/OS and mainframes in general and as such am working through questions for a contest.
I've come to a halt at trying to firstly find what program/s are run by a transaction. After this I have to find what datasets these programs are loaded from but I assume that will not be difficult.
The question says to use SDSF to view the JCL of CICS but using the SJ command on the job just gives a file with:
//CICSPRT2 JOB MSGLEVEL=1
//STARTING EXEC CICSPRT2
I'm assuming I'm missing something quite simple and am sorry for asking a probably extremely simple question. It will bug me till I find out how to do it though heh.

Thanks.

Re: Find programs ran by transaction

PostPosted: Thu Aug 05, 2010 8:30 pm
by Robert Sample
The first part is easy: sign onto the CICS region, enter CEMT I TRANS(????) and hit enter. The system will respond with a couple lines of data about the transaction, including the program -- PRO(????????) -- being invoked by the transaction. However, after that you either need to manually review the source code to see which programs are called (via EXEC CICS LINK, EXEC CICS XCTL, or program call) by that program, or you can run a CEDF session to interactively find every CICS LINK or XCTL (although this won't find program CALL statements).

The programs will be loaded from DFHRPL in the CICS procedure. You'll want to check them in the concatenation sequence, though, as the same program in two concatenated libraries results in only the first being executed -- the program in the second library will never be accessed. For this reason, QA (and TEST) regions often have the production libraries concatenated so any programs not in the QA (or TEST) libraries get picked up from production.