How to receive breakpoints in a back ground task with CA Intertest for CICS?

Document ID : KB000009528
Last Modified Date : 14/02/2018
Show Technical Document Details

One of the more common questions we receive in CA Intertest CICS support is how to monitor a task that runs without a terminal. Users have tasks that start from the web and they want to monitor the task once it executes on a CICS region, or Transaction A issues an Exec CICS Start to Transaction B, or a task is started through an Interval Control start. Under the "default" rules of CA Intertest CICS, breakpoints will not be honored.


Figure 1

Above, my program COBSTART is issuing an EXEC CICS START to tranid DATE. I want to monitor the program executed by DATE. In my PCT entry, the program is named COB2DATE.

Figure 2

Below, I've set my breakpoint at statement 149 in COB2DATE

Figure 3

CEMT shows that COB2DATE has a use count of 6

Figure 4

I've set a breakpoint in COBSTART at line 165 and executed my transaction to stop there.

Figure 5

My next breakpoint should be in COB2STRT so I press PF5 to continue.

Figure 6

Rather than stop in COB2DATE, I went back to native CICS where my tranid was entered. Why didn't Intertest honor the breakpoint? The use count went up so I know COB2DATE executed!

Figure 7

Let's take a look at what happened. I can see what the setup is for COB2DATE using a CNTL=INQ,PROG=COB2DATE command entered from native CICS.

Figure 8

The key to resolving this problem is to see what the FROM and TO terminal ids are for my breakpoint. As you can see above, they are both set to termid V701. My breakpoint will never be honored in this scenario because COB2DATE is not initiated from termed V701, it is started from another program.

In order to tell Intertest the fact that this is initiated without a terminal, use the source listing display for COB2DATE.

First, in order to start fresh, remove monitoring from COB2DATE.

Figure 9

Now, display the source for the program using the LIST transaction - enter the command LIST=COB2DATE from native CICS. The resulting display will take us to the ID Division of the program. We want to set the same breakpoint as before, so I can display the procedure division by entering a 1 in the option field and pressing enter.

Figure 10

The options and PF keys are displayed at the top. PF4 is for PROFILE and this is where we tell Intertest that this program will run without a terminal. I press PF4: Notice the FROM and BKPT terminal settings:

Figure 11

I need to change the FROM to a value of .NO (no terminal) before setting my breakpoint. If monitoring by userid, I also want to make sure that this setting is also .ANY in case the useriud isn't carried over.

Figure 12

I can now set my breakpoint. Pressing enter brings me back to the source listing.

Figure 13

Now I can exit out but I want to issue the CNTL=INQ,PROG=COB2DATE command to make sure.

Figure 14

Notice the FROM value is a .NO

Figure 15

Rexecuting tranid STRT brings me to the breakpoint in COBSTART. PF5 will display the next breakpoint set in COB2DATE.

Figure 16

Success! I'm now where I want to be.