Intertest - CICS shows incorrect trace step (PF10) sequence
search cancel

Intertest - CICS shows incorrect trace step (PF10) sequence

book

Article ID: 418165

calendar_today

Updated On:

Products

InterTest - CICS

Issue/Introduction

Programmer experienced wrong step trace (PF10) sequence under under IF AND clause section.

Case 1: When condition IF AND is true when press PF10 it should goto position 1 and then goto position 3 (see picture), but it skip position and go directly to position 3.
   
Case 2: When condition IF AND is fault when press PF10 it should go directly to position 2(because else statement point to next statement), but it goto position 1 then goto position 2.    

The execution result of these 2 cases are OK, but step trace (PF10) sequence is seem to not follow the correct stepping logic, which confused the made programmer.

Checking compile option the compile OPTIMIZE parameter is already set as OPT(0)

Environment

InterTest - CICS

Resolution

Support sent following advice but the case was not pursued.

  1.  Check the program is not OPTIMIZED which can cause this type of problem.
    ==========
       CA InterTest for CICS - PROTSYM FILE  SOURCE LISTING DISPLAY                                      
    COMMAND ===>                                                                                          
    Program= COBDEMO  Option #       Stmt #                                                              
                                            Search=                                                      
    OPTS 1 Proc div  2 Work-stor 3 Link sect  4 D-map      5 Clst/Pmap  More:   +                        
         6 Data xref 7 Proc xref 8 Err msgs   9 Srch fwd  10 Srch bwd                                    
    PFKS 1 Help      2 SDF       3 End        4 Profile    5 Monitor    6 Menu                            
         7 Backward  8 Forward   9 Next Wnd  10           11           12 Status                          
    ------------------------------------------------------------------------------------                  
       OPTIMIZE(0)                                                                                        
       OUTDD(SYSOUT)                                                                                      
     NOPARMCHECK                                                                                          
       PGMNAME(COMPAT)                                                                                    
       QUALIFY(COMPAT)        
    ==========
    In this particular scenario OPT(0) was already being used.


  2. Check that there is no mismatch between the symbolic file and the load module
    If there is then the below message will be seen on setting the first breakpoint:
    ==========
      CA InterTest for CICS - SYMBOLIC VERSION LIST                                  
                                                                                     
       Program = COBDEMO     Load Module Date/Time =  10/29/2025 17:12:35            
       Loadlib = USER1.COBOL62.LOAD                          Volume = VOL1        
                                                                                     
       File ID     Date       Time    Language     Comments                          
     _ PROTSYM  10/23/2025  15.57.25  IBMCOB 64  LATEST VERSION                      
                                                                                     
                                                                                     
                                                                                     
                                                                                     
                                                                                     
                                                                                     
                                                                                     
                                                                                     
                                                                                     
                                                                                     
                                                                                     
                                                                                     
            S - Select which Symbolic file to use                                    
     -------------------------------------------------------------------------------  
     PFKEYS:  1 Help      2           3 No file   4           5           6          
              7 Backward  8 Forward   9          10          11          12          
     CAIN8002 WARNING - Symbolic file date/time not equal to load module date/time    
    ==========


  3. If #2 does not resolve the problem proceed as follows to turn on the keep window and then recreate the reported problem.
    Capture step by step print screens that show the incorrect single stepping through the program using PF10 which will show the values of the storage fields in the keep window.
    Change the profile to setup the keep window
    ==========
       CA InterTest for CICS - PROTSYM FILE   STEP  BEFORE  PROFILE                          
    COMMAND ===>                                                                              
    Program= COBDEMO  Option #       Stmt #                                                  
                                            Search=                                          
    OPTS 1 Proc div  2 Work-stor 3 Link sect  4 D-map      5 Clst/Pmap  More:   +            
         6 Data xref 7 Proc xref 8 Err msgs   9 Srch fwd  10 Srch bwd                        
    PFKS 1 Help      2 SDF       3 Det Bkpt   4 Auto prms  5 RESUME     6 Menu                
         7 Backward  8 Forward   9 Next Wnd  10 001 Verb  11 Backtrace 12 Status              
    ---------+--------------------------------------------------------------------------      
    Display window   = K         N (None), T (Titles), R (Registers),                        
                                 K (Keep), P (Program)                                        
    PF7/8 amount     = PAGE      PAGE, HALF, STOP, or a number from 1 to 9999                
    Step Timing      = BEFORE    Stop  Before  or  After  the next verb  is executed          
    Stepping amount  = 001       The number of verbs   to execute                            
    Auto-stepping    = OFF       ON to activate; press PF4 to change values                  
    Source List BKPT = ON        OFF to use the detailed breakpoint display                  
    From terminal ID = E006      Terminal ID where the program will execute                  
    BKPT terminal ID = E006      Terminal ID to receive the breakpoint displays              
    User ID          = .ANY      User ID who will execute this program                        
    AutoKeep Display = ON        OFF to deactivate                                            
    Code Counting    = OFF       ON to activate Code Coverage                                
    SDF              = DATA      HEX  for Hexadecimal Format                                  
                                                                                             
       CA InterTest for CICS - PROTSYM FILE  UNCOND  BEFORE BREAKPOINT                                        
    COMMAND ===>                                                                                              
    Program= COBDEMO  Option #       Stmt #                                                                    
                                            Search=                                                            
    ------------------------------------------------------------------------------------                      
     _____ EIBTRNID                        | DEMC                                        KEEP WINDOW                           
     _____ TSQ-TRANID                      | ....                                                              
    ---------+--------------------------------------------------------------------------                      
       000325                                                                                                  
     _ 000326 PROCEDURE DIVISION.                                                       300                    
     U    ==>     MOVE EIBTRNID TO TSQ-TRANID.                                          IMP 29                
     _ 000328     MOVE EIBTRMID TO TSQ-TERMID.                                          IMP 30                
       000329*** THIS CODE INITIALIZES THE MAPS BECAUSE COBOL2 DOESN'T ***                                    
     _ 000330     MOVE LOW-VALUES TO DMAP04AI                                           IMP 172                
     _ 000331                  DMAPBEGI                                                 211                    
     _ 000332                  DMAPASRI                                                 215                    
     _ 000333                  DMAPSUMI                                                 219                    
     _ 000334                  DMAPENDI                                                 223                    
     _ 000335                  DMAP00I                                                  234                    
     _ 000336                  DMAP01I                                                  252                    
     _ 000337                  DMAP02I                                                  256                    
     _ 000338                  DMAP03I                                                  260                    
     _ 000339                  DMAP04I                                                  264                    
     _ 000340                  DMAP05I                                                  268                    
     _ 000341                  DMAP06I                                                  272                    
     _ 000342                  DMAP07I                                                  276                    
     _ 000343                  DMAP08I                                                  280                    
    ==========

    Use the K  KEEP LINE command to display the variables in the keep window.
    ==========
       CA InterTest for CICS - PROTSYM FILE   STEP  BEFORE  BREAKPOINT                                            
    COMMAND ===>                                                                                                  
    Program= COBDEMO  Option #       Stmt #                                                                      
                                            Search=                                                              
    ------------------------------------------------------------------------------------                          
     _____ TSQ-TRANID                      | DEMC                                                                
     _____ EIBTRMID                        | E006                                                                
     _____ TSQ-TERMID                      | ....                                                                
    ---------+--------------------------------------------------------------------------                          
     _ 000326 PROCEDURE DIVISION.                                                       300                      
     U 000327     MOVE EIBTRNID TO TSQ-TRANID.                                          IMP 29                    
     _    ==>     MOVE EIBTRMID TO TSQ-TERMID.                                          IMP 30                    
       000329*** THIS CODE INITIALIZES THE MAPS BECAUSE COBOL2 DOESN'T ***                                        
     _ 000330     MOVE LOW-VALUES TO DMAP04AI                                           IMP 172                  
     _ 000331                  DMAPBEGI                                                 211                      
     _ 000332                  DMAPASRI                                                 215                      
     _ 000333                  DMAPSUMI                                                 219                      
     _ 000334                  DMAPENDI                                                 223                      
     _ 000335                  DMAP00I                                                  234                      
     _ 000336                  DMAP01I                                                  252                      
     _ 000337                  DMAP02I                                                  256                      
     _ 000338                  DMAP03I                                                  260                      
     _ 000339                  DMAP04I                                                  264                      
     _ 000340                  DMAP05I                                                  268                      
     _ 000341                  DMAP06I                                                  272                      
     _ 000342                  DMAP07I                                                  276                      
     _ 000343                  DMAP08I                                                  280                      
    ==========


  4. Upload the entire COBOL compile listing to the case showing the source and the version of IN25COB2 e.g.
    ==========
    IN25COB2 V11.0 VH26971 - 08/19/2025 08.29                                                                      
                                                                                                                   
    SYM036 PASSED PARAMETER STATEMENTS                                                                            
                                                                                                                   
    COBDEMO,LISTER=ALL,CUTPRINT=ALL,NOPURGE                                 00007400                              
                                                                                                                   
    SYM099 COBDEMO  MAXPGMVER WAS REACHED - OLDEST VERSION HAS BEEN DELETED TO PROCESS CURRENT REQUEST.            
                                                                                                                   
    SYM010 PROCESSING HAS BEGUN FOR PROGRAM - COBDEMO                                                              
                                                                                                                   
    SYM004 SYMBOLIC INFORMATION HAS BEEN SET AS NON-PURGABLE                                                      
    SYM006 LISTER=ALL    REQUESTED                                                                                
    SYM007 CUTPRINT=ALL    REQUESTED                                                                              
    ==========                                                                             


  5. Upload a copy of the load module and the source code for the program that is stored in the PROTSYM file.
    Below is JCL to XMIT the load module(One for PDSE and One PDS)  and JCL to run Intertest program IN25UTIL to offload the program from the PROTSYM file.
    Terse the two SEQUENTIAL files and upload them to the case.
    To Offload the symbolics - PROTSYM member:
    ==========        
    //************************************************
    //*PROTSYM file                                   *
    //************************************************
    //GETPROG EXEC PGM=IN25UTIL,REGION=2048K        
    //STEPLIB  DD DISP=SHR,DSN=Intertest CAVHLOAD         
    //MESSAGE  DD SYSOUT=*                           
    //UNLOAD   DD DISP=(NEW,CATLG,DELETE),           
    //            DSN=user.unload.protsym,         
    //            UNIT=SYSDA,VOL=SER=volume,       
    //            SPACE=(CYL,(5,1),RLSE),          
    //            DCB=(RECFM=FB,LRECL=2042,BLKSIZE=20420)  
    //PROTSYM  DD DISP=SHR,DSN=YOUR PROTSYM FILE      
    //CARDS    DD *        
    UNLOAD=PROGRAM Name
    /*                     
    //    
    ==========        

    If the load library is a PDSE use this JCL:
    ==========        
    //*************************************************        
    //*PDSE  LOAD LIBRARY                                
    //*************************************************
    //UNLDLOAD EXEC PGM=IKJEFT01
    //SYSPRINT DD SYSOUT=*
    //SYSTSPRT DD SYSOUT=*
    //INDD     DD DISP=SHR,DSN=Your.LOADLIB
    //OUTDD    DD DSN=PROGRAM.XMIT, 
    //            DISP=(NEW,CATLG,DELETE),
    //            UNIT=SYSDA,SPACE=(TRK,(50,50),RLSE),
    //            DCB=(RECFM=FB,LRECL=80,BLKSIZE=3120),
    //            VOL=SER=XXXXXX
    //SYSTSIN  DD *
      XMIT TEST.TEST DDNAME(INDD) OUTDD(OUTDD) MEMBERS(PGMNAME)
    /*
    //
    ==========