When a Cobol Application program performs a dynamic call to a second program, control is first passed from the caller to CEE module IGZCPAC or, for later releases of Cobol, IGZXLPKA. These programs then pass control to the called application program once they complete their processing.
In order for CA InterTest for CICS to monitor the called program, the programmer needs to use the FOL= Option which establishes monitoring on the CEE module in addition to the application program.
When displaying the CA InterTest for CICS monitoring table, why do I see monitoring set on IGZCPAC and IGZXLPKA? I haven't set monitoring on these programs?
The monitored application program is dynamically called from CEE and does not receive control directly from CICS.
The FOL=ON CNTL option is needed to successfully monitor dynamically called programs. This option will allow InterTest to "follow" monitoring into the second, or called,application program. However, the called program does not receive control directly from CICS, but rather from CEE programs IGZCPAC or IGZXLPKA so monitoring needs to be established on these two programs as well.
In order to facilitate the use of the FOL= option, internal CNTL commands are executed to set monitoring on IGZCPAC and IGZXLPKA as part of the initialization when InterTest is started. You may see these commands repeated to the terminal and/or the CICS joblog along with the other CA InterTest for CICS startup messages:
CNTL=ON,PROG=IGZCPAC,FOL=ON,USR=.ANY
CNTL=ON,PROG=IGZXLPKA,FOL=ON,USR=.ANY
The elements of the commands include:
Once the commands are successfully executed, the two CEE programs are placed in the monitoring table. This table is visible by using one of the following two methods:
An alternative choice is to execute a CNTL=INQX command. This will also show the FOL=ON and USR=.ANY options as well as the program names.
See the discussions on Using the FOL= Option and FOL Continue Monitoring After a Branch to Another Program found in the CA InterTest and Symdump documentation wiki.