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)
InterTest - CICS
Support sent following advice but the case was not pursued.
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) 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 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 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 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 //************************************************//*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/* // //************************************************* //*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)/*//