Is there a way for InterTest CICS to interrupt a program that is in a loop?
search cancel

Is there a way for InterTest CICS to interrupt a program that is in a loop?

book

Article ID: 211939

calendar_today

Updated On:

Products

InterTest - CICS

Issue/Introduction

An application program is looping in ​a CICS region which is causing high CPU consumption. It appears the loop contains CICS commands since we are not receiving an AICA abend​ ​.Is there a way for Intertest CICS to interrupt the program execution and stop the program from looping?

Environment

Z/OS

CICS

Resolution

The MXR option is useful when a program is in a loop that includes a CICS request and therefore will not time out.                                      
To limit the number of CICS requests add the MXR option to the program being tested.
                                   
MXR=nnnnnnn
nnnnnnn specifies the number of CICS requests a program can issue. Replace nnnnnnn specifies the number of CICS requests a program can issue.

For example you can set the Intertest CICS demo program COBDEMO to MXR=2000 by entering the following command on a clear screen in CICS and pressing the enter key.

CNTL=ON,PROG=COBDEMO,MXR=2000

You will receive the following messages after the command has been successfully processed.

CAIN4580 MXR option(s) processed        
CAIN4513 This request has been processed.

To see the Intertest CICS options set for the COBDEMO program you can enter the following command on a clear screen in CICS and press the enter key.

CNTL=INQ,PROG=COBDEMO

The following report will be generated

COBDEMO    For userid .ANY                                              
 Symbolic file is PROTSYM                                      
 MXR number=0002000                                          
 Abend Intercept ABI=ON                                      
 SLB   terminal is E007 - Source Listing Breakpoints are on.  
 Listing window:       Titles.                          
 AutoKeep Display is ON                                  
 Code Coverage is OFF  


If a loop is detected when the COBDEMO program is executed, Intertest CICS will interrupt the COBDEMO program execution with an automatic breakpoint screen as shown below.


   CA InterTest for CICS - PROTSYM FILE  ABEND DETECTED BREAKPOINT                  
COMMAND ===>                                                                        
Program= COBDEMO  Option #       Stmt #                                            
                                        Search=                                    
------------------------------------------------------------------------------------
 _____ WS-ABS-TIME                     | +003826282754376.                          
---------+--------------------------------------------------------------------------
 _ 000039     MOVE    'DDDDDDDDD' TO WS-START-CODE.                                
   000040                                                                          
 A    ==>     EXEC CICS ASKTIME ABSTIME(WS-ABS-TIME) END-EXEC.                      
     ==>                                                                            
     ==> MXR (max CICS requests) trigger value exceeded.                            
     ==>                                                                            
     ==>      Press PF1 for a detailed description.  



Pressing PF1 will provide additional details.



                    CA INTERTEST - INTERACTIVE HELP FACILITY -                
 TUTORIAL:Automatic Breakpoint:  Error code 23.                                
                                                                               
 Error code 23:  MXR (MAXIMUM CICS REQUESTS) trigger value exceeded.          
                                                                               
 This option lets you limit the number of CICS requests: commands and macros,  
 that can be issued by a program.  This is particularly useful in detecting    
 program loops that generate an excessively large number of CICS requests.    
                                                                               
 WHAT YOU CAN DO:   Examine the back trace entries and ascertain whether or not
 the program is looping.  You may want to remove the MXR option, increase the  
 MXR limit or press PF9 to cancel the task.