533
User Guide 6.0 CA-InterTest for CICS

CA-Intertest for CICS User Guide

Embed Size (px)

Citation preview

Page 1: CA-Intertest for CICS User Guide

User Guide6.0

CA-InterTest® for CICS

Page 2: CA-Intertest for CICS User Guide

This documentation and related computer software program (hereinafter referred to as the �Documentation�) is forthe end user�s informational purposes only and is subject to change or withdrawal by Computer AssociatesInternational, Inc. (�CA�) at any time.

THIS DOCUMENTATION MAY NOT BE COPIED, TRANSFERRED, REPRODUCED, DISCLOSED ORDUPLICATED, IN WHOLE OR IN PART, WITHOUT THE PRIOR WRITTEN CONSENT OF CA. THISDOCUMENTATION IS PROPRIETARY INFORMATION OF CA AND PROTECTED BY THE COPYRIGHT LAWSOF THE UNITED STATES AND INTERNATIONAL TREATIES.

TO THE EXTENT PERMITTED BY APPLICABLE LAW, CA PROVIDES THIS DOCUMENTATION �AS IS�WITHOUT WARRANTY OF ANY KIND, INCLUDING WITHOUT LIMITATION, ANY IMPLIED WARRANTIESOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT. IN NO EVENTWILL CA BE LIABLE TO THE END USER OR ANY THIRD PARTY FOR ANY LOSS OR DAMAGE, DIRECT ORINDIRECT, FROM THE USE OF THIS DOCUMENTATION, INCLUDING WITHOUT LIMITATION, LOSTPROFITS, BUSINESS INTERRUPTION, GOODWILL OR LOST DATA, EVEN IF CA IS EXPRESSLY ADVISED OFSUCH LOSS OR DAMAGE.

THE USE OF ANY PRODUCT REFERENCED IN THIS DOCUMENTATION AND THIS DOCUMENTATION ISGOVERNED BY THE END USER�S APPLICABLE LICENSE AGREEMENT.

The manufacturer of this documentation is Computer Associates International, Inc.

Provided with �Restricted Rights� as set forth in 48 C.F.R. Section 12.212, 48 C.F.R. Sections 52.227-19(c)(1) and (2) orDFARS Section 252.227.7013(c)(1)(ii) or applicable successor provisions.

1985, 2000 Computer Associates International, Inc., One Computer Associates Plaza, Islandia, New York 11749. Allrights reserved.

All trademarks, trade names, service marks, or logos referenced herein belong to their respective companies.

Page 3: CA-Intertest for CICS User Guide

Contents iii

Contents

Chapter 1: IntroductionWhat Is CA-InterTest for CICS? ................................................................ 1�1Fast, Easy Testing ............................................................................. 1�2

Interactive Testing: The CA-InterTest for CICS Monitor ...................................... 1�2Error Detection and Prevention............................................................. 1�3Diagnostic Information .................................................................... 1�4Interrupting Programs by Setting Breakpoints ............................................... 1�5

Stable CICS Test and Production Systems ....................................................... 1�6Examining and Modifying Main and Auxiliary Storage ........................................... 1�6Easy-to-Use Features .......................................................................... 1�7

Getting Started with CA-InterTest for CICS .................................................. 1�7Different Methods of Using CA-InterTest for CICS ........................................... 1�7Getting HELP............................................................................. 1�8User-Defined Help for Abends ............................................................. 1�9Online Access to Source Listings and Compiler Output ....................................... 1�9Symbolic Support ......................................................................... 1�9Flexible Testing ........................................................................... 1�9

CA-InterTest for CICS Components............................................................1�10CA-SymDump For CICS Option...............................................................1�10Take Advantage of CA-InterTest for CICS ......................................................1�11

Chapter 2: Menus and DisplaysThe Primary Option Menu and Breakpoint Menu ................................................ 2�2

Option Selection .......................................................................... 2�3PF Keys .................................................................................. 2�4Menu Structure and Navigation ............................................................ 2�4Breakpoint Menus......................................................................... 2�6Selection and Navigation Commands ....................................................... 2�7

Using the Monitoring Status Display............................................................ 2�8Expanding and Collapsing Entries .........................................................2�10

Page 4: CA-Intertest for CICS User Guide

iv CA-InterTest for CICS User Guide

Removing Monitoring, Breakpoints, or Other Options....................................... 2�11Refreshing the Display ................................................................... 2�11Exiting the Status Display ................................................................ 2�11

Chapter 3: Source Listing FacilityPreparing Your Program ...................................................................... 3�2Starting CA-InterTest for CICS in Your CICS Region ............................................. 3�2CA-InterTest for CICS Transaction IDs ......................................................... 3�3Starting a Test Session ........................................................................ 3�4

Step 1. Perform CICS Sign On ............................................................. 3�4Step 2. Display Your Source Code.......................................................... 3�4Step 3. Set Monitoring .................................................................... 3�5Step 4. Set Breakpoints.................................................................... 3�5Step 5. Initiate Your Program and Begin Testing............................................. 3�5

Using the Source Selection List................................................................. 3�6Examining the Source Listing Display Screen.................................................... 3�8

Detailed Field Definitions ................................................................. 3�9Source Listing Option # Field Entries ...................................................... 3�11Source Listing Command Line ............................................................ 3�12Action-Characters Supported from a Source Listing Display or Breakpoint .................... 3�15Source Listing PF Keys ................................................................... 3�17

Searching for Data ........................................................................... 3�18Finding a Definition or Searching Using the Search = Field.............................. 3�18Searching the Program Online Listing.................................................. 3�19Locating an Area within the Program Online Source Listing.............................. 3�19

Viewing the Online Listing ............................................................... 3�20Position Listing at Top................................................................ 3�21Position Listing at Bottom............................................................. 3�21Shift Listing to the RIght .............................................................. 3�21Shift Listing to the Left ............................................................... 3�21Shift Listing Down ................................................................... 3�21Shift Listing Up ...................................................................... 3�22Shift Listing to a Margin Position ...................................................... 3�22Position Listing to a Line Number ..................................................... 3�22Position Listing to a Label............................................................. 3�22

Jump to the Indirect Commands Build Screen .............................................. 3�23Jump to the Breakpoint Options Build Screen............................................... 3�23

Scrolling Forward and Backward ............................................................. 3�23Changing the Program ....................................................................... 3�23Positioning the Display ...................................................................... 3�24

Page 5: CA-Intertest for CICS User Guide

Contents v

Adjusting the Margins........................................................................3�25Customizing the Source Listing Profile .........................................................3�26

Displaying Titles, No Titles, or Registers....................................................3�26Setting the Scroll Amount .................................................................3�29Setting the Step Amount ..................................................................3�30Turning on Automatic Single-Stepping .....................................................3�31Setting the Breakpoint Display Mode.......................................................3�32Setting the From and BKPT Terminal IDs ...................................................3�32Setting the User ID .......................................................................3�34Setting the Keep Window to Display Variables in Current Statement ..........................3�35Setting Code Coverage....................................................................3�36

Testing Activities ............................................................................3�36Setting Monitoring .......................................................................3�36

Monitoring with User ID=.ANY .......................................................3�37Monitoring with a Specific User ID.....................................................3�37Viewing and Setting the User ID .......................................................3�37Setting Monitoring for a Displayed Program ............................................3�37

Monitoring Multiple Programs ............................................................3�38Displaying and Searching Through Nested Programs........................................3�38

Maintaining Synchronized Processing..........................................................3�39COBOL and PL/I Symbolic Version Processing .............................................3�40Assembler Symbolic Version Processing....................................................3�41Using the Symbolic Version List ...........................................................3�41

Setting Breakpoints ..........................................................................3�44Removing Breakpoints .......................................................................3�44Running Your Program.......................................................................3�45Breakpoint Activities .........................................................................3�45Exiting the Source Listing Facility .............................................................3�45

Chapter 4: Using BreakpointsSetting Breakpoints ........................................................................... 4�1Unconditional Breakpoints..................................................................... 4�3

Setting Unconditional Breakpoints from the Source Listing .................................... 4�3Setting Unconditional Breakpoints from the Menus........................................... 4�6

Specifying Breakpoint Locations ........................................................ 4�7Specifying Breakpoint Options.......................................................... 4�8

Conditional Breakpoints ......................................................................4�10Setting Conditional Breakpoints from the Source Listing Facility..............................4�10Setting Conditional Breakpoints from the Menus ............................................4�12

Variable-Change Breakpoints ..........................................................4�14

Page 6: CA-Intertest for CICS User Guide

vi CA-InterTest for CICS User Guide

Literal Formats ...................................................................... 4�14Figurative Constants ................................................................. 4�15

Using the Detailed Conditional Breakpoint Screen .......................................... 4�16Length of the Comparison ............................................................ 4�17Literal Formats ...................................................................... 4�17CORE Keywords..................................................................... 4�18

Variable-Change Breakpoints ................................................................. 4�19Request Breakpoints ......................................................................... 4�20

Setting Request Breakpoints from Source Listing............................................ 4�20Setting Request Breakpoints from the Menus ............................................... 4�20

Removing Breakpoints ....................................................................... 4�23Removing Breakpoints Flagged on Your Source Listing...................................... 4�24Removing Unconditional Breakpoints from the Menus ...................................... 4�25Removing Conditional Breakpoints from the Menus ........................................ 4�26Removing Request Breakpoints ........................................................... 4�27

Chapter 5: Breakpoint ActivitiesExamining the Source Listing Breakpoint Screen................................................. 5�2

Source Listing Breakpoint Commands ...................................................... 5�3Source Listing Breakpoint PF Keys ......................................................... 5�6

Responding to Automatic Breakpoints.......................................................... 5�7Bypassing the Monitoring of a Statement that Triggered an Automatic Breakpoint .............. 5�8

Working with Data at a Breakpoint............................................................. 5�9Searching for Data ....................................................................... 5�10

Finding a Definition or Searching Using the Search = Field.............................. 5�10Viewing the Online Listing ............................................................... 5�11

Position Listing to a Hex-Offset........................................................ 5�11Position Listing to Current Breakpoint Processing....................................... 5�11

Using the Keep Window ................................................................. 5�12Adding a Storage Item................................................................ 5�12Changing an AutoKeep Item into a Permanent Keep Item................................ 5�13Scrolling Forward and Backward ...................................................... 5�13Removing Items ..................................................................... 5�13Viewing and Changing Main Storage Display From The Keep Window ................... 5�14

Displaying or Modifying Main Storage (CORE)............................................. 5�14Displaying the Value of a Data Item ....................................................... 5�15Modifying a Data Item by Overtyping the Main Storage Display ............................. 5�17Modifying the Value of a Data Item with a MOVE Command ................................ 5�17

Display or Modify Auxiliary Storage (FILE) .................................................... 5�19Using FILE at a Breakpoint ............................................................... 5�20

Page 7: CA-Intertest for CICS User Guide

Contents vii

FILE Changes Do Not Affect Main Storage at a Breakpoint ...................................5�20Using the Breakpoint Primary Option Menu....................................................5�21Using the Backtrace Facility ...................................................................5�21

Accessing the Backtrace Facility ...........................................................5�22Reading the Backtrace Summary...........................................................5�25

Backtrace Summary Screen PF Key Assignments ........................................5�26Ending a Backtrace Session ............................................................5�26

Accessing the Source Listing Backtrace .....................................................5�27Reading the Source Listing Backtrace ...................................................5�27Source Listing Backtrace PF Keys ......................................................5�28Navigating through Program Execution ................................................5�29

Additional Breakpoint Displays ...............................................................5�31Using the Detailed Breakpoint Screen ..........................................................5�32

Reading the Backtrace on the Detailed Breakpoint Screen ....................................5�34Continuing Execution ....................................................................5�35

Continue Processing During Breakpoint Processing......................................5�37Continue Processing During Breakpoint Processing Until Specified Verbs are Executed .....5�37Continue Processing During Breakpoint Processing Ignoring Preset Breakpoints ...........5�38Continue Processing During Breakpoint One Verb at a Time..............................5�38

Viewing More Code on the Detailed Breakpoint Display .....................................5�38Restoring the Detailed Breakpoint Display..................................................5�38Switching Between Breakpoint Screens .....................................................5�39

Using Indirect Commands ....................................................................5�39How Can You Use Indirect Commands?....................................................5�40Overview of Steps........................................................................5�40Setting a Breakpoint to Execute an Indirect Command .......................................5�41Indirect Command Examples..............................................................5�44Viewing Indirect Commands on the Status Report...........................................5�46

Editing Indirect Command Definitions .........................................................5�47Indirect Command Syntax ....................................................................5�48

Controlling the Flow of Execution .........................................................5�48Command Syntax ........................................................................5�49

Equate Command ....................................................................5�49Exit Command .......................................................................5�49Goto Command ......................................................................5�49IF, THEN Statement ..................................................................5�50Break and Pause Commands ..........................................................5�50Move Command .....................................................................5�50Perform Command ...................................................................5�51

Formatting Indirect Commands ...........................................................5�52Using Data Names and Variables ......................................................5�53

Page 8: CA-Intertest for CICS User Guide

viii CA-InterTest for CICS User Guide

Using Literals in Indirect Commands .................................................. 5�54Using Figurative Constants in Indirect Commands ...................................... 5�55Using Conditional Expressions in Indirect Commands................................... 5�55COBOL Variable Syntax .............................................................. 5�56PL/I Variable Syntax ................................................................. 5�57

Chapter 6: Resume and Execution OptionsControlling and Resuming Execution from a Breakpoint ......................................... 6�1

Continuing Execution ..................................................................... 6�2Single-stepping Through Execution......................................................... 6�2Jumping to Another Location .............................................................. 6�3Resuming Program Execution Ignoring all Breakpoints....................................... 6�4

Using the Resume Menu ...................................................................... 6�4Resume at the Next Instruction............................................................. 6�4Resume Task from a Label................................................................. 6�5Resume Task from a Statement............................................................. 6�5Resume Task from an Offset ............................................................... 6�5Resume Task from an Indirect Command Sequence .......................................... 6�6Resume Until Next EXEC/CALL........................................................... 6�6Resume Task for nnn Steps ................................................................ 6�7Resume Task for nnn Machine Instructions.................................................. 6�7

Abending the Task ........................................................................... 6�8Reviewing Program Status after Execution ...................................................... 6�8

Your Program Source Code ................................................................ 6�9CA-InterTest for CICS Monitoring and Monitoring Options................................... 6�9Files and Databases ...................................................................... 6�10

Continuing to Test........................................................................... 6�10Correcting Your Source Code ............................................................. 6�10Resetting Breakpoints after Recompiling or Reassembling ................................... 6�11

Chapter 7: Monitoring Menu OptionsMonitoring Menu Functions (ITST 2) ........................................................... 7�2

Access ................................................................................... 7�3PF Keys.................................................................................. 7�3

Understanding the User ID Monitoring Option.................................................. 7�4What Is Your User ID Default? ............................................................. 7�5Overriding the User ID Default ............................................................ 7�6Establishing a Personal Debugging Session.................................................. 7�7

Page 9: CA-Intertest for CICS User Guide

Contents ix

Overriding the To and From Terminal Defaults for Breakpoints................................ 7�7Using the Monitoring Submenus ............................................................... 7�7

Using Monitoring Options for Programs, Transactions and Terminals .......................... 7�8Initiating Monitoring ...................................................................... 7�8Using the Program Monitoring Submenu ...................................................7�10Generic Specification of Programs, Transactions, or Terminals ................................7�11Hierarchy Rules for Monitored Entries .....................................................7�12

Setting and Removing Monitoring .............................................................7�12Setting Monitoring .......................................................................7�13Removing Monitoring ....................................................................7�13

Using the New Copy Option ..................................................................7�14Setting and Removing Replacement Options....................................................7�15Setting and Removing Protection Options ......................................................7�17Setting and Removing Special Options .........................................................7�20Setting and Removing Composite Support .....................................................7�22

Setting Composite Support Using the Batch Method .........................................7�23Changing the Composite Support Screen ...................................................7�25Setting Composite Support Using the Online Method........................................7�26Setting Monitoring for a Program with Subprograms ........................................7�27Assembler Programs with Multiple CSECTs ................................................7�28Removing Composite Support.............................................................7�28

Disconnecting, Reconnecting, and Purging Active Tasks .........................................7�29Viewing and Setting System-Wide Options .....................................................7�30

Chapter 8: Special Monitoring SituationsMonitoring Programs with LE/370 Condition Handlers .......................................... 8�2Monitoring Dynamically Called COBOL II and COBOL/370 Programs............................. 8�2Monitoring in a Production Environment........................................................ 8�3

Controlling Automatic Breakpoint Displays.................................................. 8�3Controlling the Number of Times a Program Is Monitored .................................... 8�4Monitoring a Program for a Single User ID .................................................. 8�4Monitoring a Program at a Single Terminal .................................................. 8�5Monitoring the Entire Production System.................................................... 8�5

Monitoring Tasks That Execute Without Terminals............................................... 8�6Unconditional, Conditional, and Request Breakpoints ........................................ 8�6Automatic Breakpoints .................................................................... 8�6Setting Monitoring for Non-Terminal Execution.............................................. 8�7

Monitoring Tasks That Execute at Non-3270 Terminals ........................................... 8�7Setting Monitoring for Non-Terminal Execution.............................................. 8�7Automatic Breakpoints .................................................................... 8�7

Page 10: CA-Intertest for CICS User Guide

x CA-InterTest for CICS User Guide

Unconditional, Conditional, and Request Breakpoints ........................................ 8�7Using Segmented Monitoring to Handle Special Situations ....................................... 8�8

Purpose of Segmented Monitoring ......................................................... 8�8Segmented Monitoring Situations .......................................................... 8�9

HOGAN Systems Users ............................................................... 8�9MSA Programs with Special Interfaces ................................................. 8�10

The Segmented Monitoring Options Monitor (MON) and No Monitor (NOM) ................. 8�10Installation Requirements and Password Protection ......................................... 8�11Methods of Setting and Removing MON and NOM ......................................... 8�11

Using Your Source Listing ............................................................ 8�12Using the CNTL Menus .............................................................. 8�13Using CNTL Commands.............................................................. 8�16

Notes and Warnings ..................................................................... 8�18Using Programmed Breakpoints .............................................................. 8�19

Coding Programmed Breakpoints ......................................................... 8�20Declaring a Programmed Breakpoint in a PL/I Program..................................... 8�21Declaring a Programmed Breakpoint in a COBOL Program .................................. 8�21Declaring a Programmed Breakpoint in an Assembler Program .............................. 8�21Removing a Programmed Breakpoint...................................................... 8�22

Monitoring CICS/ESA 3.3 FEPI Applications................................................... 8�22Setting Monitoring and Breakpoints for a Front-End Process ................................. 8�22Setting Monitoring and Breakpoints for a Back-End Process.................................. 8�22Setting Breakpoints for Both Front-End and Back-End Processes.............................. 8�23TIMEOUT Values........................................................................ 8�23

Using CA-InterTest for CICS with IBM's EDF (EXEC Debugging Facility) ......................... 8�24Advantages of CA-InterTest for CICS Over EDF ............................................ 8�24Using CA-InterTest for CICS with EDF .................................................... 8�24

Chapter 9: CNTL Commands and MenusCNTL Monitoring Commands and Options ..................................................... 9�1

CNTL Commands at a Glance.............................................................. 9�2CNTL Command Syntax............................................................... 9�4Generic Specification of promid ........................................................ 9�5

Hierarchy Rules for Monitored Entries...................................................... 9�6Initializing and Terminating CA-InterTest for CICS .......................................... 9�7Restarting CA-InterTest for CICS........................................................... 9�7Setting and Removing Monitoring.......................................................... 9�7Setting and Removing Monitoring Options.................................................. 9�8Setting and Removing ALL Monitoring Options Set by a Userid or Terminal ................... 9�9Excluding Programs from Monitoring ...................................................... 9�9

Page 11: CA-Intertest for CICS User Guide

Contents xi

Resuming Task Execution .................................................................. 9�9Abending a Task Stopped at a Breakpoint ..................................................9�11Producing CA-InterTest for CICS Reports ..................................................9�12Loading a New Copy of a Program ........................................................9�13Setting System-wide Options ..............................................................9�13Executing a Module of CNTL Commands ..................................................9�15

CNTL Monitoring Options....................................................................9�15CNTL Monitoring Option Syntax ..........................................................9�17Multiple Specifications of the Same Option .................................................9�17ABI: Intercepting All CICS Abends ........................................................9�18ABP: Local Automatic Breakpoint Option ..................................................9�18BYP: Bypassing Storage Protection ........................................................9�19CBP: Specifying Conditional Breakpoints ..................................................9�20CMD: Setting Indirect Command Statements ...............................................9�20CSA: Unprotecting an Area in the CSA ....................................................9�20CWA: Unprotecting an Area in the CWA ..................................................9�21FEP: Setting the FEP Option ..............................................................9�21FOL: Continuing Monitoring after a Branch to Another Program .............................9�21ICT: Instruction Counter for Preventing AICA Abends ......................................9�22KEP: Keeping Data Areas in a Keep Window ...............................................9�22LET: Allowing a Program to Modify Storage Or a Load Module..............................9�23LNK: Setting Composite Support..........................................................9�23MON: Setting Monitor ON Locations for Segmented Monitoring .............................9�24MUS: Limiting the Number of Times a Program Is Monitored................................9�24MXR: Limiting the Number of CICS Requests ..............................................9�24MXS: Limiting Storage Usage .............................................................9�25NOM: Setting NO Monitor Locations for Segmented Monitoring .............................9�25NRB: Preventing a Read Buffer Before a Breakpoint Display .................................9�25NUP: Preventing a Program from Updating CICS Files ......................................9�26OVR: Overriding Error Conditions That Trigger an ABP.....................................9�26PRO: Protecting Storage from Being Modified ..............................................9�26RBP: Specifying Request Breakpoints ......................................................9�27RFC: Replacing File Names ...............................................................9�28RNT: Preventing a Program from Modifying Its Own Code ..................................9�28RPC: Replacing Program Names ..........................................................9�28RTD: Replacing Transient Data Queue Names ..............................................9�29RTS: Replacing Temporary Storage Identifications ..........................................9�29SLB: Activating the Source Listing Breakpoint Facility.......................................9�29STR: Saving the CICS Trace Table .........................................................9�30TAL: Counting How Often an Instruction Is Executed .......................................9�30TER: Changing the Terminal ID ...........................................................9�30

Page 12: CA-Intertest for CICS User Guide

xii CA-InterTest for CICS User Guide

TON: Limit Monitoring to One Terminal .................................................. 9–31UBP: Specifying Unconditional Breakpoints ............................................... 9–31USH: Unprotecting Shared Storage ....................................................... 9–32USR: Limit Monitoring to a CICS User ID ................................................. 9–32

CNTL Capabilities........................................................................... 9–33Monitoring Options...................................................................... 9–33Status Display, Utility, and System Options................................................ 9–33Resuming Task Execution ................................................................ 9–34

Initiating Monitoring ........................................................................ 9–34Monitoring Command Building Menus and Screens ........................................ 9–35Accessing the Monitoring Command Builder Main Menu ................................... 9–36The Function Selection Menu ............................................................. 9–36

Generic Specification of Programs, Transactions, or Terminals ........................... 9–38Hierarchy Rules for Monitored Entries................................................. 9–39PF Keys ............................................................................. 9–40

Setting and Removing Monitoring ........................................................ 9–40Setting Monitoring ................................................................... 9–41Setting the User ID for Monitoring .................................................... 9–41Removing Monitoring................................................................ 9–41

Setting and Removing Unconditional Breakpoints .......................................... 9–42Setting Unconditional Breakpoints .................................................... 9–42Removing Unconditional Breakpoints ................................................. 9–45

Setting and Removing Conditional Breakpoints ............................................ 9–45Setting Conditional Breakpoints....................................................... 9–46Literal Formats ...................................................................... 9–48Figurative Constants ................................................................. 9–48Removing Conditional Breakpoints.................................................... 9–49Using the Detailed Conditional Breakpoint Screen ...................................... 9–50

Setting and Removing Request Breakpoints ................................................ 9–53Setting and Removing Replacement Options ............................................... 9–55Setting and Removing Protection Options ................................................. 9–57Setting and Removing Special Options .................................................... 9–59Setting and Removing Composite Support ................................................. 9–61Using Indirect Commands................................................................ 9–62Status Display........................................................................... 9–63Utility Functions......................................................................... 9–64Setting System-Wide Options ............................................................. 9–65Resuming Task Execution ................................................................ 9–67

Page 13: CA-Intertest for CICS User Guide

Contents xiii

Chapter 10: Accessing Main Storage: COREUsing the Main Storage Facilities (CORE) ......................................................10–1Main Storage Capabilities.....................................................................10–2The Structured Format .......................................................................10–3

The COBOL and PL/I Structured Display ..................................................10–3The Assembler and CICS Areas Structured Display .........................................10–5Using Another Program's Data Definitions (USE Option) ....................................10–7

Structured Displays of DSECTs in PRINT OFF Areas ....................................10–8Structured Displays of Common CICS Areas ...........................................10–9

PF Keys with the Structured Displays.....................................................10–10The Dump Format ..........................................................................10–11Accessing Storage from the Menus ...........................................................10–14Breakpoint-Related Areas Menu .............................................................10–17

Displaying Storage ......................................................................10–18Displaying Qualified, Indexed, or Subscripted COBOL Data Names .........................10–19Dynamically Modifying Storage ..........................................................10–20Other Ways of Changing Storage .........................................................10–22Searching for Data ......................................................................10–24

Assembler Version of the Breakpoint Areas Menu .............................................10–25PL/I Version of the Breakpoint Areas Menu...................................................10–26System-Related Areas Menu .................................................................10–27Changing and Searching for Data ............................................................10–29Task-Related Areas Menu ...................................................................10–30CORE Commands and Advanced Options ....................................................10–30Displaying Main Storage ....................................................................10–31

Elements of a CORE Command ..........................................................10–33Storage Pointer .........................................................................10–34CORE Screen Scrolling Commands .......................................................10–35Indirect Addressing .....................................................................10–35Viewing Storage for a COBOL or PL/I Program at a Breakpoint.............................10–36Displaying Qualified, Variable Length, Indexed, or Subscripted COBOL Data Names.............10–37Viewing Storage for an Assembler Program at a Breakpoint ................................10–38Using a Different Module for Assembler Structures ........................................10–39CORE Commands For PL/I Symbolic Programs ...........................................10–39Displaying Program Code for a Program Not at a Breakpoint ...............................10–41

Breakpoint Commands ......................................................................10–42Displaying Storage Related to a Task at a Breakpoint.......................................10–42Restoring the Screen at a Breakpoint ......................................................10–44Dynamically Acquire Main Storage at a Breakpoint ........................................10–44COBOL-like MOVE Command at a Breakpoint ............................................10–45

Displaying Task-Owned Areas...............................................................10–47

Page 14: CA-Intertest for CICS User Guide

xiv CA-InterTest for CICS User Guide

Task-Related Areas Available in CICS 4.1 Only............................................ 10–47Setting the Task Number in a CORE Command ........................................... 10–48Displaying Any CICS Control Area Structure in the Symbolic File .......................... 10–48

Displaying System-Related Areas ............................................................ 10–49Changing the Contents of Main Storage ...................................................... 10–50

The CHANGE Command (CHG) ........................................................ 10–50Bit Manipulation ....................................................................... 10–51Verifying Storage Before a Change ....................................................... 10–52Moving Data with the MOVEIN Command............................................... 10–52Scrolling an Address with the SET Command ............................................. 10–52

Scanning Main Storage...................................................................... 10–53Loading and Deleting Programs or Displaying BMS Maps ..................................... 10–54Dumping Main Storage ..................................................................... 10–54Chaining CORE Commands................................................................. 10–55The CALC Option .......................................................................... 10–56Converting PL/I Statement Numbers into Displacements ...................................... 10–56

Chapter 11: Accessing Auxiliary Storage: FILEFILE Capabilities ............................................................................ 11–1FILE Work Area............................................................................. 11–3Using the FILE Transaction and Menus........................................................ 11–4

Accessing File Facilities .................................................................. 11–4Using the File Selection List .............................................................. 11–5Initial File Display ....................................................................... 11–6Specifying a File or Database ............................................................. 11–7Dump Format ........................................................................... 11–8Character Format........................................................................ 11–9Vertical Format......................................................................... 11–10Structured Format ...................................................................... 11–11Sample Records in Structured Format .................................................... 11–11Using Structured Format When a Program Is at a Breakpoint............................... 11–13Using a Global Program Name........................................................... 11–13Finding a Data Name ................................................................... 11–13Universal Mode of Data Entry in the RCID, DATA, and SSA Fields ......................... 11–14Accessing Files and Databases Protected by CA-InterTest for CICS Passwords............... 11–14Logging a FILE Session................................................................... 11–14Ending a FILE Session .................................................................. 11–15Using PF Keys.......................................................................... 11–15Scrolling through a Record .............................................................. 11–16Using the LOC Field to Position the Display .............................................. 11–16

Page 15: CA-Intertest for CICS User Guide

Contents xv

Using the Help Facility ..................................................................11–17Changing Data in the Work Area .........................................................11–17

Using the CHGE Function............................................................11–17Filling Part of the Work Area with a Character String...................................11–18Copying Data from a Main Storage Location...........................................11–18Copying Data from a Saved Work Area ...............................................11–19

Saving Records and Displaying Work Areas...............................................11–19Dumping the Work Area ................................................................11–20Recording a Copy of the Screen Display...................................................11–20

Common FILE Functions ....................................................................11–20Working with VSAM Files ...................................................................11–21

Identifying the Record...................................................................11–21FILE Screen Layout for VSAM Files.......................................................11–22FILE Functions for VSAM Records .......................................................11–23

Viewing a VSAM Record.............................................................11–24Browsing a VSAM File...............................................................11–25Searching for a Data String ...........................................................11–26Updating a VSAM Record ...........................................................11–27Adding a VSAM Record .............................................................11–27Mass Insertion into a VSAM File......................................................11–28Copying a VSAM Record from One File to Another ....................................11–29Deleting VSAM Records .............................................................11–30

Working with DL/I Databases ...............................................................11–31FILE Screen Layout for DL/I Databases...................................................11–32FILE Functions for DL/I Databases .......................................................11–34

SSA Formats ........................................................................11–34Viewing a DL/I Segment.............................................................11–36Updating a DL/I Segment ...........................................................11–36Adding a DL/I Segment .............................................................11–37Copying a DL/I Segment ............................................................11–38Deleting DL/I Segments .............................................................11–39

Working with DB2 and SQL/DS Databases ...................................................11–39Accessing the DB2 Facility ...............................................................11–40Entering SQL Commands................................................................11–40Scrolling Through the DB2 and SQL/DS Table Display.....................................11–41

Displaying Additional Columns ......................................................11–42Viewing a Structured Display ........................................................11–43

PF Keys ................................................................................11–44FILE Functions for DB2 and SQL/DS Databases ...........................................11–44

Selecting Columns of Data ...........................................................11–45Updating a Column .................................................................11–45

Page 16: CA-Intertest for CICS User Guide

xvi CA-InterTest for CICS User Guide

Deleting a Row ..................................................................... 11–45Inserting a Row..................................................................... 11–46Confirming Changes ................................................................ 11–46

Redisplaying SQL Commands ........................................................... 11–47Viewing the CICS Resource Control Table (OS/390 Users Only) ................................ 11–47Working with BDAM Files .................................................................. 11–51

FILE Screen Layout for BDAM Files...................................................... 11–51FILE Functions for BDAM Records....................................................... 11–53

Viewing a BDAM Record............................................................ 11–53Browsing a BDAM File .............................................................. 11–54Searching for a Data String .......................................................... 11–55Updating a BDAM Record........................................................... 11–56Adding a New BDAM Record ....................................................... 11–57

Working with Temporary Storage ........................................................... 11–58FILE Screen Layout for Temporary Storage ............................................... 11–58FILE Functions for Temporary Storage ................................................... 11–59

Viewing a Temporary Storage Queue Record.......................................... 11–60Adding a New Temporary Storage Queue Record ..................................... 11–60Purging a Temporary Storage Queue ................................................. 11–62Searching a Temporary Storage Queue for a Data String................................ 11–62

Working with Transient Data................................................................ 11–63FILE Screen Layout for Transient Data ................................................... 11–63FILE Functions for Transient Data Records ............................................... 11–64

Retrieving a Transient Data Record................................................... 11–65Adding a New Transient Data Record ................................................ 11–65Purging Intrapartition Data .......................................................... 11–67

Chapter 12: Using CA-InterTest with DB2 and SQL/DS ProgramsPreliminary Steps ........................................................................... 12–1

Checking for DB2 or SQL/DS Support .................................................... 12–2Compiling or Assembling Programs with Symbolic Support................................. 12–2Checking That the Attach Facility or Resource Adapter Is Active ............................ 12–2

Halting Programs Before and After Each SQL Request.......................................... 12–4Halting a Program Before Each SQL Request............................................... 12–4Halting a Program After an SQL Request .................................................. 12–5

Inspecting Host Variables .................................................................... 12–5Handling SQL Return Codes ................................................................. 12–7

How to Handle SQL Error Codes ......................................................... 12–7Displaying the SQLCODE ............................................................ 12–8Displaying All the Fields in the SQLCA ................................................ 12–9

Page 17: CA-Intertest for CICS User Guide

Contents xvii

Advanced Debugging Techniques ............................................................12–10DSNC Abends (OS/390 Only) ...............................................................12–12

Inspecting the CICS Life of Task Control Block (CLOT).....................................12–13Inspecting and Interpreting Reason and Abend Codes......................................12–13Inspecting the Application Invocation Parameter List (RDIIN) ..............................12–14

Viewing the Resource Control Table (OS/390 Only)............................................12–14

Appendix A: The Symbolic FileBatch Preparations for Symbolic and LIST Support ............................................. A–1COBOL, COBOL II, and CA-Optimizer Compiler and Post-Processor Options.................... A–2

Specifying IBM COBOL Compiler Options ................................................. A–3Specifying CA-Optimizer and CA-Optimizer/II Options .................................... A–3Specifying IBM VSE COBOL Compiler Options............................................. A–4COBOL Post-Processor Parameters ........................................................ A–5

Assembler Options and Post-Processor Parameters ............................................. A–6Specifying Assembler Options............................................................. A–6The Assembler Post-Processor Parameters ................................................. A–6

PL/I Compiler Options and Post-Processor Parameters ......................................... A–7Specifying the PL/I Compiler Options ..................................................... A–7The PL/I Post-Processor Parameters ....................................................... A–8

VSE/POWER Option (POWER) ............................................................... A–9The Symbolic File Batch Utility Program IN25UTIL ............................................ A–10Batch Preparations for Composite Support .................................................... A–12Specifying Parameters for IN25LINK ......................................................... A–13

Identifying the Composite Module ....................................................... A–13Identifying the Main Program and Subprograms........................................... A–13Excluding Subprograms ................................................................. A–14

Setting Composite Support .................................................................. A–17

Appendix B: Printing the Help FileThe Help File Printout.........................................................................B–1

Appendix C: Breakpoint Displays for Non-Symbolic ProgramsUnconditional Breakpoint .................................................................... C–1Automatic Breakpoint........................................................................ C–3

Default CNTL Command ................................................................. C–4Location Information ..................................................................... C–4

Page 18: CA-Intertest for CICS User Guide

xviii CA-InterTest for CICS User Guide

Reason for the Breakpoint ................................................................. C–5Monitoring Table Entry ................................................................... C–6Program, Transaction, and CICS Facility.................................................... C–7Task Identification Number and Address ................................................... C–7BLL Cells (COBOL) or General Registers (Non-COBOL) ..................................... C–8Condition Code .......................................................................... C–8Next and Previous Instructions ............................................................ C–9Data Display Area ........................................................................ C–9Backtrace Display .......................................................................C–10

Appendix D: Examining DumpsCA-InterTest for CICS CICS Abend Codes......................................................D–2CA-InterTest for CICS Diagnostic Area.........................................................D–3ABP and INTE Abend Error Codes ............................................................D–6Execution Extents Table (Backtrace)............................................................D–8CA-InterTest for CICS Entries in the CICS Trace Table...........................................D–9

Special Entries............................................................................D–9Internal-Processing Entries ...............................................................D–11

Appendix E: Using the FOL= OptionFinding the Program Table Entry .............................................................. E–1Finding the Monitoring Table Entry............................................................ E–2

Appendix F: Monitoring RestrictionsProgram Control Restrictions.................................................................. F–1

Execution Restrictions .................................................................... F–2Special Circumstances .................................................................... F–3

Glossary

Index

Page 19: CA-Intertest for CICS User Guide

Introduction 1�1

Chapter

1 Introduction

What Is CA-InterTest for CICS?

CA-InterTest for CICS is an interactive testing and debugging product for CICSapplications written in COBOL, PL/I, and Assembler. Specific compiler supportincludes:

� Assembler

� COBOL

� COBOL II

� COBOL/370

� COBOL II or COBOL/370 with CA-Optimizer/II

� IBM COBOL for MVS Release 2

� PL/I

� PLI/370

� PLI for MVS

CA-InterTest for CICS is an essential tool for both application and systemprogrammers:

� It makes CICS testing faster, easier, and more effective.

� It prevents CICS crashes by automatically detecting and preventingapplication errors before they damage CICS.

� It provides powerful capabilities for examining and modifying main andauxiliary storage.

Since CA-InterTest for CICS is so easy to use, even novice CICS programmersquickly learn to take advantage of its capabilities.

Page 20: CA-Intertest for CICS User Guide

Fast, Easy Testing

1�2 CA-InterTest for CICS User Guide

Fast, Easy Testing

The primary function of CA-InterTest for CICS is to help applicationprogrammers test and debug their programs quickly and efficiently.CA-InterTest for CICS has many features that simplify testing, including:

� Interactive testing ability through the CA-InterTest for CICS monitor

� Error detection and prevention

� Diagnostic information display screens

� Program interruption through setting breakpoints

� Isolated test sessions through monitoring by CICS User ID

Interactive Testing: The CA-InterTest for CICS Monitor

CA-InterTest for CICS lets you test interactively. When CA-InterTest for CICSdetects an error, you can correct it dynamically (or go around it) and resumetesting, allowing you to correct many errors in one test session.

With CA-InterTest for CICS, you no longer need dumps. All the information youneed to diagnose and correct errors is available online. And, you can continuetesting without recompiling your program or waiting for new printouts.

CA-InterTest for CICS acts as an intermediary between your CICS program andthe CICS system. Here is how CA-InterTest for CICS operates:

� You instruct CA-InterTest for CICS to monitor a program, and then run theprogram.

� CA-InterTest for CICS inspects every instruction and CICS command beforeit executes to make sure neither the program nor CICS itself will fail.

� If an error is detected, CA-InterTest for CICS automatically interrupts theprogram. This temporary interruption in program execution is called abreakpoint.

� CA-InterTest for CICS then displays a diagnostic screen that explains thenature of the problem and provides detailed technical information forcorrecting it.

Page 21: CA-Intertest for CICS User Guide

Fast, Easy Testing

Introduction 1�3

The operation of the CA-InterTest for CICS monitor is illustrated below.

Diagnostic Display

Application Program

CA-InterTestMonitor CICS

Error Detected

Instructions InstructionsValid

Error Detection and Prevention

CA-InterTest for CICS detects and prevents errors before they occur. That meansyour programs will not abend. Moreover, CA-InterTest for CICS will not permitstorage violations that could corrupt the data of other programs or cause CICS tofail.

CA-InterTest for CICS inspects every COBOL or PL/I statement or Assemblerinstruction and every CICS Command or Macro. CA-InterTest for CICS candetect and prevent the following errors:

� All storage violations (attempts to modify storage not owned by yourprogram)

� Any CICS abend that can occur in a command level program

� All improper or invalid CICS requests (Command or Macro level)

� Any statement that would cause a program check or other abend

Page 22: CA-Intertest for CICS User Guide

Fast, Easy Testing

1�4 CA-InterTest for CICS User Guide

� All illegal or invalid instructions (for example, STOP RUN)

� All wild branches

� All violations of CICS standards

Diagnostic Information

CA-InterTest for CICS provides the information you need to diagnose andcorrect errors. When CA-InterTest for CICS detects an error, it halts the programbefore the error occurs. This temporary halt in program execution is called anautomatic breakpoint. CA-InterTest for CICS then displays a screen of diagnosticinformation indicating the statement or instruction that triggered the breakpoint,and CA-InterTest for CICS explains why the error occurred. When an error isdetected, let us see what it looks like.

The breakpoint display explains why CA-InterTest for CICS halted the program.In the case illustrated below, CA-InterTest for CICS prevented an ASRA abendcaused by an invalid data format. The program instruction that triggered thebreakpoint is highlighted. Now you can use all of the CA-InterTest for CICSfacilities to find and correct the error without analyzing a dump.

CA-InterTest for CICS 6.0 - PROTDMO FILE SOURCE LISTING BREAKPOINTCOMMAND ===>Program= COB2DEMO Option # Stmt # Margin= 01

Search=-------------------------------------------------------------------------------_ TASKNUM | 000000 | ...---------+--------------------------------------------------------| COUNTER |--_ 00932 CONTINUE-TASK. | 0000000 |00933**** TASKNUM *NOTE* FIELD MUST BE INITIALIZED | |

A ==> ADD +1 TO TASKNUM. | 0000000 |==>==> ASRA ABEND (0C7) detected and prevented. Caused by invalid decimal==> arithmetic data format.==>==> Press PF1 for a detailed description.==>

_ 00935 IF TASKNUM = 1 | 0000000 |_ 00936 MOVE 'DMAPASR' TO MAPNAME. | 0000000 |_ 00937 IF TASKNUM = 2 | 0000000 |_ 00938 MOVE 'DMAPSUM' TO MAPNAME. | 0000000 |_ 00939 IF TASKNUM GREATER 2 | 0000000 |_ 00940 GO TO SEND-END-MSG. | 0000000 |_ 00941 GO TO REWRITE-TSQ. | 0000000 |_ 00942 REWRITE-TSQ. | 0000000 |

Page 23: CA-Intertest for CICS User Guide

Fast, Easy Testing

Introduction 1�5

Interrupting Programs by Setting Breakpoints

To help you test and debug CICS programs effectively, you can also interruptprogram execution at any point by setting breakpoints. You can set four types ofbreakpoints:

Unconditional�The program stops when it reaches a specified location.

Conditional�The program stops when it reaches a specified location and aprescribed condition is met (for example, a variable exceeds a certain limit).

Variable-change�The program stops at any location if the value of a specifiedvariable has changed (COBOL and Assembler only).

Request�The program stops when it reaches specified CICS Macros andCommands, calls to DL/I or DB2, and calls to subroutines, such as databasesoftware.

You also can instruct CA-InterTest for CICS to halt your program each time itexecutes a specified number of COBOL verbs, PL/I statements, or Assemblerinstructions.

Controlling the pace at which a program executes makes it easier to pinpoint andcorrect logic errors. For example, when a program is halted, you can inspect thevalues of program variables and test data to determine whether processing isproceeding as planned. You can also dynamically change the value of a dataitem or generate additional test records before resuming execution.

When a program is stopped at a breakpoint, you can resume execution at anytime and from any point. This means you can go around errors or dynamicallyalter the order in which certain routines are executed. When your program ishalted at a breakpoint, you can:

� View your program listing and compiler output online and search for a datastring

� Display data items in a keep window to observe changes in their values

� Display and modify main storage

� Display and modify auxiliary storage

� Set and remove breakpoints

� Instruct CA-InterTest to halt the program after it executes a specified numberof COBOL verbs, PL/I statements, or Assembler instructions

� Write and execute indirect commands, which are statements you insertduring a test session, without recompiling the source code

� Display the path (backtrace) that brought the program to its current point

� Display the execution counts of the lines that brought the program to itscurrent point

Page 24: CA-Intertest for CICS User Guide

Stable CICS Test and Production Systems

1�6 CA-InterTest for CICS User Guide

� Resume program execution or abend the task

� Initiate any CICS transaction

Stable CICS Test and Production Systems

CA-InterTest for CICS protects CICS test and production systems because it willnot permit errors that could damage CICS.

In your test CICS system, you can instruct CA-InterTest for CICS to inspect everyprogram for errors. In addition to spotting program errors, CA-InterTest forCICS detects and prevents all CICS storage violations. With CA-InterTest forCICS, CICS test systems are less likely to crash, so programmers can work moreproductively. In addition, program errors are confined to a single program�other programs remain unaffected. Therefore, system throughput improvesbecause trial and error testing is eliminated, test programs need fewerrecompiles, and CICS is much more stable.

CA-InterTest for CICS also helps maintain stable CICS production systems.Using CA-InterTest for CICS in CICS test systems means programs are less likelyto have bugs when they go into production. CA-InterTest for CICS can alsomonitor new, modified, and problem programs in production until they arecompletely debugged. In an emergency, CA-InterTest for CICS can even monitorall the programs in the production system until you isolate the error. Specialoptions let you adapt CA-InterTest for CICS to specific production situations.

Examining and Modifying Main and Auxiliary Storage

CA-InterTest for CICS has powerful facilities for examining and modifying mainand auxiliary storage. You can take advantage of these facilities while you aretesting a program. For example, you can interrupt program execution at variouspoints to see how the values of program variables and test data have changed.And, you can dynamically modify storage as your testing progresses. Forexample, you can halt your program, change the value in a flag, initialize acounter, or change the data in a test record, and then resume execution�allwithout recompiling.

You can inspect and modify main and auxiliary storage at any time�even whenno program is executing and CA-InterTest for CICS is otherwise inactive.System programmers can use CA-InterTest for CICS to fine-tune CICS. They candisplay the contents of CICS control blocks and tables in main storage, makingchanges as necessary.

Page 25: CA-Intertest for CICS User Guide

Easy-to-Use Features

Introduction 1�7

CA-InterTest for CICS also makes it easy to maintain files online without writingone-time programs. You can use CA-InterTest for CICS to add, update, anddelete records in VSAM and BDAM files and DL/I, DB2 and SQL/DS databases.With CA-InterTest for CICS, it is easy to browse a file and search for a characterstring. CA-InterTest for CICS also lets you create and delete transient data andtemporary storage records.

Easy-to-Use Features

It is easy to use the powerful CA-InterTest for CICS facilities. CA-InterTest forCICS is designed so that even inexperienced CICS programmers can quicklybecome effective users.

Getting Started with CA-InterTest for CICS

The best way to learn about CA-InterTest for CICS is by using the Getting StartedGuides. COBOL, PL/I, and Assembler versions are available. The main purposeof these guides is to train new users in the basic CA-InterTest for CICS featuresused to test and debug programs. These guides also introduce some of advancedfeatures of CA-InterTest for CICS.

We recommend that all users perform the demo sessions in the Getting Startedguides because they provide an excellent hands-on introduction to CA-InterTestfor CICS.

Different Methods of Using CA-InterTest for CICS

Novice CICS programmers will learn to take advantage of the many features ofCA-InterTest for CICS because it is not necessary to learn command syntax.Standard ISPF-like menus and selection screens make it easy to access anycomponent in CA-InterTest for CICS at any time.

Page 26: CA-Intertest for CICS User Guide

Easy-to-Use Features

1�8 CA-InterTest for CICS User Guide

The ITST transaction displays the Primary Option Menu, shown next, fromwhich you can access any CA-InterTest for CICS function.

------------------- CA-InterTest 6.0 PRIMARY OPTION MENU --------------------OPTION ===>

1 Source - Display/select program source files/listings2 Monitoring - Display/modify CA-InterTest monitoring/activity3 Main storage - Display/modify CICS storage areas4 Auxiliary storage - Display/access databases/files/queues5 Dump analysis - Invoke CA-SymDump CICS dump/trace capture facility6 Product help - Invoke CA-InterTest product help facility7 Status/Maintenance - Product status and maintenance functions8 What's new? - Display information about CA-InterTest 6.0 releaseX Exit - Terminate menu processing

CA-InterTest Release 6.0Copyright 1985, 2000

Computer Associates International, Inc.All rights reserved

PF1 Help 2 3 End 4 Return 5 6PF7 8 9 10 11 12

Specially formatted displays and screens also allow you to bypass menuprocessing by using special commands or single keystrokes for the mostfrequently used testing functions. For example, you can instruct CA-InterTestfor CICS to set monitoring, breakpoints or display main storage simply bypressing a PF key or entering a single action character next to a line in yoursource listing display. A command line on the top of any Source Listing orBreakpoint display lets you access a main menu or a specific menu function byentering its fastpath syntax (=X.Y.Z).

More experienced users often find it faster to enter transaction-based commandsfor LIST, CNTL, CORE, and FILE facilities directly. For example, enteringLIST=COBDEMO directly from CICS immediately displays the Source ListingDisplay of the program COBDEMO, where you can quickly set breakpointsbefore you begin executing the program.

You can also mix and match different methods during a single test session tomeet your testing needs. For more information, see the chapter, �Menus andDisplays.�

Getting HELP

The CA-InterTest for CICS comprehensive Help facility is available from everyCA-InterTest for CICS screen. Online help explains how to use all of theCA-InterTest for CICS facilities, provides important information on diagnosingand correcting program errors, and includes examples. With help, all theinformation you need to become a productive CA-InterTest for CICS user is justa PF key away.

Note: You can also access the Help facility by entering Help on a blank screen.

Page 27: CA-Intertest for CICS User Guide

Easy-to-Use Features

Introduction 1�9

Once you are in the CA-InterTest for CICS Help facility, you can browse throughas many topics as you like. You also can print the Help screens; refer to the�Printing the Help File� appendix for instructions.

Help is especially useful in helping you correct program errors. WhenCA-InterTest for CICS halts your program at an automatic breakpoint, you canpress PF1 to get more information on the error that caused the breakpoint.

User-Defined Help for Abends

You can define your own abend codes and descriptions or replace the deliveredabend descriptions with your own text. If user-defined text is defined for anabend code, CA-InterTest for CICS displays your site�s help text instead of thedelivered help text at an automatic breakpoint. Defining help for your site isdiscussed in the CA-InterTest for CICS Getting Started.

Online Access to Source Listings and Compiler Output

With CA-InterTest for CICS, you never have to wait for printouts. CA-InterTestfor CICS provides online access to your source listings and compiler output, suchas maps, cross-reference tables, and messages�information your online editorcannot provide. Working directly from your source listing makes it easy to setbreakpoints and display main storage.

Symbolic Support

CA-InterTest for CICS lets you forget about displacements or address changesafter recompiling because CA-InterTest for CICS lets you reference all programlocations by the names you have defined in the program. You can inspect thecontents of a data item simply by specifying its name. If you set breakpoints atsymbolic locations and then recompile your program, CA-InterTest for CICS cantransfer those breakpoints to the recompiled program. You can also access allCICS system-related areas by field names.

CA-InterTest for CICS even provides full symbolic support for programs thatconsist of separately compiled modules brought together when the program islink-edited. These modules can be written in the same or different languages.

Page 28: CA-Intertest for CICS User Guide

CA-InterTest for CICS Components

1�10 CA-InterTest for CICS User Guide

Flexible Testing

CA-InterTest for CICS makes it easy to adjust your testing plan to react tosituations as they arise. For example, you can set breakpoints in your programbefore initiating it, and then set new breakpoints or remove existing ones afterthe program begins to execute. You can also create new test records during a testsession if your current data is not testing your program thoroughly.

In a secure CICS region, you can take advantage of the user monitoring option tocreate a personal test session based only on your CICS user ID. If you specifyyour own User ID when setting monitoring and breakpoints, the program(s) aremonitored only when you execute them, and the breakpoints and othermonitoring options are directed to whatever terminal, or terminal session, youare using. The user monitoring option also permits multiple users toconcurrently test the same program with different monitoring options.

CA-InterTest for CICS Components

CA-InterTest for CICS consists of these CICS transactions:

ITST�Displays the ISPF-like Primary Option Menu, which provides access to allother CA-InterTest and CA-SymDump For CICS Option facilities without havingto know any other transaction or command.

LIST�Displays online COBOL, PL/I, and Assembler source listings andcompiler output.

CNTL�Controls program monitoring.

CORE�Inspects and modifies main storage.

FILE�Displays and updates CICS files, DL/I, DB2, and SQL/DS databases,temporary storage, or transient data.

HELP�Provides online assistance for using CA-InterTest.

You can use any of these transactions at any time. Your program does not haveto be executing for you to use CORE to display or change the contents of mainstorage, and you can use FILE to update a file or create a test file whether or notCA-InterTest for CICS is monitoring any programs.

Page 29: CA-Intertest for CICS User Guide

CA-SymDump For CICS Option

Introduction 1�11

CA-SymDump For CICS Option

CA-SymDump For CICS Option, an online symbolic dump facility, complementsCA-InterTest for CICS by helping resolve problems when dumps are necessary.This option lets you display dumps symbolically. You can then use CA-InterTestfor CICS to find and correct errors. CA-SymDump For CICS Option also lets youmanage the dump data set by listing, deleting, holding, and printing dumps.CA-InterTest for CICS users who also have the CA-SymDump For CICS Optioncan access the option�s facilities directly from the CA-InterTest for CICS PrimaryOption Menu (Option 5 Dump Analysis).

Take Advantage of CA-InterTest for CICS

Testing and debugging programs are critical tasks in the applicationdevelopment process. CA-InterTest for CICS gives you the tools you need toperform these tasks quickly and efficiently. With CA-InterTest for CICS,individual programs can be more thoroughly tested and made more reliable,which keeps your entire CICS system more stable. Moreover, CA-InterTest forCICS provides powerful facilities for displaying and modifying main andauxiliary storage�facilities designed to meet the needs of both application andsystem programmers. You will also find it easy to learn how to take advantageof the many capabilities of CA-InterTest for CICS.

Page 30: CA-Intertest for CICS User Guide
Page 31: CA-Intertest for CICS User Guide

Menus and Displays 2�1

Chapter

2 Menus and Displays

This chapter explains how to use the ISPF-like menus and selection lists to getaround CA-InterTest for CICS before, during, and after your test sessions. Themenus:

� Are always available

� Use a standard set of PF keys

� Support a subset of ISPF commands, including the fastpath Jump (=x.y.z)command for quick navigation

� Simplify navigation among the Source Listing, Monitoring (CNTL), MainStorage (CORE), Auxiliary Storage (FILE), and CA-SymDump For CICSOption (SYMD) displays

This chapter also explains how to use the Monitoring Status display, anexpandable tree-like display of current monitoring entries. You will find theStatus display saves testing time, since you can quickly remove any monitoring,breakpoint, or monitoring option directly from it.

Topics in this chapter include:

� Primary Option Menu and Breakpoint Primary Option Menu

� Menu Structure

� Menu Commands and PF Keys

� Monitoring Status Report

Note: This chapter assumes you understand the concepts of CA-InterTest forCICS monitoring and breakpoints.

Page 32: CA-Intertest for CICS User Guide

The Primary Option Menu and Breakpoint Menu

2�2 CA-InterTest for CICS User Guide

The Primary Option Menu and Breakpoint Menu

Primary Option Menu The CA-InterTest Primary Option Menu, shown below, can be used to access andinitiate any CA-InterTest facility, and even CA-SymDump For CICS Option.Notice you can also use Option 7 Status/Maintenance, to view your site�sinstallation options, release information, and what PTFs have been applied.

------------------- CA-InterTest 6.x PRIMARY OPTION MENU --------------------OPTION ===>

1 Source - Display/select program source files/listings2 Monitoring - Display/modify CA-InterTest monitoring/activity3 Main storage - Display/modify CICS storage areas4 Auxiliary storage - Display/access databases/files/queues5 Dump analysis - Invoke CA-SymDump CICS dump/trace capture facility6 Product help - Invoke CA-InterTest product help facility7 Status/Maintenance - Product status and maintenance functions8 What's new? - Display information about CA-InterTest 6.x releaseX Exit - Terminate menu processing

CA-InterTest Release 6.xCopyright 1985, 2000

Computer Associates International, Inc.All rights reserved

PF1 Help 2 3 End 4 Return 5 6PF7 8 9 10 11 12

Access To access the Primary Option Menu, enter ITST from CICS, from any SourceListing display or breakpoint, or any CA-InterTest menu.

� Before a test session, sign on to CICS, and then enter the ITST transaction.

� From any Source Listing display or breakpoint display, type ITST on theCommand line.

Note: The Command line is on line 2 of all Source displays and is availableat all times.

� From the Breakpoint Primary Option Menu, type ITST or select option 1Main Menu.

What�s New? Current CA-InterTest users might want to browse the topics in Option 8 What�sNew, to read about what is new for this release.

Page 33: CA-Intertest for CICS User Guide

The Primary Option Menu and Breakpoint Menu

Menus and Displays 2�3

Breakpoint PrimaryOption Menu

When you are at a breakpoint, CA-InterTest includes a Breakpoint PrimaryOption Menu, which places many breakpoint activities right at your fingertips.The Breakpoint Primary Option Menu is displayed in the following figure.

-------------- CA-InterTest 6.x BREAKPOINT PRIMARY OPTION MENU --------------OPTION ===>

1 Main menu - Display the CA-InterTest primary option menu2 Status - Display/remove current monitoring options3 Abend - Abend the breakpointed task4 Resume - Resume breakpointed task menu options5 Override - Override automatic breakpoint default processing6 Dump - Cause dump, resume from next sequential instruction7 Disconnect - Disconnect the breakpoint from this terminal8 Hogan SMART - Invoke Hogan System's debugging facilityX Exit - Terminate breakpoint menu processing

PF1 Help 2 3 End 4 Return 5 6PF7 8 9 10 11 12

Notice that from the Breakpoint Primary Option Menu, Option 1 Main Menubrings you to the Primary Option Menu.

Access To access the Breakpoint Primary Option Menu from any Source ListingBreakpoint, enter MENU on the Command line or press PF6 Menu.

Option Selection

Option Selection Option selection for the new menus follow standard ISPF conventions. To selecta menu option, enter its number in the Option==> field and press Enter. If youhave questions about menu usage, press PF1 for menu-specific help.

Fastpath Option Selection (=x.y.z)

The Option field of menus (and the Command line of the Source Listing Facility)support the Jump (=x.y.z) command notation, also known as fastpath notation.Jump notation lets you bypass intermediate menus by making a series ofselections in the format x.y.z. The equal sign indicates your selection starts fromthe top level menu in the current hierarchy. If you do not include the equal sign,your selection starts from the current menu.

Fastpath Notation When a submenu to a Primary Option Menu is discussed in this guide, itsfastpath from the Primary Option Menu is written in parentheses following themenu name. For example, the notation:

... Program Monitoring menu (2.1)...

indicates the Program Monitoring menu is option 2 Monitoring on the PrimaryOption Menu, and then option 1 Programs on the Monitoring Menu.

Page 34: CA-Intertest for CICS User Guide

The Primary Option Menu and Breakpoint Menu

2�4 CA-InterTest for CICS User Guide

PF Keys

All menus and selection lists have a standard set of PF keys, which are listed inthe following table.

PF Key Function

PF1 Help Displays a Help menu relating to the current menu or display.At an automatic breakpoint, gives help for the specific problem.Use Clear to exit help.

PF3 End Ends the current display and returns to the previous menu ordisplay.

PF4 Return Returns to the highest level menu, either the Primary OptionMenu or the Breakpoint Primary Option Menu.

PF7 Backward Scrolls a list back one page, or scrolls back to the list itemindicated by the user�s cursor.

PF8 Forward Scrolls a list forward one page, or scrolls down to the list itemindicated by the user�s cursor.

Menu Structure and Navigation

The menus offer easy access to the CA-InterTest for CICS LIST, CNTL, CORE,FILE, and SYMD facilities. The following figure shows how the Primary OptionMenus are used to access each facility.

Page 35: CA-Intertest for CICS User Guide

The Primary Option Menu and Breakpoint Menu

Menus and Displays 2�5

Source Listing Display

MENU

Monitoring

Option 1 Option 2 Option 3

Menu

Primary Option

Selection List

Source

1 Program List2 Symbolic File

1 Programs2 Transactions 3 Terminals

Monitoring Menus

Main Storage

1 System Areas2 Task Areas 3 Breakpoint Areas

Storage Displays

and CNTL menus

of CORE

Auxiliary Storage1 VSAM 2 DB2 3 DL/I

4 Status 5 Active Tasks 6 System-Wide

(LIST=progname)

Monitoring

Status

Option 4

Displaysof FILE

4 TS 5 TD

Option 5

CA-SymDump 1 Analysis

3 Configuration 2 Tracing

4 Start 5 End

X Exit

New SelectionPanels

CA-SymDump

Displays

ITST

ITST Menus Accessing CA-InterTest Displays

The previous figure does not include the last four Primary Menu Options:

6 Product Help�Displays the main menu for all help topics.

7 Status/Maintenance�Status provides online displays of CA-InterTest andCA-SymDump For CICS Option product components, including the genlevel,global installation options, and what maintenance has been applied.Maintenance allows a help administrator to maintain the optional user-help fileentries of user-defined abend codes and descriptions.

8 What�s New�Displays online help topics listing the new features for thisrelease.

X Exit�Exits menu processing. Quick exit from any menu is =X.

Page 36: CA-Intertest for CICS User Guide

The Primary Option Menu and Breakpoint Menu

2�6 CA-InterTest for CICS User Guide

The Primary Option Menu is available at all times, even if you did not start thesession from a menu. For example, if you started your CA-InterTest for CICSsession using LIST=COBDEMO, from the Source Listing Display you can still usePF6 Menu to display the Primary Option Menu; or if you used single-linecommands to set monitoring and breakpoints for your program, and thenexecute the program and reach a breakpoint, PF 6 Menu displays the BreakpointPrimary Option Menu and Option 1 Main Menu accesses the Primary OptionMenu.

Breakpoint Menus

The Breakpoint Primary Option Menu lets you decide how or if you want tocontinue execution. Notice Option 4 Resume displays a submenu with eightoptions for resuming execution.

Option 1

Main Menu

( Primary Option Menu)

Source Listing Breakpoint

MENU

Option 3Option 2

Monitoring

Status

Abend

( Primary Option Menu)

Enter dump code:

Menu

Breakpoint Primary Option

1 Next Instruction2 Label 3 Statement 4 Offset 5 Indirect Command

Option 4 Option 5

Dump

PF6 MENU

Resume Menu

OverrideAutomatic Breakpoint

Option 5

Option 6 Option 7

Hogan SMART

Option 8

6 Next EXEC/Call7 nnn Steps

7 nnn Steps

8 nnn Instructions

Disconnect

Breakpoint Primary Menu Options

Page 37: CA-Intertest for CICS User Guide

The Primary Option Menu and Breakpoint Menu

Menus and Displays 2�7

Selection and Navigation Commands

CA-InterTest for CICS and the CA-SymDump For CICS Option support thefollowing standard ISPF commands in the top OPTION==> line of menus andCOMMAND ==> line of Selection Lists. These commands let you quicklynavigate through screens with selection lists and tree structures.

Note: All commands do not apply to all screens. For example, EXPAND andCOLLAPSE apply only to screens with tree structure displays, and LOCATEapplies only to selection lists displayed in alphanumeric order.

Commands Function

BACKWARDBWD

Same as PF7, scrolls backwards or towards the top of theselection list.

More: - (minus sign) indicates there are more selections to viewusing PF7 or BACKWARD.

BOTTOMBOT

Scrolls to the bottom of a selection list.

COLLAPSE Same as PF5 Collapse. Collapses a branch in a tree structure toshow only the base entry. A minus sign in front of tree structureentry indicates the branch can be collapsed.

DOWN Same as FORWARD.

END Same as PF3. Ends the current function and returns to theprevious menu or display.

EXPAND Expands a branch in a tree structure to show all related entries. Aplus sign in front of a tree structure entry indicates the branchcan be expanded.

FORWARDFWD

Same as PF8, scrolls the display list forward towards the bottomof the selection list. The More: + (plus) field indicates there aremore entries to view using PF8 or FORWARD.

Note: You can cursor to an entry in the middle of a display andpress PF8 (Forward) to position that entry at the top of thedisplay.

HELP Same as PF1, displays help for the current screen. Once in thehelp facility, follow the help panel instructions to accessadditional or related help topics. To exit help, use PF3 or Clear.

LOCATELOCL

Locates a selection in a list based on the character string youenter. For example, LOC COBDEMO locates COBDEMO in thecurrent selection list. Accepts masking characters of * and ?

Page 38: CA-Intertest for CICS User Guide

Using the Monitoring Status Display

2�8 CA-InterTest for CICS User Guide

MAIN Same as PF4 Return. Returns you to the highest level menu, suchas the Primary Option Menu.

REFRESH Same as PF2 Refresh. Refreshes or redraws the current display toreflect recent modifications. For example, after removing optionsfrom a Monitoring Status display, use REFRESH to eliminate theremoved entries from the tree view.

RETURN Same as PF4 Return. Returns you to the highest level menu, suchas the Primary Option Menu (before a test session) or theBreakpoint Primary Option Menu (at a breakpoint).

SELECTSELS

Selects an option on a menu.

TERMINALTERM

Displays the current Terminal ID.

TIME Displays the current time.

TOP Scrolls to the first entry in a selection list.

UP Same as PF7, Backward.

USER Displays the current CICS user ID.

Using the Monitoring Status Display

The Monitoring Status display shows you current monitoring, breakpoints andmonitoring options in effect for one or all monitoring entries.

Page 39: CA-Intertest for CICS User Guide

Using the Monitoring Status Display

Menus and Displays 2�9

Sample Status A sample Monitoring Status display for the program COB2DEMO is shown inthe following figure. This example shows the expanded monitoring entry for theProgram COB2DEMO.

---------------- CA-InterTest for CICS 6.x MONITORING STATUS ---------------COMMAND ===>

Type + to expand or - collapse option levels displayed below,or R to remove option(s).

More: +Option Description Attributes

_ - COB2DEMO Program monitor entry COBOL II| Waiting at breakpoint Task 00043, UBP since 08:48 a.m.

_ - |-.ANY User monitoring options Active_ - |-.ANY User monitoring options Deactivated

| Symbolic listing file PROTDEM| Symbolic listing file PROTDEM

_ - |-RBP Request breakpoint(s) DSNHLI calls| Option ID CB1E38D7| From, to terminals X508, X508| On count, times thru, left 39, 0, 39

_ + |-UBP Unconditional breakpoint #386_ + |-UBP Unconditional breakpoint #389_ |-SLB Source listing breakpoints .ANY_ |-SLB Source listing breakpoints X508

PF1 Help 2 Refresh 3 End 4 Return 5 Collapse 6 ExpandPF7 Backward 8 Forward 9 10 11 12

Monitoring Status for COB2DEMO, Expanded View

Review the following list to remember what each Option listed on this statusdisplay means.

� The COB2DEMO Option identifies the program being monitored isCOB2DEMO, a COBOL program. Notice the rest of the Options are indentedunder COB2DEMO, which indicates they are options to this monitoringentry.

� The .ANY Option indicates this program is being monitored under .ANYuser. If you were monitoring under a single User ID, you would see aspecific User ID, such as MARY01, instead of .ANY.

Notice the rest of the options are indented under .ANY. This indicates theyare options for the monitoring entry COB2DEMO when executed by .ANYuser.

� The RBP Option identifies a request breakpoint was set for this monitoringentry for all DSNHLI calls. Notice the breakpoint is assigned the Option ID#CB1E38D7. This request breakpoint will take affect when the programexecutes at the terminal X508 and will be displayed on the terminal X508 (thecurrent terminal).

� The SLB Option indicates the Source Listing Breakpoint display is thedefault for all breakpoint displays.

Access The Monitoring Status display is conveniently accessed from the menus and theSource Listing facility.

Page 40: CA-Intertest for CICS User Guide

Using the Monitoring Status Display

2�10 CA-InterTest for CICS User Guide

To obtain a Monitoring Status for a single monitoring entry, such as a singleprogram:

� From the Source Listing Display or Source Listing Breakpoint screen, enterSTATUS in the COMMAND ===> line when the current program isdisplayed and press Enter, or press PF12 Status.

� From the Breakpoint Primary Option Menu, select option 2 Status.

� From the Primary Option Menu, complete the Monitoring Menus for theProgram (2.1), Transaction (2.2), or Terminal (2.3), and select the Statusoption from the option list. See the chapter �Monitoring Menu Options� fordetails on using the Monitoring Menus.

To obtain a Monitoring Status for all monitoring entries:

� From the Source Listing Display or Source Listing Breakpoint screen, enterSTATUS ALL in the COMMAND ===> line.

� From the Primary Option Menu, select Option 2.4 Monitoring Status.

The following figure shows a Monitoring Status display for all entries.

-------------------- CA-InterTest 6.x MONITORING STATUS ---------------------COMMAND ===>

Type + to expand or - collapse option levels displayed below,or R to remove option(s).

Option Description Attributes

_ + COBDEML Program monitor entry COBOL_ + COBDEMO Program monitor entry COBOL_ + COB2DEMO Program monitor entry COBOL II_ + PL1DEMO Program monitor entry PL/I

*** End of data ***

PF1 Help 2 Refresh 3 End 4 Return 5 Collapse 6 ExpandPF7 Backward 8 Forward 9 10 11 12

Monitoring Status of ALL Programs, Collapsed View

Expanding and Collapsing Entries

You can collapse and expand the entries on the monitoring status display. Anoption preceded with a plus sign (+) can be expanded, and an option precededwith a minus sign (-) can be collapsed.

� To collapse all entries, press PF5 Collapse or use the COLLAPSE command.

� To fully expand all entries, press PF6 Expand or use the EXPAND command.

Page 41: CA-Intertest for CICS User Guide

Using the Monitoring Status Display

Menus and Displays 2�11

� To collapse all entries below an option, tab to the selection field in front ofthe option, type - (a minus sign), and press Enter.

� To expand all entries for a specific option, tab to the selection field in front ofthe option, type + (a plus sign), and press Enter.

Removing Monitoring, Breakpoints, or Other Options

You can enter the letter r in the selection field next to any option to remove it.This removes the option and any options in that branch. For example, removingmonitoring for COB2DEMO removes all monitoring options and breakpointstoo.

Removing breakpoints, especially request breakpoints, is simple using the statusdisplay. First, display the status report for the monitored entry and expand themonitored entry to view all options. Next, enter r next to the breakpoint youwant to remove, and press Enter.

The following figure shows an example of removing the request breakpoint forCOB2DEMO, monitored under .ANY user.

---------------- CA-InterTest for CICS 6.x MONITORING STATUS ----------------COMMAND ===>

Type + to expand or - collapse option levels displayed below,or R to remove option(s).

More: +Option Description Attributes

_ - COB2DEMO Program monitor entry COBOL II| Waiting at breakpoint Task 00043, UBP since 08:48 a.m.

_ - |-.ANY User monitoring options Active_ - |-.ANY User monitoring options Deactivated

| Symbolic listing file PROTDEM| Symbolic listing file PROTDEM

r - |-RBP Request breakpoint(s) DSNHLI calls| Option ID CB1E38D7| From, to terminals X508, X508| On count, times thru, left 39, 0, 39

_ + |-UBP Unconditional breakpoint #386_ + |-UBP Unconditional breakpoint #389_ |-SLB Source listing breakpoints .ANY_ |-SLB Source listing breakpoints X508

PF1 Help 2 Refresh 3 End 4 Return 5 Collapse 6 ExpandPF7 Backward 8 Forward 9 10 11 12

Refreshing the Display

After removing an option, you can refresh the display to reflect your changes.Use the REFRESH Command or press PF2 Refresh.

Exiting the Status Display

Press PF3 End or PF4 Return to exit the Status display.

Page 42: CA-Intertest for CICS User Guide
Page 43: CA-Intertest for CICS User Guide

Source Listing Facility 3�1

Chapter

3 Source Listing Facility

The CA-InterTest Source Listing facility allows you to debug your programwhile viewing your source code, which takes the guesswork out of testing. Inaddition, all of the other CA-InterTest facilities�ITST, CNTL, CORE, FILE, HELPand SYMD (for CA-SymDump licensed users)�can be accessed directly from theSource Listing facility using either menus or single-line commands.

The purpose of this chapter is to get you up and running as quickly as possibleso you can use the Source Listing Facility to test your programs. The chaptertopics include:

� How to get started with CA-InterTest using the Source Listing facility

� Preparing your programs

� Displaying your source using Menus or the LIST command

� Using the Source Listing Display screen

� Parts of the Source Listing Display screen

� Supported commands

� PF keys

� Searching for data

� Adjusting the display area

� Changing the program

� Maintaining synchronized processing

� Using the Source Listing Profile

� Code Coverage

� Basic test session functions

� Setting monitoring and choosing a user ID

� Setting and removing breakpoints (overview)

� Exiting and program execution

Page 44: CA-Intertest for CICS User Guide

Preparing Your Program

3�2 CA-InterTest User Guide

As you become familiar with the Source Listing facility, keep in mind that thereis no such thing as a cookbook method of using CA-InterTest. CA-InterTest is avaried and powerful testing tool; how you use it depends on your particulartesting needs.

Demo Sessions In addition to reading this chapter, an excellent way to learn CA-InterTest is toperform the demo sessions documented in the CA-InterTest for CICS Primerguides. Three separate primers are available: the Assembler Primer, COBOLPrimer, and the PL/I Primer.

Preparing Your Program

To prepare a program for Source Listing testing and symbolic testing, you mustmodify the compile or assemble JCL to include a CA-InterTest post-processor step.For Source Listing testing, the LISTER parameter of the post-processor is required;see the appendix, �The Symbolic File,� for detailed instructions on how to modifyyour JCL. After modifying the JCL, recompile or reassemble the program. Thisputs the program�s listing in the CA-InterTest Symbolic File.

Starting CA-InterTest in Your CICS Region

CA-InterTest is generally started once a day. At many sites, CA-InterTestautomatically starts during CICS initialization. In addition, CA-InterTestautomatically starts whenever you complete a monitoring-related request fromthe Monitoring Menus or Submenus (Option 2 on the Primary Option Menu).

To start CA-InterTest or to verify that CA-InterTest is up and running, sign on toCICS and issue the following command on a Clear screen:

CNTL=START

CA-InterTest responds with a message stating either that it has successfullystarted or that it is already active.

Note: If CICS responds with a message stating that CNTL is an invalidtransaction, the systems programmer who installed CA-InterTest probablychanged the name of the CNTL transaction. Find out the new transaction ID andtry again.

Page 45: CA-Intertest for CICS User Guide

CA-InterTest Transaction IDs

Source Listing Facility 3�3

CA-InterTest Transaction IDs

CA-InterTest has six standard transaction IDs: ITST, CNTL, CORE, FILE, LIST,HELP, and an additional transaction ID for licensed CA-SymDump users:SYMD. These IDs might have been modified when CA-InterTest was installed.If the HELP transaction ID was not modified, you can learn your currenttransaction IDs by entering Help on a Clear screen.

The CA-InterTest initial screen for the HELP facility is shown next.

Note: You can browse the Help facility by pressing Enter from the initial Helpscreen. To exit Help, press PF3 or Clear.

CA-InterTest TRANSACTION CODES

CA-InterTest is a productivity tool that will make your CICS testing faster,easier and more effective. The following transactions are available:

ITST - A menu facility for all the activities included in the transactionsbelow

LIST - To display compiler and assembler output, set and remove breakpoints,view and modify data variables, and control program execution

CNTL - To set and remove breakpoints and monitoring options, controlprogram execution, and report on monitoring activity

CORE - To display or modify main storageFILE - To display or modify any CICS file or DL/I or DB2 data baseHELP - To obtain assistance in USING CA-InterTestSYMD - To display transaction dumps symbolically

OR Enter message number to obtain help for: ____________

Please enter any transaction code CA-InterTest Release 6.xor press ENTER for HELP menu: ____ COPYRIGHT 1985, 2000

Computer Associates InternationalALL RIGHTS RESERVED

Fill in the following table with the transaction names displayed on your screen.Use these transaction names in place of the standard CA-InterTest transactionnames wherever they occur in this manual.

CA-InterTest Transaction IDs Your Site�s Transaction IDs

ITST

LIST

CNTL

CORE

FILE

HELP

SYMD

Page 46: CA-Intertest for CICS User Guide

Starting a Test Session

3�4 CA-InterTest User Guide

Starting a Test Session

To begin testing, be sure you have compiled or assembled your program with theCA-InterTest post-processor step using the LISTER parameter, and then setmonitoring and breakpoints in your program using the steps below.

1. Perform CICS sign on.

2. Display your source code.

3. Set monitoring.

4. Set breakpoints.

5. Initiate your program and begin testing.

Step 1. Perform CICS Sign On

If you are working in a secure CICS region, always sign on to CICS before usingCA-InterTest. CA-InterTest monitoring is sensitive to CICS user IDs.

Step 2. Display Your Source Code

To begin, you have two ways to access the the CA-InterTest Source Listingfacility to view the compiled or assembled listing of your program:

� ITST Primary Menu Option access, Option 1 Source.

� Command access: LIST=progname

Menu Access Use the ITST Primary Menu, Option 1 Source, to select your program from aselection list by program name or by SYMBOLIC file name. See the section Usingthe Source Selection List for details.

Command Access To use the single-line CICS command, sign on to CICS. On a clear screen, enter:

LIST=progname

where progname is the name of your program.

CA-InterTest displays your program on the Source Listing Display screen, asillustrated in the following figure. From this screen you can set monitoring andbreakpoints.

If a message informs you that the listing is not available, check whether the:

� Program name is correct

� Program is in the CA-InterTest Symbolic File

� Program was compiled or assembled with the LISTER option

Page 47: CA-Intertest for CICS User Guide

Starting a Test Session

Source Listing Facility 3�5

If there are multiple copies of the program you specified, CA-InterTest asks youto select the program that you want to run. When you make your selection andpress Enter, CA-InterTest displays the Source Listing of your program. See thesection Maintaining Synchronized Processing for details.

Step 3. Set Monitoring

While viewing the program listing, enter monitor in the top Command Line.This is the same as pressing PF5 Monitor.

Note: CA-InterTest monitoring and breakpoints include a CICS user ID option.See the section Setting Monitoring for a discussion of this option.

Step 4. Set Breakpoints

Setting breakpoints allows you to control program execution. CA-InterTest haltsprogram execution when the program reaches a breakpoint, which allows you touse any CA-InterTest facility before continuing execution. For example, you canset an unconditional breakpoint at the beginning of the Procedure Division, thefirst CSECT, or the first line of a PL/I program to gain control right from thestart.

Step 5. Initiate Your Program and Begin Testing

To exit to CICS, press PF3 End or Clear to terminate the Source Listing facility. Ifyou entered through the menus, exit the menus using =X or PF3 End.

To begin testing, execute the program as you normally would. In a secure CICSregion, make sure to sign on to CICS before executing the program.

Page 48: CA-Intertest for CICS User Guide

Using the Source Selection List

3�6 CA-InterTest User Guide

Using the Source Selection List

From CICS, use the ITST transaction to display the CA-InterTest Primary OptionMenu. Select Option 1 Source to display the CA-InterTest Source Menu.

----------------------- CA-InterTest 6.0 SOURCE MENU ------------------------OPTION ===>

Select a member list type, specifying optional criteria below.

1 Source listings - Display/select program source listings2 Symbolic files - Display/select program source SYMBOLIC files

Type specific or generic program/file name(s):(Valid mask characters are * and/or +)

c*______ ________ ________ ________ ________ ________ ________ ________

PF1 Help 2 3 End 4 Return 5 6PF7 8 9 10 11 12

This menu has two uses. You can display either a:

� Listing or a list of listings (type a 1 in the Option field).

� Symbolic file or a list of Symbolic files (type a 2 in the Option field), and thenselect a Symbolic file to display the Program Listings for that file.

In the unlabeled text fields, you can enter either the listing name or theCA-InterTest Symbolic File name. Masks can be used to filter the selection listfor items matching the filter criteria:

� Use * in place of a string of any length. For example, the c* in the abovescreen filters for all listings beginning with the letter c.

� Use + for a single character. For example, a mask of COBD++O filters forany seven letter item that begins with the letters COBD, has an O in the lastposition, and has any valid character in the fifth and sixth positions. Forinstance, COBDEMO, COBDXXO, and COBDABO would all meet the maskcriteria, but COBDEML or COBDEM would not.

� Leave the fields blank to display all symbolic files or listings.

Page 49: CA-Intertest for CICS User Guide

Using the Source Selection List

Source Listing Facility 3�7

Once you specify a listing, file or mask and press Enter, CA-InterTest displaysthe Source Listing Selection menu, which shows all the files or listings meetingthe criteria you specified on the Source Menu. Type an S next to the file or listingyou want and press Enter to display that file or listing in the Source Listingdisplay. The following screen shows the result of the criteria entered on theSource Menu shown previously.

----------------- CA-InterTest 5.x SOURCE LISTING SELECTION -----------------COMMAND ===>

Name File Created Size Attributes_ CICSCOBA PRTSYM1 09/20/94 16:38 29 COBOL II, no purge_ CICSCOBB PRTSYM1 09/20/94 16:13 21 COBOL II, no purge_ COBDEML PROTSYM 07/07/94 09:32 17 COBOL, no purge, composite_ COBDEMO PROTSYM 07/07/94 09:25 70 COBOL, no purge_ COB2DEML PROTSYM 07/07/94 09:33 25 COBOL II, no purge, composite_ COB2DEMO PROTSYM 07/21/94 10:34 158 COBOL II, no purge_ COB2DMLX PRTSYM1 09/21/94 16:10 26 COBOL II, no purge, composite_ COB2INSP PRTSYM1 02/01/94 09:11 155 COBOL II, no purge_ COB2IN25 PROTSYM 07/07/94 09:31 11 COBOL II, no purge_ COB2XCTL PRTSYM1 09/22/94 13:38 159 COBOL II, no purge_ CSBIN25 PROTSYM 07/07/94 09:29 8 COBOL, no purge_ C370DEML PROTSYM 07/07/94 09:33 27 COBOL/370, no purge, composite_ C370DEMO PROTDGG 12/12/94 12:51 161 COBOL/370, no purge_ C370DEMO PROTWSD 12/12/94 12:51 161 COBOL/370, no purge_ C370DEMO PROTSYM 07/21/94 16:35 161 COBOL/370, no purge_ C370IN25 PROTSYM 07/07/94 09:32 12 COBOL/370, no purge*** End of data ***

PF1 Help 2 Refresh 3 End 4 Return 5 6PF7 Backward 8 Forward 9 10 11 12

Source Listing Selection Screen

Page 50: CA-Intertest for CICS User Guide

Examining the Source Listing Display Screen

3�8 CA-InterTest User Guide

Examining the Source Listing Display Screen

A sample COBOL source listing follows:

CA-InterTest - PROTDEM FILE SOURCE LISTING DISPLAY�COMMAND ==>Program= COBDEMO Option # Stmt # Margin= 01Nested= Search=

�OPTS 1 Proc div 2 Work-stor 3 Link sect 4 D-map 5 Clst/Pmap 6 Xref�

7 Proc xref 8 Err msgs 9 Srch fwd 10 Srch bwd 11 Ind cmds 12 Bkptopts�PFKS 1 Help 2 3 End 4 Profile 5 Monitor 6 Menu

7 Backward 8 Forward 9 10 11 12 Status------------------------------------------------------------------------------

-_ 00001 ID DIVISION._ 00002 PROGRAM-ID. COBDEMO._ 00003 ENVIRONMENT DIVISION.� 00004 DATA DIVISION._ 00005 WORKING-STORAGE SECTION._ 00006 77 S999-FIELD1 PIC S9(3).

� _ 00007 77 S999-FIELD2 PIC S9(3) VALUE +50._ 00008 77 999-FIELD1 PIC 9(3)._ 00009 77 999-FIELD2 PIC 9(3) VALUE 50._ 00010 77 FIRST-SCREEN-LEN PIC S9(4) COMP VALUE +1696._ 00011 77 MSG-SCREEN-LEN PIC S9(4) COMP VALUE +1040._ 00012 77 THIRD-SCREEN-LEN PIC S9(4) COMP VALUE +960._ 00013 77 FOURTH-SCREEN-LEN PIC S9(4) COMP VALUE +1761._ 00014 77 ERROR-SCREEN-LEN PIC S9(4) COMP VALUE +960.00015*77 COMMAREA-LEN PIC S9(4) COMP VALUE +39.

Sample Source Listing Display of a COBOL Program

Page 51: CA-Intertest for CICS User Guide

Examining the Source Listing Display Screen

Source Listing Facility 3�9

Detailed Field Definitions

This section explains the Source Listing Display screen.

� Fields in which you can enter commands and information:

Field Function

COMMAND ===> Enter any CA-InterTest transaction, transaction-basedcommand, or a Source Listing Display command. Enter=X.Y.Z for fastpath menu access to Primary Option MenuX.Y.Z.

Note: You cannot use this command line to enter asystem-wide CNTL command.

Program= Change the program whose code is displayed.

Option # Enter an option listed on OPTS lines by number, or entershortcut codes for CNTL functions.

Stmt # Display a specific statement.

Nested= Indicates the displayed COBOL nested program or theprogram to be searched.

Note: The COBDEMO program does not contain nestedprograms; however, if a program did contain a nestedprogram, it would be displayed here.

Margin= Adjust the display margins to view code past column 80.

Search= Instruct CA-InterTest to search for a data name or string.

� OPTS list entries for the Option # field. Valid options for COBOL, Assembler,and PL/I are listed in the section Source Listing Option # Field Entries.

� PFKS describe the PF key functions.

The bottom half of the Source Listing display screen displays source code fromthe program named in the Program= field.

Page 52: CA-Intertest for CICS User Guide

Examining the Source Listing Display Screen

3�10 CA-InterTest User Guide

� Column 1 (represented by the underscore _) of each line is reserved for enteringsingle-letter commands and for breakpoint-related functions. When a breakpointtakes effect during execution, it will be identified in column 1 with one of thefollowing letters:

Letter Breakpoint Type

A Automatic (CA-InterTest generated)

U Unconditional

C Conditional

V Variable-change (COBOL and Assembler)

R Request

� Displays the source code. The numbers at the left side of each line are theCOBOL or PL/I statement numbers from the compiled listing, or the Assemblerhexadecimal location number from the assembled listing.

� For PL/I programs, there are more OPTS to view. A More field displays to theright of the OPTS entries. Tab to More + and press Enter to view OPTS 5 to theend. Tab to More - and press Enter to view OPTS 1 to 10.

Note: The display screen�s format varies by terminal type. For 132-columnterminals, lines of code are displayed as is and can be viewed in full. For 80-column terminals, CA-InterTest automatically reformats the compiler output sothat most of the code can be viewed in columns 1 to 80. Code beyond column 80is viewed by changing the display margins in the Margin= field. See the sectionAdjusting the Margins for details.

Page 53: CA-Intertest for CICS User Guide

Examining the Source Listing Display Screen

Source Listing Facility 3�11

Source Listing Option # Field Entries

The numbers listed in this table are used in the Option # field to display specificsections of the source listing or to search for data. Using these options makes iteasy to locate specific sections of your program.

Note: For PL/I programs, all of the OPTS labels cannot be displayed at once. Tabto the More field and press Enter to view options not currently displayed.

Option COBOL PL/I Assembler

1 * Procedure Division Data Name XREF First CSECT

2 * Working-Storage Aggregate LengthTable

3 * Linkage Section Storage Requirements �

4 Data Division Map Static Storage Map �

5 CLIST/Pmap Variable Storage Map Macro and CopySource Catalog forhigh level output

6 Data Name XREF Table of Offsets Cross Reference

7 Procedure Cross Reference

Generated Code(Assembler-like)

Literals CrossReference

8 Error Messages Error Messages Error Messages

9 Search Forward Search Forward Search Forward

10 Search Backward Search Backward Search Backward

11 Indirect Commands Indirect Commands

12 Unconditional/ Conditional Breakpoint Options

Unconditional/Conditional BreakpointOptions

Unconditional/ConditionalBreakpoint Options

13 � ProcedureCross Reference

14 � Labels Cross Reference �

* These options can be used with NESTED= entries to request a display of thesesections for a specific nested program.

The sections available for display depend on which version of the post-processorLISTER parameter was used to compile or assemble the program. See �TheSymbolic File� appendix for more information.

Page 54: CA-Intertest for CICS User Guide

Examining the Source Listing Display Screen

3�12 CA-InterTest User Guide

Source Listing Command Line

The Command line is located at line 2 of the Source Listing display so it is alwaysavailable, regardless of what view options are currently in use. You can use thisCommand line to enter any CA-InterTest transaction, a transaction-based linecommand (such as a CNTL command or CORE command), and the SourceListing Display commands listed in the following table.

Note: You cannot use this command line to enter CA-InterTest system-wideCNTL options.

Command PFKey

Description

ABI ON none Turn Abend Intercept on This is the default andwill intercept all CICS abends and produce anautomatic breakpoint screen providing there aCICS HANDLE ABEND LABEL/PROGRAM isnot active. If you wish to intercept CICS abends forprograms that have an active CICS HANDLELABEL/PROGRAM then see the ABI FORCEcommand below

ABI OFF none Turn Abend Intercept off. This will cause InterTestto stop intercepting CICS abends. No automaticbreakpoint screen will be displayed and theprogram will abend.

ABI FORCE none Turn Abend Intercept on for all CICS ABENDS.Even if a program has an outstanding HANDLEABEND active or issues a CICS HANDLE ABENDcommand.

Use this option when you want an automaticbreakpoint screen for programs that also haveactive HANDLE ABENDS to process their ownerrors.

BOTTOM

BOT

none GO to bottom of source

BPO none Jump to Breakpoint Option screen

BWD PF7 Scrolls backward. The scroll amount is set on theSource Listing Profile.

CNTL none Displays the CNTL Command Menu.

Note: The Monitoring Menu (2) is an alternative tousing the CNTL menu; for details, see the chapterMonitoring Menu Options.

Page 55: CA-Intertest for CICS User Guide

Examining the Source Listing Display Screen

Source Listing Facility 3�13

CORE none Displays the Main Storage menu. Select an optionto view a main storage (CORE) display.

COUNTS SHOW none Turns the Code Coverage COUNTER display on.To activate Code Coverage see Customizing theSource Listing Profile or issue PROFILE command.

COUNTSNOSHOW

none Turns the Code Coverage COUNTER display off.To deactivate Code Coverage see Customizing theSource Listing Profile or issue the PROFILEcommand.

COUNTS RESET none Resets the program Code Coverage statementcounters to zero.

COUNTS op value none Turns the Code Coverage COUNTER display onand highlights program statements that match thecriteria. The source listing will be repositioned tothe first statement matching the criteria.

Op can be: EQ or =, NE or <>, LT or <, GT or >, LEor <= or =<, GE or >= or =>

Value can be: 0 to 9999

COUNTS NEXT none Repositions the source listing to the next statementthat matches the previously specified COUNT opvalue criteria.

COUNTS ALL none Removes previously specified COUNT op valuecriteria and redisplays source listing withoutspecial COUNTER highlighting.

DOWN none Shift listing down

END PF3 Returns to the prior display or menu.

FILE none Displays the Auxiliary Storage Menu. Select anoption to view a file or queue.

FIND

F

none Find a string.

FP none Find paragraph.

FS none Find statement number.

FWD PF8 Scrolls forward the amount indicated on the SourceListing Profile.

HELP PF1 Displays help for the Source Listing Facility.

IC none Jump to Indirect Command screen.

Page 56: CA-Intertest for CICS User Guide

Examining the Source Listing Display Screen

3�14 CA-InterTest User Guide

ITST seeMENU

Displays the ITST Primary Option Menu.

LEFT none Shift listing left.

LOCATE

LOC

L

none Locate line number, a label, or part of the listing.

MARGIN

MAR

none Shift listing to specific margin.

MENU PF6 Displays the high-level menu. When not at abreakpoint, it is the ITST Primary Option Menu;when at a breakpoint, it is the Breakpoint PrimaryOption Menu.

MONITOR PF5 Sets monitoring for the current program using theCICS user ID displayed on the Profile.

OFFALL none Removes all breakpoints set by active USER orTERMINAL Active USERID is used if a validUSERID is signed on. Otherwise, the activeTERMINAL is used

ALL breakpoints for ALL programs/tranactions/will be removed that were set by the active USERIDor active TERMINAL.

OFFALL TERM none Removes all breakpoints set by active TERMINAL

OFFALL USER none Removes all breakpoints set by active USER.

PROFILE PF4 Displays Source Listing Profile, where you canchange settings for the current session.

RIGHT Shift listing right

STATUS PF12 Display the Monitoring Status report (Option 2.4 onthe Primary Option Menu) for the current program.You can remove monitoring, breakpoints, andoptions directly from the Status display.

STATUS ALL none Displays the Monitoring Status report for allprograms, transactions, and terminals CA-InterTestis monitoring in the region.

TOP none Go to top of source.

UP none Shift listing up.

=x.y.z none Fastpath to Primary Menu Option x.y.z.

Page 57: CA-Intertest for CICS User Guide

Examining the Source Listing Display Screen

Source Listing Facility 3�15

Action-Characters Supported from a Source Listing Display or Breakpoint

The following table lists the functions that can be performed by entering a singlecharacter on your source listing. Each of these functions is described in laterchapters.

Chapter ActionCharacter

Function

Using Breakpoints u Unconditional; sets an unconditional breakpoint.

c Conditional; sets a conditional breakpoint.

v Variable-change; sets a variable-change conditional breakpoint (for COBOL or Assembler programs).

x Remove; removes a breakpoint or removes a variable from the keepwindow.

Breakpoint Activities d Display; displays program or variable storage at a breakpoint.

k Keep; keeps a variable in the keep window.

m Modify; modifies a variable at a breakpoint.

@ Display; displays the main storage area pointed to by a data itemfor a 24-bit address.

% Display; displays the main storage area pointed to by a data itemfor a 31-bit address.

Resume and ExecutionOptions

g Go to; resumes execution from a specified location at a breakpoint.

b Bypass; bypasses monitoring of an instruction at an automaticbreakpoint.

Special MonitoringSituations

+ Monitor On; begins program segmented monitoring.

- Monitor Off; discontinues program segmented monitoring.

Note: The v, d, @, %, k, and m functions should be entered next to a statementthat references or defines the variable that you want to display, keep, or modify.If the statement references the variable, you must also position the cursor underthe variable name before pressing Enter.

Page 58: CA-Intertest for CICS User Guide

Examining the Source Listing Display Screen

3�16 CA-InterTest User Guide

Shortcut Commandsfor CNTL Functions

To access a CNTL function, enter a code using the following format in the Option# field, and press Enter:

=nns OR =nnr

= is required.

nn is a function number (10 to 33) from the CNTL main menu.

s or r specifies setting or removing the option .

Note: While the CNTL shortcut commands are supported, most users find iteasier to use the Monitoring Menus, available from Primary Option MenuOption 2 Monitoring. See the chapter �Monitoring Menu Options� for details.

The following table summarizes the Option # codes you can enter for thestandard CNTL Selection Menu functions. These codes are explained in detail inthe �CNTL: Commands and Menus� chapter.

Option # Command CNTL Selection Menu Function

=10s Sets monitoring for the program displayed; same as PF5.

=10r Removes monitoring, breakpoints, and all other optionsfor the program displayed.

=11s and 11r Sets and removes unconditional breakpoints.

=12s and 12r Sets and removes conditional breakpoints.

=13s and 13r Sets and removes request breakpoints.

=14s and 14r Sets and removes Segmented Monitoring On option.

=15s and 15r Sets and removes Segmented Monitoring Off option.

=20s and 20r Sets and removes Replace options.

=21s and 21r Sets and removes Protection options.

=22s and 22r Sets and removes Special options.

=23s Sets Composite Support.

=24 Accesses the Indirect Commands facility.

=30 Shows the Status Display screen.

=31 Sets Utility Options screen.

=33 Resumes task execution.

Page 59: CA-Intertest for CICS User Guide

Examining the Source Listing Display Screen

Source Listing Facility 3�17

Source Listing PF Keys

The following table summarizes the PF key functions for the Source ListingDisplay screen. PF key assignments are standard across all CA-InterTest menus.

Note: The ITST menus and relocated Command line eliminate the need toassign CNTL, CORE, and FILE to PF keys. Either navigate to these facilitiesusing the menus, or use the Command line to enter the transaction or desiredsingle-line command.

PF Key Function

PF1 Help Help; displays a Help menu relating to the current SourceListing Display screen.

PF2 Unassigned.

PF3 End End or Clear; terminates the Source Listing Facility. Displaysan earlier ITST panel, if applicable, or CICS.

PF4 Profile Displays the Source Listing Profile screen, where you can setvalues for your current session.

PF5 Monitor Turns monitoring on for the program whose listing is beingviewed using the CICS user ID on the Profile.

PF6 Menu Displays the Primary Option Menu.

PF7 Backward Scrolls the compiler output backward by one page unless thesetting was changed on the Profile. Does not apply within theKeep Window.

PF8 Forward Scrolls the compiler output forward by one page unless thesetting was changed on the Profile. Does not apply within theKeep Window.

PF9, PF10, PF11 Unassigned.

PF12 Status Displays the Monitoring Status for the current program. Youcan remove breakpoints and options directly from the Statusdisplay.

Note: See the chapter �Breakpoint Activities� for a list of the PF keys that areavailable at a breakpoint.

Page 60: CA-Intertest for CICS User Guide

Searching for Data

3�18 CA-InterTest User Guide

Searching for Data

You can ask CA-InterTest to define, search for, and display any character string(such as a data item, label, or paragraph name). This is a quick way to go todifferent areas in a listing when you want to set a breakpoint or check your code.

You can search for data using the Search=field, or by entering a FIND or LOCATEcommand on the command line.

If you know the line number that you want to view, you can use the line command toposition the listing accordingly. See Viewing the Online Listing for details.

Finding a Definition or Searching Using the Search = Field

Use the Search= field to define or search for data as follows.

To display the definition of a data item:

1. Enter a data item name up to 31 characters in the Search= field.

2. Press Enter to begin the search. CA-InterTest highlights the data item and itsdefinition.

To search for a data item:

1. Enter up to 31 characters in the Search= field.

2. Specify the search direction in the Option # field. (Option # 9 is SearchForward; Option # 10 is Search Backward.)

3. Press Enter to begin the search.

For COBOL nested programs, CA-InterTest first searches the current nestedprogram (indicated in the NESTED= field) for the specified data item. If the dataitem is not found in the indicated program, CA-InterTest then searches the mainprogram and other nested programs for the item.

Note: It is not necessary to enter the entire data item, label, or paragraph name;you can enter the first few characters to begin your search. For example, if youwanted to search for TASKNUM, you could enter TASK, TASKN, and so on, inthe Search= field.

Page 61: CA-Intertest for CICS User Guide

Searching for Data

Source Listing Facility 3�19

Searching the Program Online Listing

To find the next string within a program online listing, enter:

FIND string NEXT

String is any valid string (up to 31 characters in length). If the string contains ablank, it must be enclosed in apostrophes ('). If the string contains anapostrophe ('), it must be enclosed in quotes (").

To find the previous string within a program online listing, enter:

FIND string PREV

To repeat the find request, press ENTER.

Locating an Area within the Program Online Source Listing

To locate a label, line-number, offset, or special area within the program onlinesource listing, enter:

LOCATE label | line-number | hex-offset | .xx

label is any valid label with an ASSEMBER, COBOL or PL/1 program includingdatanames, CSECT, procedure, and paragraph names (up to 31 characters inlength).

Note: An all numeric COBOL paragraph name cannot be located as it will beinterpreted as a line number.

Line-number is any line number within an ASSEMBLER, COBOL or PL/1program.

Hex-offset is any offset within an ASSEMBER program and is indicated with aleading "+" character.

.xx is a special indicator depending on language as follows:

COBOL:

.PD = Procedure Division

.WS = Working-Storage Section

.LS = Linkage Section

.DM = DMAP

.PM = COBOL/VS PMAP/CLIST

.CL = COBOL/VS PMAP/CLIST

.OF = COBOL II OFFSET/LIST

.LI = COBOL II OFFSET/LIST

.DX = Data Name Cross Reference

Page 62: CA-Intertest for CICS User Guide

Searching for Data

3�20 CA-InterTest User Guide

.PX = Procedure Cross Reference

.EM = Error Messages

PL/1:

.AG = Aggregate List

.SR = Storage Registers

.SS = Static Storage

.VS = Variable Storage

.OF = Offsets

.GC = Generated Code

.PX = Procedure Cross Reference

.LX = Label Cross Reference

.DX = Data Name Cross Reference

.EM = Error Messages

ASSEM:

.C1 = 1st CSECT

.1C = 1st CSECT

.MC = Macro Catalog

.XR = Cross Reference

.LI = Literals

.EM = Error Messages

Viewing the Online Listing

Use the command line commands to position or shift the view of the listing . Youcan go to the top or bottom of the listing, shift the listing to the right or left aspecific number of characters, or position the listing to a specific line.

Page 63: CA-Intertest for CICS User Guide

Searching for Data

Source Listing Facility 3�21

Position Listing at Top

To position the listing at the top of the source code within the complete onlinelisting, enter:

TOP

Position Listing at Bottom

To position the listing at the bottom of the source code within the completeonline listing, enter:

BOTTOM

Shift Listing to the RIght

To shift the listing to the right a specific number of characters, enter:

RIGHT char count

Char-count is any valid number of characters between 1 and 49.

Default: 10

Note: The RIGHT command cannot be used on Mod5 terminals.

Shift Listing to the Left

To shift the listing to the left a specific number of characters, enter:

LEFT char-count

Char-count is any valid number of characters between 1 and 49.

Default: 10

Note: The LEFT command cannot be used on Mod5 terminals.

Shift Listing Down

To shift the listing down a specific number of lines, enter:

DOWN line-count

Line-count is any valid number of lines between 1 and 9999.

Default: 1

Page 64: CA-Intertest for CICS User Guide

Searching for Data

3�22 CA-InterTest User Guide

Shift Listing Up

To shift the listing up a specific number of lines, enter:

UP line-count

Line-count is any valid number of lines between 1 and 9999.

Default: 1

Shift Listing to a Margin Position

To shift the listing to a specific margin position, enter:

MARGIN margin value

Margin value is any valid number of characters between 1 and 50.

Note: The MARGIN command cannot be used on Mod5 terminals.

Position Listing to a Line Number

To position the listing to a specific line number , enter:

FS line-number

Line-number is any line number within an ASSEMBLER, COBOL, or PL/1program.

Position Listing to a Label

To position the listing to a specific paragraph, procedure, or label, enter:

FP label

Label is any valid label within an ASSEMBLER, COBOL or PL/1 programincluding datanames, CSECT, procedure, and paragraph names.

Page 65: CA-Intertest for CICS User Guide

Scrolling Forward and Backward

Source Listing Facility 3�23

Jump to the Indirect Commands Build Screen

To jump to the Indirect Commands build screen, enter:

IC

Jump to the Breakpoint Options Build Screen

To jump to the Breakpoint Options build screen, enter:

BPO

Note: The BPO command does not require any parameters, however acorresponding U/R/C must be placed in the lefthand line command area of thestatement requiring the breakpoint option.

Scrolling Forward and Backward

PF7 and PF8 scroll the compiler output backward and forward, respectively. Thedefault scroll amount is one page; however, you can change the scroll amount onthe Source Listing Profile screen, which is discussed in the section Customizingthe Source Listing Profile.

PF7 and PF8 do not apply to the Keep Window, within which PF19 and PF20perform the scroll forward and backward functions.

Changing the Program

At any time during testing, CA-InterTest allows you to change the program that youare working with.

Program= To change the program displayed:

1. Enter the desired program name in the Program= field.

2. Press Enter to display the listing from the beginning of the program, or usethe Option #, Statement #, or Search= fields to select another point of initialdisplay before pressing Enter:

Page 66: CA-Intertest for CICS User Guide

Positioning the Display

3�24 CA-InterTest User Guide

Positioning the Display

When you initiate the Source Listing Facility, you can easily name the programand position the display at any statement number with a single command:

LIST=progname,#nnnnn

progname is the name of the program you want to view

# is required

nnnnn is the statement number from 1 to 99999

Note: If the requested statement number is greater than the number ofstatements in the listing, the greatest number is displayed.

Assembler Programs When you initiate the Source Listing Facility you can position the Assemblerdisplay at a specific offset location in a CSECT. Use the command form:

LIST=progname,offset

progname is the name of the program you want to view

offset is a one to six hexadecimal number from 0 to FFFFFF

For example, to position the Source Listing display of program COBDEMO withstatement 99 highlighted near the top of the display area enter:

LIST=COBDEMO,#99

To position the Source Listing display of program ASMDEMO with offset 0007E8highlighted near the top of the display area enter:

LIST=ASMDEMO,7E8

You can position the display area to include more data, source listing, or storageitems using the Option #, Statement #, Margin=, and Search = fields of anySource Listing screen.

Option # To display a specific section, choose an Option # from the OPTS.

Statement # To display a particular statement, enter the desired statement number from 1 to9999 in the Statement # field, and press Enter.

Nested= To display a particular nested program, enter the program name in the Nested =field, and press Enter.

Page 67: CA-Intertest for CICS User Guide

Adjusting the Margins

Source Listing Facility 3�25

Search= To display the code defining a particular data item in Working-storage or theLinkage section, enter the data name in the Search = field, and press Enter.

To display the code surrounding a particular paragraph or label, enter theparagraph name or label name in the Search = field, and press Enter.

Displacement= To display the listing at a specific displacement in an Assembler program, enterthe displacement from 0 to FFFFFF in the Displacement= field.

Adjusting the Margins

Because certain compiler output (particularly Assembler and CA-Optimizer/IIoutput) extends beyond 80 columns, it might be necessary to adjust the displaymargins to view more of your program�s Source Listing.

Margin= To adjust the output display to view portions of the listing to the right of column80:

1. Enter the position number of the desired left margin in the Margin= field.Valid entries are 1 through 50.

2. Press Enter. The screen displays the output beginning at the positionspecified, as illustrated in the following example.

Example Assembler users often set the Margin= field to 28 as illustrated below.

CA-InterTest - PROTDEM FILE SOURCE LISTING DISPLAYCOMMAND ==>�Program= ASMDEMO Option # Stmt # Displacement= Margin= 28

Search=OPTS 1 1st CSECT 2 3 4 5 6 Xref

7 Literals 8 Err msgs 9 Srch fwd 10 Srch bwd 11 12 Bkpt optsPFKS 1 Help 2 3 End 4 Profile 5 Monitor 6 Menu

7 Backward 8 Forward 9 10 11 12 Status------------+--------------------------------------------------------------------

LOC STMT SOURCE STATEMENT000000 463+ STM 14,12,12(13) SAVE CALLER'S REGISTERS

464+***************************************************************465+* ESTABLISH CODE ADDRESSIBILITY466+***************************************************************467+ USING *-4,2,3,4,7

000004 468+ LR 2,15000006 469+ LR 3,2000008 470+ AH 3,DFHEI4K00000C 471+ LR 4,300000E 472+ AH 4,DFHEI4K000012 473+ LR 7,4000014 474+ AH 7,DFHEI4K

475+***************************************************************476+* OBTAIN DYNAMIC STORAGE

Page 68: CA-Intertest for CICS User Guide

Customizing the Source Listing Profile

3�26 CA-InterTest User Guide

Note the following:

� The statement or location numbers stay on the screen as the rest of thedisplay shifts left or right. A plus sign (+) in the line above the display areaindicates the column where shifting begins.

� If there is no output beyond column 80, CA-InterTest overrides a marginsetting greater than 1 and redisplays columns 1 through 80.

Customizing the Source Listing Profile

CA-InterTest was designed with the user in mind. The Source Listing Profile letsyou set specific functions that will help you meet your testing needs.

Access To access the Profile, type profile on the command line and press Enter, or pressPF4 while viewing the Source Listing or Breakpoint screen. The Profile appearsin the bottom of your screen.

CA-InterTest for CICS 6.0 - PROTDEM FILE SOURCE LISTING PROFILECOMMAND ===>Program= COBDEMO Option # Stmt # Margin= 01

Search=OPTS 1 Proc div 2 Work-stor 3 Link sect 4 D-map 5 Clst/Pmap 6 Xref

7 Proc xref 8 Err msgs 9 Srch fwd 10 Srch bwd 11 Ind cmds 12 Bkpt optsPFKS 1 Help 2 3 End 4 Auto prms 5 Monitor 6 Menu

7 Backward 8 Forward 9 10 11 12 Status---------+---------------------------------------------------------------------Display titles = R Y (Titles), N (No titles), or R (Registers)PF7/8 amount = PAGE PAGE, HALF, STOP, or a number from 1 to 9999Stepping amount = 001 The number of verbs to executeAuto-stepping = OFF ON to activate; press PF4 to change valuesSource List BKPT = ON OFF to use the detailed breakpoint displayFrom terminal ID = G001 Terminal ID where the program will executeBKPT terminal ID = G001 Terminal ID to receive the breakpoint displaysUser ID = .ANY User ID who will execute this programAutoKeep Display = ON OFF to deactivateCode Counting = OFF ON to activate Code Coverage

Each Profile option has a default setting; therefore, it is not necessary to changethe options in the Profile screen unless you want to change the default settingsfor your test session.

Displaying Titles, No Titles, or Registers

The default for Display Titles is Y; however, your site might have changed thedefault setting during installation. This setting displays the title and header linesof your Source Listing Display, including the option and PF key descriptions.

Page 69: CA-Intertest for CICS User Guide

Customizing the Source Listing Profile

Source Listing Facility 3�27

Display Titles=N The top portion of a Source Listing Display with Display Titles = N is shownbelow.

CA-InterTest for CICS 6.0 - PROTDEM FILE SOURCE LISTING DISPLAYCOMMAND ===>Program= COBDEMO Option # Stmt # Margin= 01

Search=---------+---------------------------------------------------------------------

00001 ID DIVISION.00002 PROGRAM-ID. COBDEMO.

To display more lines of your program�s source listing instead of the titles for theOptions and PF keys:

1. Type profile on the command line and press Enter, or press PF4 from theSource Listing screen to access the Profile screen.

2. Overtype the Y with N in the Display Titles= field.

3. Press Enter. CA-InterTest replaces the option and PF key descriptions withmore lines of your program�s source listing.

Display Titles=R The top portion of a Source Listing Display with Display Titles = R is shownbelow.

CA-InterTest - PROTSYM FILE SOURCE LISTING BREAKPOINTCOMMAND ===>Program= ASMDEMO Option # Stmt # Displacement= Margin= 01

Search=-------------------------------------------------------------------------------R0-R7 00394116 0038CCA0 00394028 00395028 00396028 000001D5 00000232 00397028R8-R15 00000000 00000000 07B8CD88 0038C0C4 007B5000 0038CC38 403940F4 00000000Cond. Code = 0 Amode = 24----------+--------------------------------------------------------------------

_ 00001 ID DIVISION._ 00002 PROGRAM-ID. COBDEMO.

...

To display your program�s registers instead of the titles for the Options and PFkeys:

1. Type profile on the command line and press Enter, or press PF4 from theSource Listing screen to access the Profile screen.

2. Overtype Y with R in the Display Titles= field.

3. Press Enter. When you execute your program with Display Titles=R , the title andheader lines on your Source Listing Display are replaced with your program�sregisters and a Conditional Code line.

Note: All options and PF keys remain valid entries.

Page 70: CA-Intertest for CICS User Guide

Customizing the Source Listing Profile

3�28 CA-InterTest User Guide

Display Titles=Y To switch back to the Display Titles format:

1. Press PF4 to access the Source Listing Profile screen.

2. Specify Display Titles=Y.

3. Press Enter. The option and PF key descriptions are redisplayed.

Modifying andLocating ProgramRegisters

When Display Titles= R, CA-InterTest replaces the title lines with the contents ofyour program�s registers, as illustrated in the following figure.

Registers

CA-InterTest - PROTDEM FILE SOURCE LISTING DISPLAYCommand ==>Program= COBDEMO Option # Stmt # Margin= 01

Search=-------------------------------------------------------------------------------R0-R7 00000002 00217484 002EDBCA 002ED534 0020831C FF004000 0021504C 0021604CR8-R15 0021704C 002EEF96 002EB020 002EB020 002ED520 002171D4 002083D0 002EF038Cond. Code = 2 Amode = 24-------------------------------------------------------------------------------

01050 MOVE ' ' TO DFHEIV0 CALL 'DFHEI1' USING01051 DFHEIV0.01052 IF EIBAID = DFHCLEAR GO TO SEND-END-MSG.01053 IF EIBAID = DFHPF3 GO TO SEND-END-MSG.01054 IF EIBAID = DFHPF12 GO TO EXPANDED-DEMO.01055 CONTINUE-TASK.01056**** TASKNUM *NOTE* FIELD MUST BE INITIALIZED

A ==> ADD +1 TO TASKNUM.01058 IF TASKNUM = 101059 MOVE THIRD-SCREEN-TEXT TO MSG-SCREEN-TEXT01060 MOVE THIRD-SCREEN-LEN TO MSG-SCREEN-LEN.01061 IF TASKNUM = 201062 MOVE FOURTH-SCREEN-TEXT TO MSG-SCREEN-TEXT01063 MOVE FOURTH-SCREEN-LEN TO MSG-SCREEN-LEN.

_ 01064 IF TASKNUM GREATER 2

When registers are displayed, the line below the registers contains:

� Cond. Code = reveals the current condition code and lets you know whatbranch is about to execute before it actually occurs.

� Amode = displays the current addressing mode of the program. Valid valuesare 24 and 31.

� ExecKey = displays the current ExecKey for the breakpointed program if theCICS Storage Protection Option is active, depending on the option specified inthe program definition. User or CICS are valid values. (This option is notillustrated in this example.)

� TransIsolate = displays the breakpointed task�s transaction isolation optionif the CICS Transaction Isolation Option is active. (This option is notillustrated in this example.)

You can easily modify the program�s registers:

1. Overtype the displayed contents with the desired value.

2. Press Enter. Your changes take effect immediately.

Page 71: CA-Intertest for CICS User Guide

Customizing the Source Listing Profile

Source Listing Facility 3�29

To view the area pointed to by a register:

1. Overtype the first displayed character of the register with either an at sign,@, for a 24-bit address or with a percent sign, %, for a 31-bit address.:

2. Press Enter. CA-InterTest displays the area pointed to by the specifiedregister.

Setting the Scroll Amount

The scroll amount determines how much more of your source listing will bedisplayed each time you use PF7 or PF8.

To set the scroll amount for scrolling backward and forward (PF7 and PF8):

1. Type profile on the command line and press Enter, or press PF4 from aSource Listing screen to display the Profile screen.

2. Overtype the current PF7/8 Amount=entry with one of the following:

PAGE The size (number of lines) of the display area on the SourceListing Display and Breakpoint screens.

HALF Half the size of the display area.

nnnn Any number of lines from 1 to 9999.

STOP Go to the next or previous breakpoint in the program.

3. Press Enter. The change takes effect immediately, and you return to theSource Listing Display screen.

Tip: Setting the Scroll Amount to STOP is an excellent way to review all ofthe breakpoints set in your program.

Note: PF7 and PF8 do not apply to the Keep Window, within which PF19 andPF20 perform the forward and backward functions.

Page 72: CA-Intertest for CICS User Guide

Customizing the Source Listing Profile

3�30 CA-InterTest User Guide

Setting the Step Amount

The step amount determines how many COBOL verbs, Assembler instructions,or PL/I statements will be executed at a time when you use PF10 to single-stepthrough your program.

Stepping Amount= To set the step amount for PF10:

1. Type profile on the command line and press Enter, or press PF4 to access theProfile screen from any Source Listing screen.

2. Enter the desired number of COBOL verbs, Assembler instructions, or PL/Istatements from 1 to 999 in the Stepping amount= field.

3. Press Enter. When the Source Listing Breakpoint screen is redisplayed, thenew step amount is reflected in the PF10 (Single-step) definition, asillustrated in the following example.

Example The Source Listing Breakpoint display in the following figure shows a PF10 stepamount set to 004 Verbs.

CA-InterTest - PROTDEM FILE SOURCE LISTING BREAKPOINTCommand ==>Program= COBDEMO Option # Stmt # Margin= 01

Search=OPTS 1 Proc div 2 Work-stor 3 Link sect 4 D-map 5 Clst/Pmap 6 Xref

7 Proc xref 8 Err msgs 9 Srch fwd 10 Srch bwd 11 Ind cmds 12 Bkpt optsPFKS 1 Help 2 3 Det Bkpt 4 Profile 5 Resume 6 Menu

7 Backward 8 Forward 9 10 004 Verbs 11 Backtrace 12 Status-------------------------------------------------------------------------------_ 00880 CONTINUE-TASK.00881**** TASKNUM *NOTE* FIELD MUST BE INITIALIZED

A ==> ADD +1 TO TASKNUM.==>==> ASRA abend (0C7) detected and prevented. Caused by invalid decimal==> arithmetic data format.==>==> Press PF1 for a detailed description.==>

_ 00883 IF TASKNUM = 1_ 00884 MOVE 'DMAPASR' TO MAPNAME._ 00885 IF TASKNUM = 2_ 00886 MOVE 'DMAPSUM' TO MAPNAME._ 00887 IF TASKNUM GREATER 2_ 00888 GO TO SEND-END-MSG.

Note: The step value of PF10 on the Source Listing Breakpoint screen does notapply to the PF10 definition on the Detailed Breakpoint screen, which isdiscussed in the section Using the Detailed Breakpoint Screen.

The Stepping Amount parameter can also be used to enable the automatictracing feature of the Source Listing Backtrace. When the Stepping Amount is setto any number greater than one, the new value becomes the number ofstatements CA-InterTest traces on the Source Listing Backtrace. (PF9 tracesbackward; PF10 traces forward.) For more information on this feature, refer tothe section Using the Backtrace Facility.

Page 73: CA-Intertest for CICS User Guide

Customizing the Source Listing Profile

Source Listing Facility 3�31

Turning on Automatic Single-Stepping

Automatic single-stepping allows you to go through your source listing aspecified number of steps at specified time intervals.

Auto-stepping= ON To access the Auto-stepping Parameters screen:

1. Type profile on the command line and press Enter, or press PF4 from anySource Listing display. The Source Listing Profile is displayed.

2. Specify Auto-stepping= ON.

3. Press PF4 to activate your specification. The auto-stepping parameters aredisplayed.

When Auto stepping= ON, the defaults are to:

� Pause one second before repeating single-stepping or automatic tracing

� Stop at the next CICS command, macro, or call

The auto-stepping parameters are illustrated in the screen below.

CA-InterTest - PROTDEM FILE SOURCE LISTING PROFILECOMMAND ==>Program= COBDEMO Option # Stmt # Margin= 01

Search=OPTS 1 Proc div 2 Work-stor 3 Link sect 4 D-map 5 Clst/Pmap 6 Xref

7 Proc xref 8 Err msgs 9 Srch fwd 10 Srch bwd 11 Ind cmds 12 Bkpt optsPFKS 1 Help 2 3 Det Bkpt 4 Profile 5 Resume 6 Menu

7 Backward 8 Forward 9 10 004 Verbs 11 Backtrace 12 Status-------------------------------------------------------------------------------

Auto-stepping parameters

Wait amount = 01 Enter the number of seconds to wait at each step (1 - 59)

Stop value = CALL Enter CALL to halt stepping at any COMMAND, MACRO, or CALL,or the maximum number of steps to execute (1 - 9999)

To change the automatic stepping amount:

1. Type profile on the command line and press Enter, or press PF4 from theProfile screen to access the auto-stepping parameters.

2. Specify the following options:

Wait amount Enter the number of seconds from 1 to 59 that CA-InterTestshould pause at each single-step breakpoint.

Stop value Enter a value that determines when automatic single-stepping should terminate, either at a CICS command,macro, or call, or after a specified number of steps areexecuted.

Page 74: CA-Intertest for CICS User Guide

Customizing the Source Listing Profile

3�32 CA-InterTest User Guide

3. Press Enter to process the new settings and return to the Profile screen.

4. Press Enter again to return to the Source Listing display or breakpoint screen.

Setting the Breakpoint Display Mode

CA-InterTest has two breakpoint displays:

� The Source Listing Breakpoint version, which allows you to do your testingdirectly from your source listing.

� The Detailed Breakpoint display, which requires you to use one-lineCA-InterTest commands and other menus. This display is described in thesection Using the Detailed Breakpoint Display Screen.

The initial display mode depends on the setting chosen when CA-InterTest wasinstalled; however, you can change the display mode at any time by using theProfile screen. This change remains in effect until the Source List BKPT= settingis changed.

Source List BKPT= To change the breakpoint display mode:

1. Type profile on the command line and press Enter, or press PF4 to displaythe Profile screen. The Source List BKPT= field shows the current setting.

2. Overtype the current value with one of the following:

ON Displays the Source Listing Breakpoint.

OFF Displays the Detailed Breakpoint.

3. Press Enter to process the new setting and to return to the Source ListingDisplay screen.

Note: The default value of the Source List BKPT= field is a system-wide,CA-InterTest installation option. To change the default value, have your SystemAdministrator consult the CA-InterTest for CICS Getting Started.

Setting the From and BKPT Terminal IDs

From Terminal ID= From Terminal ID identifies where the program will execute. The default for theFrom Terminal ID setting depends on your system�s installation option value forDFLTUSER.

� When DFLTUSER=.ANY is in effect, the default is the terminal that isdisplaying the source listing.

� When DFLTUSER=SPECIFIC is in effect and the user is signed on to CICS,the default is .ANY. This entry tells CA-InterTest to monitor the programwhen it runs from .ANY terminal wherever the user is signed on to CICS.

Page 75: CA-Intertest for CICS User Guide

Customizing the Source Listing Profile

Source Listing Facility 3�33

To change the default From Terminal ID:

1. Type profile on the command line and press Enter, or press PF4 from theSource Listing display to access the Source Listing Profile screen.

2. Overtype the entry in the From Terminal ID field to specify where theprogram will run. Valid entries are:terminal ID Runs from the specified terminal

* Runs from current terminal displaying this profile screen

.ANY Runs from any terminal or even without a terminal

.NO Monitor only when this program runs as a backgroundtransaction without a terminal.

Note: The BKPT terminal ID must be set to a specific3270-type terminal that will receive the breakpoints. IfFrom terminal ID is .NO and the BKPT terminal ID is.NO or .ANY, the breakpointed task is abended with anINTE abend when the first breakpoint is encountered.

3. Press Enter to process the new From Terminal ID setting and to return to theSource Listing Display.

BKPT Terminal ID= From Terminal ID identifies the terminal where breakpoints will display. Thedefault for the BKPT Terminal ID depends on your system�s installation optionvalue for DFLTUSER. To view your system�s installation options online, useITST Option 7.1.2.

� When DFLTUSER=.ANY is in effect, the default is the terminal that isdisplaying the source listing.

� When DFLTUSER=SPECIFIC is in effect and the user is signed on to CICS,the default is .ANY. This entry tells CA-InterTest to send the breakpoints toany terminal where the user is signed on to CICS.

Page 76: CA-Intertest for CICS User Guide

Customizing the Source Listing Profile

3�34 CA-InterTest User Guide

To change the default:

1. Type profile on the command line and press Enter, or press PF4 from theSource Listing display to access the Source Listing Profile screen.

2. Overtype the entry in the BKPT Terminal ID field to specify the terminal toreceive the breakpoint displays. Valid entries are:terminal ID Displays breakpoints at the specified terminal.

* Displays breakpoints at the terminal displaying thisprofile screen

.ANY For transactions executing at a 3270-type terminal, thebreakpoint will display on the executing terminal.

If the transaction runs as a background task without aterminal, the transaction abends with an INTE abendwhen the first breakpoint is to be displayed.

.NO The breakpointed task abends with an INTE abendwhen the first breakpoint is to be displayed.

3. Press Enter to process the new BKPT Terminal ID setting and to return to theSource Listing Display.

Setting the User ID

CA-InterTest monitoring is sensitive to user IDs. You can monitor programs andset breakpoints and other monitoring options with the user ID set to .ANY, or theuser ID set to a specific CICS user ID (in a secure CICS region). When the user IDis set to .ANY, everyone is monitored and the breakpoints and other monitoringoptions that you set take effect only if the program executes from the terminalused to set the breakpoints. When the user ID is set to a specific user ID, onlythat user is monitored, and the breakpoints and other monitoring options aredirected to wherever the specified user is logged onto CICS.

User ID= The default is either the current CICS user, or .ANY. To change the default:

1. Type profile on the command line and press Enter, or press PF4 from theSource Listing display, to access the Source Listing Profile screen.

2. Overtype the entry in the User ID field to specify the CICS user who mustexecute the program for monitoring and breakpoints to take effect. Validentries are:

Page 77: CA-Intertest for CICS User Guide

Customizing the Source Listing Profile

Source Listing Facility 3�35

specific user-ID Monitoring and breakpoints take effect only whenthe specific CICS user executes the program. Thisestablishes a personal debugging session for theCICS user and directs breakpoints to whateverterminal the user is signed on to.

.ANY Monitoring and breakpoints take effect when anyoneexecutes the program.

3. Press Enter to process the new user ID setting and to return to the SourceListing Display.

Note: If you override the default user ID setting, check the Profile before eachSource Listing Session and before you set additional breakpoints during a testsession.

Setting the Keep Window to Display Variables in Current Statement

AUTOKEEP allows you to display items in the Keep Window concerning thecurrently highlighted statement.

The initial setting for AUTOKEEP is chosen when CA-InterTest is installed. If theIN25OPTS parameter SLBAKEEP is set to yes, which is the default, AUTOKEEPwill be active. However, you can use the Profile screen to turn AUTOKEEP off oron again at any time.

AutoKeep Display= To change the setting for AUTOKEEP:

1. Type profile on the command line and press Enter, or press PF4 to access theProfile screen from any Source Listing Screen. The AutoKeep Display = fieldshows the current setting.

2. Overtype the current value with one of the following:

YES Displays in the Keep Window, the variables being manipulatedin the current statement, along with any data items you haverequested to be displayed.

NO Displays in the Keep Window only the data items you haverequested to be displayed.

3. Press Enter to process the new setting and to return to the Source ListingDisplay screen.

Setting Code Coverage

Code Coverage (Counts) allows you to see the number of times a verb has beenexecuted.

Page 78: CA-Intertest for CICS User Guide

Testing Activities

3�36 CA-InterTest User Guide

The initial setting for Code Counting is off, which is the default. However, youcan use the Profile screen to turn Code Coverage off or on again at any time.

How the counts are displayed/not displayed is handled by the primary linecommand COUNTS with its associated parameters.

This feature, due to its nature, does cause overhead during monitoring andshould be turned off as soon as it is no longer needed.

Code Counting= To change the setting for Code Coverage:

1. Type profile on the command line and press Enter, or press PF4 to access theProfile screen from any Source Listing Screen. The Code Counting= fieldshows the current setting.

2. Overtype the current value with one of the following:

YES Enables code counting and turns on the COUNTER displayfeature.

NO Removes the COUNTER display and stops the counting feature.

Press Enter to process the new setting and to return to the Source Listing Displayscreen

Testing Activities

Setting Monitoring

A CICS user ID is assigned to all monitoring requests. Depending on howCA-InterTest was installed at your site, the default may be to set monitoring for.ANY user, or to set monitoring for a specific CICS user. The following topicsdiscuss how these settings affect your test session.

As long as you are working in a secure CICS region, you can override the defaultuser ID setting using the Profile display. You should check how the user ID is setprior to setting breakpoints or monitoring for a program.

Monitoring with User ID=.ANY

Setting monitoring with a user ID of .ANY is the same as monitoring in earlierCICS releases: the program is monitored when ANY user executes the program,and breakpoints are displayed by default on the same terminal where they wereset.

Page 79: CA-Intertest for CICS User Guide

Testing Activities

Source Listing Facility 3�37

Monitoring with a Specific User ID

When you set monitoring for a program with a specific user ID, CA-InterTestonly monitors the program when it is executed by that user. In addition,breakpoints are displayed at whatever terminal that user is signed on to. Ofcourse, this option requires a secure CICS region and the user to be signed on toCICS when testing the program.

Monitoring with your specific user ID has advantages over monitoring with userID=.ANY:

� You can change terminals and your breakpoints and monitoring options willfollow you.

� Your testing will not interfere with any one else testing the same program.

� You can use a multi-session terminal emulator package and havebreakpoints directed to whatever terminal session you are using.

Viewing and Setting the User ID

To view or set the user ID that will be used for monitoring and breakpoints,access the Source Listing Profile. To access the Profile, either enter PROFILE onthe Command line and press Enter, or press PF4. The User ID field is at thebottom of the Profile. To change its value, delete the current entry, type in thenew entry, and press Enter.

Also check the Terminal ID field just above the User ID field. Generally, youwant Terminal ID set to .ANY when User ID is specific, and Terminal ID set to aspecific terminal ID when User ID is .ANY.

Notes: Press PF1 for field-level help.

Press PF4 to exit the Profile and return to the Source Listing Display.

Setting Monitoring for a Displayed Program

To set monitoring for the program you are viewing, you can enter MONITOR inthe Command line, or press PF5. CA-InterTest processes the requestimmediately using the user ID value currently set in the Source Listing Profile.

Note: If you are going to set any breakpoints, you can skip this step; setting abreakpoint automatically sets monitoring for the program.

Page 80: CA-Intertest for CICS User Guide

Testing Activities

3�38 CA-InterTest User Guide

Monitoring Multiple Programs

If you plan to test more than one program, you need to set monitoring andbreakpoints for each program. If a program to be tested passes control toanother program using XCTL or LINK, you also must set monitoring for thereceiving program. Also, refer to the section Monitoring Dynamically CalledCOBOL II and COBOL/370 Programs for more information.

To display another program, overtype the program name in the Program= field.You can specify where you want to begin the program�s display by using theOption #, Stmt #, and Search = or Assembler Displacement fields. Press Enter toprocess your request. Refer to the section Changing the Program and Positioningthe Display for details.

With the new program displayed, repeat the steps to set monitoring andbreakpoints.

Displaying and Searching Through Nested Programs

CA-InterTest provides support for COBOL II nested programs, when the COBOLnested programs are recompiled with the COBOL II post-compiler provided withthese releases.

COBOL II nested programs allow non-unique paragraph and data names to bedefined across nested programs. Therefore, CA-InterTest can support qualifiednames for COBOL programs. A qualified name consists of a one- to 30-byteCOBOL program name, a colon, and a one- to 30-byte paragraph or data name.For example, program1:datanam1 is a qualified name. Qualified names ensurethat the correct version of datanam1, which can be defined in multiple programs,is displayed. Qualified names are supported by the Source Listing facility, theBreakpoint facility, CNTL commands and menus, and by the IndirectCommands facility.

When CA-InterTest displays the source code for a nested program, the Nested=field is displayed below the Program= field. The Nested= field is 30 bytes long,and indicates the name of the nested program for the currently displayed sourcecode. If you are using the Source Listing facility to display a COBOL nestedprogram and you press PF8 to scroll through the entire source code of theprogram, the Nested= field changes each time the source code for a differentnested program is displayed.

Page 81: CA-Intertest for CICS User Guide

Maintaining Synchronized Processing

Source Listing Facility 3�39

The names of all nested programs within a specific COBOL program are listed atthe end of the Procedure Name Cross Reference section (Option # 7).

CA-InterTest - PROTDEM FILE SOURCE LISTING DISPLAYCOMMAND ===>Program= ACME2000 Option # Stmt # Margin= 01Nested= Search=OPTS 1 Proc div 2 Work-stor 3 Link sect 4 D-map 5 Clst/Pmap 6 Xref

7 Proc xref 8 Err msgs 9 Srch fwd 10 Srch bwd 11 Ind cmds 12 Bkpt optsPFKS 1 Help 2 3 End 4 Profile 5 Monitor 6 Menu

7 Backward 8 Forward 9 10 11 12 Status---------+---------------------------------------------------------------------_ DEFINED PROCEDURE NAMES REFERENCES_ 122 3000-REGISTER-HANDLER P107_ 131 4000-FORCE-ABEND P108_ 139 5000-HANDLE-ROUTINE D129_ 152 9000-RETURN P109_ 168 9999-GOBACK_ 227 9999-GOBACK P221DEFINED CROSS-REFERENCE OF PROGRAMS REFERENCESEXTERNAL ACME200A . . . . . . . . . . . 120

171 ACME200N . . . . . . . . . . . 229 1142 ACME2000 . . . . . . . . . . . 230

EXTERNAL ACME2001 . . . . . . . . . . . 117EXTERNAL DFHEI1 . . . . . . . . . . . . 127 137 147 160 166NESTED PROGRAM MAPPROGRAM ATTRIBUTE CODES (RIGHTMOST COLUMN) HAVE THE FOLLOWING MEANINGS:

Listing of Nested Programs

The Nested= field also indicates the nested program that Option # 1, 2, and 3apply to, and the nested program that CA-InterTest searches first for any dataname or paragraph name that you specify in the Search= field. If a paragraphname or data name is not found in the specified nested program, CA-InterTestthen searches the main program.

For example, if Option # 2 and Nested=program2 are specified, the WorkingStorage section for nested program program2 is displayed. Also, ifNested=program3 and Search=datanam1are specified, nested program program3is searched first for datanam1; if datanam1 is not found, the main program issearched for datanam1.

Maintaining Synchronized Processing

When CA-InterTest searches the symbolic files for the COBOL and PL/Iprograms that you specify, it tries to match the date and time in the symbolic fileto that of the load module. If a match cannot be found, either a Symbolic VersionList or a warning message is displayed.

When CA-InterTest searches the symbolic files for the Assembler programs thatyou specify, the Symbolic Version List is displayed if multiple symbolic versionsof a program are found.

Page 82: CA-Intertest for CICS User Guide

Maintaining Synchronized Processing

3�40 CA-InterTest User Guide

COBOL and PL/I Symbolic Version Processing

When you use LIST=program or CNTL=ON, PROG=program to request a COBOLor PL/I program that has no previously declared breakpoints or monitoringoptions set, CA-InterTest matches the most recently compiled symbolic file dateand time to the load module date and time.

� If an exact match is found, CA-InterTest automatically selects and displays it.

� If a match is not found, CA-InterTest displays the Symbolic Version List fromwhich you can either:� Select the appropriate symbolic file

� Ignore symbolic processing for the program

The Symbolic Version List screen might also explain the cause of themismatch.

During Automatic Breakpoint processing, if a program has no previouslyselected symbolic file, CA-InterTest matches the load module�s date and time to asymbolic file.

� If an exact match is found, CA-InterTest automatically selects and displays it.

� If a match is not found, CA-InterTest automatically selects the first symbolic filethat contains the program and displays it with a warning message on the firstSource Listing Breakpoint screen indicating the mismatch.

Once a symbolic file has been selected for a program, CA-InterTest continues touse the selected file and bypasses subsequent date and time matching until alldeclared breakpoints and monitoring options are removed from the program, oruntil a CNTL=NEW,PROG=program command is executed. The New Copyoption is also available from the Program Monitoring menu, ITST Option 2.1.

Page 83: CA-Intertest for CICS User Guide

Maintaining Synchronized Processing

Source Listing Facility 3�41

For PL/I Programs Successful date and time matching for PL/I modules requires PL/I programs bepost-compiled using the following:

� IN25SYMP from CA-InterTest 5.3 or above (ESA systems) or CA-InterTest4.4 (non-ESA systems)

� the PL/I compiler installed TSTAMP=YES option, which is the default

Note: If PL/I programs were compiled with IN25SYMP from CA-InterTest 5.3or 5.4 and the program contains arrays, the program will need to re-compiledwith the IN25SYMP from the 6.0 release to display PL1 array variables during aprogram breakpoint.

Assembler Symbolic Version Processing

Assembler programs have no internal date and time generated by the compiler,which prevents date and time matching. However, when LIST=program orCNTL=ON,PROG=program is requested for an Assembler program with multiplesymbolic versions and no previously declared breakpoints or monitoringoptions, CA-InterTest displays a Symbolic Version List from which you caneither select the appropriate symbolic file or ignore symbolic processing for theprogram.

During Automatic Breakpoint processing, if an Assembler program has nopreviously selected symbolic file and has multiple symbolic file versions,CA-InterTest automatically displays the first symbolic file in your concatenation.

Once a symbolic file has been selected for an Assembler program, CA-InterTestcontinues to use the selected file and bypasses subsequent date and time matchinguntil all declared breakpoints and monitoring options are removed from the program,or until a CNTL=NEW,PROG=program command is executed.

Using the Symbolic Version List

The Symbolic Version List allows you to select the appropriate symbolic file orexit CA-InterTest and find out why a date and time mismatch occurred.

� To select a symbolic File ID, place an S next to the File ID.

� To exit CA-InterTest without viewing any symbolic file, press PF3.

� To see why a mismatch occurred, consult the Comment column.

Page 84: CA-Intertest for CICS User Guide

Maintaining Synchronized Processing

3�42 CA-InterTest User Guide

The following figure illustrates a sample Symbolic Version List, which isdisplayed when the LIST or CNTL transactions cannot determine whichsymbolic file to use.

CA-InterTest - Symbolic Version List

�Program = COBDEMO � Load Module Date and time = 07/07/94 9.44.13

� � � �File ID Date Time Language Comments

_ PROTDEM 07/24/94 11.44.13 COBOL Latest Version_ PROTTST 07/24/94 10.59.00 COBOL Update Mode_ PROTACC 07/23/94 12.52.00 COBOL_ PROTPRO 07/23/94 10.01.00 COBOL

S - Select which Symbolic file to use for program display-------------------------------------------------------------------------------PFKEYS: 1 Help 2 3 No File 4 5 6

7 8 9 10 11 12CAIN8000 The latest Symbolic version does not match the current load module

� Specifies the name of the program being processed.

� Displays the internal date and time from the COBOL or PL/I load module. Thisfield is not displayed for Assembler programs or for PL/I programs compiledwith a compiler that was installed with the TSTAMP=NO installation option.

� Displays the names of each version of the symbolic file that contains a copyof the specified program.

� Lists dates and times that each version of the symbolic file was compiled.

� Displays the language of the compiled program.

� Displays information about the version listed in the File ID column, and canalso explain the reason for the date and time mismatch. Comments include:

Update Mode�the program is being updated by the batch post-compilerutility. It could also mean that the PROTSYM ran out of space while a post-compiler was processing this program.

Date and time Match�the program compile date and time matches the loadmodule date and time, but it is not the most recently compiled version of theprogram.

Latest Version�the program compile date and time is the most recentlycompiled version of the program, but it does not match the load module dateand time.

� Lists the PF keys available from this screen.

PF1�Accesses the Help facility.

PF3�Exit the Symbolic Version List and ignore symbolic processing.

Page 85: CA-Intertest for CICS User Guide

Maintaining Synchronized Processing

Source Listing Facility 3�43

� Can contain one of the following messages.

CAIN8000 The latest Symbolic version does not match the current load module.

Multiple versions of the program exist, and the date and time in the currentload module does not match the most recently compiled program version. Ifan older version of the program matches the load module�s date and time, itis indicated by �Date and time Match� in Comments.

Action: If the load module is correct, and you did not forget to do a NewCopy, select the symbolic file that matches the load. If you recompiled yourprogram and forgot to do a New Copy, press Clear to cancel the request, andthen New Copy the program and retry the LIST or CNTL transaction.

CAIN8001 WARNING � SSSSSS Symbolic yydd/hh:mm mismatches loadyydd/hh:mm.

Your CA-InterTest symbolic files and program load module are out of sync.This message also appears on the Source Listing Breakpoint screen when abreakpoint is about to be displayed for a COBOL or PL/I program whosesymbolic file compile dates and times do not match the active load module�sinternal date and time.

Action: Ensure that symbolic file members match the active load module.Causes can be:

� A program was recompiled and a New Copy was not performed.

� One or more of your symbolic files are defined incorrectly or are notavailable. Use VRPT transaction Option 3 to list the status of the symbolicfiles defined in your CICS region.

CAIN8002 WARNING � Symbolic file date and time not equal to module date andtime.

Your CA-InterTest symbolic files and program load module are out of sync.This message appears when the LIST or CNTL transactions cannot find amatching load module for a COBOL or PL/I program. This message alsoappears on the Source Listing Breakpoint screen when a breakpoint is aboutto be displayed for a COBOL or PL/I program whose Symbolic file compiledates and times do not match the active load module�s internal date andtime.

Action: Take the same Action specified for message CAIN8001.

CAIN8003 Invalid character entered.

A character other than S was specified. You must use S to select a symbolicfile.

Page 86: CA-Intertest for CICS User Guide

Setting Breakpoints

3�44 CA-InterTest User Guide

CAIN8004 No selection made.

Enter was pressed but no selection was made. Use S to select a symbolic fileor press Clear.

CAIN8005 Only one �S� may be entered.

You specified more than one S. Specify one S to select the symbolic file thatyou want to use.

Setting Breakpoints

A breakpoint halts execution of your program. CA-InterTest halts the programbefore the instruction at a breakpoint location is executed.

There are four types of breakpoints that you can set in a program:

Breakpoint Action

Unconditional Stops at a specified program location.

Conditional Stops at a specified program location when a specifiedcondition is met.

Variable-change Stops when the value of a specified variable changes; forCOBOL and Assembler only.

Request Stops at a CICS command or macro or at calls to software.

Breakpoints can be set from the Source Listing Display prior to programexecution, from any breakpoint during program execution, or from theMonitoring menus at any time; see the chapter �Using Breakpoints� for details.

Removing Breakpoints

User breakpoints can be removed as quickly as they were set. In addition topreviously supported methods of removing breakpoints, you use the MonitoringStatus display to quickly remove any type of breakpoint. The details forremoving breakpoints can be found in the chapters �Menus and Displays� and�Using Breakpoints.�

Page 87: CA-Intertest for CICS User Guide

Running Your Program

Source Listing Facility 3�45

Automatic breakpoints can be removed only if the error is corrected; however,you can go around the error and begin execution from another point. Refer tothe chapters �Breakpoint Activities� and �Resume and Execution Options� fordetails.

Running Your ProgramAfter setting monitoring and breakpoints for each program you want to test, youare ready to begin testing.

1. Exit the Source Listing facility by pressing PF3 or Clear. If you accessed aCA-InterTest screen outside the Source Listing facility, you might have topress Clear more than once to return to CICS. CA-InterTest responds withthe message:

Lister Function Terminated.

2. Initiate the program as you normally would from CICS. Depending on whatbreakpoints you set and what processing paths your program takes, one ofthe following occurs:

� CA-InterTest stops the transaction at a breakpoint (either one you set orone CA-InterTest automatically triggered0 because the program wasabout to violate a CICS coding standard.

� The application runs to completion without being stopped byCA-InterTest. The results might not be correct.

Note: If the program ends and you get incorrect results or need to test other logicpaths, initiate LIST again and set additional breakpoints before retesting the program.You do not have to reset monitoring; it remains in effect until specifically removed.

Breakpoint Activities

The chapter �Breakpoint Activities� explains all of the ways you can useCA-InterTest at a breakpoint. Included are the following topics:

� How to use the breakpoint displays

� Working with data at a breakpoint

� Displaying and modifying main storage

� Using the keep window

� Displaying and modifying auxiliary storage

� Using the Backtrace facility

� Using Indirect Commands

Page 88: CA-Intertest for CICS User Guide

Exiting the Source Listing Facility

3�46 CA-InterTest User Guide

Exiting the Source Listing Facility

Type END on the Command line and press Enter to exit the Source ListingFacility or exit the menus using =X .

Page 89: CA-Intertest for CICS User Guide

Using Breakpoints 4�1

Chapter

4 Using Breakpoints

This chapter explains how to use the Source Listing facility and the menus to setand remove breakpoints in your programs. There are four user-breakpointtypes: unconditional, conditional, variable-change, and request breakpoints. Thefirst sections describe how to set each type, giving alternative methods from theSource Listing and the menus, and then the later sections discuss how to removethe breakpoints.

Note: You can also set and remove breakpoints using CNTL commands. See the�CNTL Commands and Menus� chapter. A convenient way to removebreakpoints is available from the Monitoring Status display. For details, see the�Menus and Displays� chapter.

Setting Breakpoints

A breakpoint halts execution of your program. CA-InterTest for CICS halts theprogram at a breakpoint location before the instruction is executed.

There are four types of breakpoints that you can set in a program:

Breakpoint Action

Unconditional Stops at a specified program location.

Conditional Stops at a specified program location when a specifiedcondition is met.

Variable-change Stops when the value of a specified variable changes.

Request Stops at a CICS command or macro or at calls to software.

Setting a breakpoint automatically sets monitoring for that program, so if you aresetting a breakpoint before you execute a program, you do not need to setmonitoring for the program.

Page 90: CA-Intertest for CICS User Guide

Setting Breakpoints

4�2 CA-InterTest for CICS User Guide

Where Should You Set breakpoints to control program execution and to pinpoint errors in logic.Set Breakpoints? At a breakpoint, you can use CA-InterTest to set additional breakpoints, execute

line by line (single step), examine or change the program path, display or changemain storage, code and execute indirect commands, and display or changeauxiliary files.

When Should You Set breakpoints before program execution or whenever the program is stoppedSet Breakpoints? at a breakpoint during execution. You do not have to set all breakpoints in

advance; you can set one, start executing, and then set more when you reach abreakpoint. To review your breakpoints or remove them, you can use the StatusDisplay (PF12) at any time: before execution, from any breakpoint, or after yoursession.

Why Should You You might want to set a breakpoint at the first statement in the COBOLSet Breakpoints? Procedure Division, the Assembler CSECT, or PL/I program. This gives you the

opportunity to set the execution pace and to determine the program path thatyou want to take during testing. If program control is passed from anotherprogram, you can examine the COMMAREA at this point.

Often, breakpoints are set at the following locations for debugging purposes:

� At paragraph names to examine variables at the start of the sections

� Before a branch to dynamically control the program path during execution

� At each location named in an EXEC CICS HANDLE CONDITION to verifyerror handling

An easy way to track data items during testing is to set a variable-changebreakpoint on troublesome data, and then add the data item to a Keep Window.During program execution, the program will stop each time the variable�s valuechanges, and its value will be displayed at the top of your screen in the KeepWindow. See the chapter �Breakpoint Activities� for more information.

Page 91: CA-Intertest for CICS User Guide

Unconditional Breakpoints

Using Breakpoints 4�3

Unconditional Breakpoints

Setting Unconditional Breakpoints from the Source Listing

While you are viewing your source listing (either before execution or during abreakpoint), you can set unconditional breakpoints directly in your programcode, or indirectly from the Procedure Names and Cross-Reference sections ofthe output.

To set an unconditional breakpoint from a Source Listing or Breakpoint screen:

1. Enter u in column 1 of the line in the program listing where you want thebreakpoint set, but do not press Enter. (You can enter more than one u at atime. ) You can enter u next to:

� A line of executable code

� A COBOL paragraph name

� An Assembler label

� A PL/I label

A breakpoint set at a paragraph name or label occurs before execution of thefirst verb or instruction in the paragraph.

2. Optionally, and before pressing Enter, use the Option # field and enter 12(Bkpt Options) to access the menu for specifying breakpoint options to yourunconditional breakpoints. These options let you specify:

� How often the program should stop at this breakpoint (every nth time,instead of every time)

� The terminal where breakpoints will take effect

� The terminal that will receive the breakpoints

� Indirect commands statement numbers to be executed at this breakpoint

� The user ID (or .ANY) who will execute the program

3. Press Enter to set the breakpoints. CA-InterTest flags each unconditionalbreakpoint with U.

If you used Option # 12 to set Breakpoint Options, the Breakpoint LocationsMenu is displayed where you can specify your options for the breakpoint.Complete the menu. See the section �Specifying Breakpoint Options� fordetails. After completing this menu, press Enter to set the breakpoint andreturn to the Source Listing display or breakpoint.

Page 92: CA-Intertest for CICS User Guide

Unconditional Breakpoints

4�4 CA-InterTest for CICS User Guide

The following figure shows how to set unconditional breakpoints.

CA-InterTest - PROTSYM FILE SOURCE LISTING BREAKPOINT

COMMAND ===>

Program= COBDEMO Option # Stmt # Margin= 01

Search=

OPTS 1 Proc div 2 Work-stor 3 Link sect 4 D-map 5 Clst/Pmap 6 Xref

7 Proc xref 8 Err msgs 9 Srch fwd 10 Srch bwd 11 Ind cmds 12 Bkpt opts

PFKS 1 Help 2 3 Det Bkpt 4 Profile 5 Resume 6 Menu

7 Backward 8 Forward 9 10 001 Verb 11 Backtrace 12 Status

-------------------------------------------------------------------------------

_ 01205 PERFORM CICS-LOOP 50 TIMES.

_ 01206 GO TO MXS-OPTION.

u 01207 CICS-LOOP.

01208*EXEC CICS ASKTIME

01209* END-EXEC.

_ 01210 MOVE ' 00849 ' TO DFHEIV0

u 01211 CALL 'DFHEI1' USING DFHEIV0.

01212

u 01213 MXS-OPTION.

_ 01214 IF TASK-SWITCH3 EQUAL SPACE

_ 01215 MOVE 'A' TO TASK-SWITCH3

_ 01216 MOVE 'DMAP06' TO MAPNAME

_ 01217 GO TO SEND-REWRITE-RETURN.

01218*EXEC CICS HANDLE CONDITION

01219* NOSTG(NO-STORAGE)

Note: If you want to recompile your program and keep the same breakpoints in therecompiled version, set breakpoints next to paragraph names or labels, not lines ofexecutable code. Then, use the CA-InterTest for CICS New Program Copy function,explained in the �Monitoring Menu Options� chapter, to transfer the breakpoints tothe same paragraph names or labels in the recompiled program. If you setbreakpoints at lines of executable code, New Program Copy transfers the breakpointsto the same statement numbers or offsets in the recompiled program, which mightnot be what you want.

If you compiled or assembled your program with the post-processor parametervalue, LISTER=ALL, you can set unconditional breakpoints using the Cross-Reference section. This methods sets breakpoints at all references to the selecteddata name:

1. Display the Cross-Reference section using the Option # field; see the �SourceListing Facility� chapter.

2. Enter u in column 1 next to the data name.

3. Press Enter to set the breakpoints. CA-InterTest sets the breakpoints at allreferences to the COBOL, Assembler, or PL/I data name. Then,CA-InterTest displays the U-breakpoint indicators in the Cross-Referencesection and on the lines in the Procedure Division or CSECT where the dataname is referenced.

Page 93: CA-Intertest for CICS User Guide

Unconditional Breakpoints

Using Breakpoints 4�5

To set breakpoints at specific paragraph names, labels, or procedure names:

1. Display the Cross-Reference section using the Option # field; see the �SourceListing Facility� chapter.

2. Enter a u next to the:

� Specific paragraph name, label, or procedure name in the COBOL Cross-Reference listing.

� Symbol line in the Cross-Reference section of the Assembler listing.

� Specific label or procedure name in the Xref section of the PL/I listing.

3. Press Enter. The breakpoints apply to the specific paragraph names, labels,or procedure names.

The following screen illustrates how to set breakpoints at Procedure Names.

CA-InterTest - PROTSYM FILE SOURCE LISTING DISPLAYCOMMAND ===>Program= COBDEMO Option # Stmt # Margin= 01

Search=OPTS 1 Proc div 2 Work-stor 3 Link sect 4 D-map 5 Clst/Pmap 6 Xref

7 Proc xref 8 Err msgs 9 Srch fwd 10 Srch bwd 11 Ind cmds 12 Bkpt optsPFKS 1 Help 2 3 End 4 Profile 5 Monitor 6 Menu

7 Backward 8 Forward 9 10 11 12 Status-------------------------------------------------------------------------------_ PROCEDURE NAMES DEFN REFERENCEu AFTER-REWRITE 01328_ CICS-LOOP 01207 01205_ CONTINUE-TASK 00895 00824 00888_ DATA-NAME 01080u DO-READ-VAR 01099 01096_ EXPANDED-DEMO 00971 00821 00892 00893_ GEN-ERR 01289 00802 00854 01047_ LAST-SCREEN 00954 00947_ LINK-COBDEML 01381 01372u LOOP-RTN 01204_ MOVE-RECORD 01148_ MXR-OPTION 01199 01372

To set breakpoints at all paragraph names, labels, or procedure names:

1. Display the Procedure Names section using the Option # field; see the�Source Listing Facility� chapter.

2. Enter a u next to the:

� Procedure-Names line in the COBOL Cross-Reference listing

� Symbol line in the Cross-Reference section of the Assembler listing

� Declare line in the Xref section of the PL/I listing

3. Press Enter.

4. When prompted, press PF3 to confirm the request for multiple breakpoints.The breakpoints apply to all paragraph names, labels, or PL/I procedures.

Page 94: CA-Intertest for CICS User Guide

Unconditional Breakpoints

4�6 CA-InterTest for CICS User Guide

Setting Unconditional Breakpoints from the Menus

All types of breakpoints can be set from the Monitoring submenus of the PrimaryOption Menu.

To set one or more unconditional breakpoints from the menus:

1. Access the Primary Option Menu, and select Option 2 Monitoring. See the�Menus and Displays� chapter for ways to access the Primary Option Menuboth before or during your test session.

2. If you already set monitoring for the program, transaction, or terminal,repeat the entry that duplicates the monitoring request. You can check thisby viewing the Monitoring Status display. In most cases, this will be Option1 Program.

If you have not set monitoring, choose whether you want to monitor aprogram (option 1), transaction (option 2), or terminal (option 3). Most usersmonitor the program.

3. On the Program, Transaction, or Terminal Monitoring Menu:

� Complete the top part of the Monitoring menu to specify (or duplicate)how the program, terminal, or transaction is to be monitored.

� Complete the bottom part of the menu by entering s next to the UBPoption for Unconditional Breakpoints.

� Press Enter to process your request.

Example The following figure shows the entries on the Program Monitoring (2.1) Menu toset an unconditional breakpoint for the program COBDEMO being monitored byuser ID BARNEY1.

-------------------- CA-InterTest 5.x PROGRAM MONITORING --------------------COMMAND ===>

Type information and S to set or R to remove option(s) below.

Program . . cobdemo_ Program name (or .ALL, .OPTIONS or generic)user ID . . barney1_ User (or .ANY) for whom the program is monitored

More: +Option Description

_ Status Display and/or remove monitoring options (S only)_ Monitor Monitoring (R removes monitoring and all options previously set)s UBP Unconditional breakpoints (specific program only)_ CBP Conditional breakpoints (specific program only)_ RBP Breakpoints for CICS, DB2, DL/I or external CALL requests...

PF1 Help 2 3 End 4 Return 5 6PF7 Backward 8 Forward 9 10 11 12

Page 95: CA-Intertest for CICS User Guide

Unconditional Breakpoints

Using Breakpoints 4�7

If you select UBP from the Monitoring submenu, the Breakpoint Locations screendisplays. COBOL, PL/I, and Assembler versions of the Breakpoint Locationsscreen are available. The screen illustrated below is the COBOL version, whichshows Set Breakpoint Locations for a COBOL Program at Statement #1

CA-InterTest MONITORING COMMAND BUILDER - COBOL BREAKPOINT LOCATIONS 11

SET breakpoint locations for PROG=COBDEMO in any of the following fields:(For qualification by nested program name, specify 'Program-ID:Label')�Para/Data ___________________________ _______________________________

Names: ___________________________ __________________________________________________________ _______________________________

Statement� Numbers: 1___ _____ _____ _____ _____ _____ _____ _____

� Offsets: ____ _____ _____ _____ _____ _____ _____ _____

All paragraph names: _ �

Enter 'n' to stop only every n'th time: ____�Term ID (or .ANY or .NO) where breakpoints will take effect: ____�Term ID (or .ANY) that will receive the breakpoints: ____�Statement no. of indirect command(s) to be executed: ____

�user ID (or .ANY) who will execute the program: .BARNEY1

PF1 Help 2 3 End 4 Return 5 6PF7 8 9 10 11 12

Specifying Breakpoint Locations

To set breakpoint locations, enter the locations in fields through �. You canspecify up to nine breakpoints.

� For a COBOL program, this can be a paragraph name or data name , astatement number �, or the hexadecimal displacement (offset) from thebeginning of the program �.

� For an Assembler program, breakpoint locations can be Assembler labels,data names, or offsets.

� For a PL/I program, breakpoint locations can be offsets or, if you have thePL/I symbolic option, PL/I labels or statement numbers. PL/I labels can bequalified by Procedure Name using the syntax: ′Procedure-Name:Label′.For information on using offsets, refer to the section Converting PL/IStatement Numbers into Displacements.

Page 96: CA-Intertest for CICS User Guide

Unconditional Breakpoints

4�8 CA-InterTest for CICS User Guide

Follow these rules when specifying information:

� If you specify statement # 1, CA-InterTest sets a breakpoint at the firstexecutable instruction in a COBOL Procedure Division, Assembler CSECT,or PL/I procedure.

� COBOL statements can contain more than one verb. In specifying statementnumbers, you can indicate the verb at which the breakpoint should occur. Astatement number of nnn or nnn.0 indicates the first verb in the statement,nnn.1 indicates the second verb, nnn.2 indicates the third verb, and so on.For example, a statement number entered as 503.3 specifies a breakpoint atthe fourth verb in statement number 503.

� If you specify a COBOL, Assembler, or PL/I data name, breakpoints are setat every reference to that data name.

� Enter an X in the All paragraph names field (COBOL) �, All Assemblerlabels field, All Labels field (PL/I), or All Procedure Names field (PL/I) toset breakpoints at all of the indicated locations.

Specifying Breakpoint Options

The following specifications are optional:

� If you set a breakpoint within a loop, specify in field � how often theprogram should be halted. For example, if you specify 3, the breakpoint willoccur every third time the program passes through the loop.

� Specify in field � the ID of the terminal where the program must beexecuting for breakpoints to take effect. If you leave this field blank, itdefaults to your current terminal. Enter .ANY to have breakpoints take effectat all terminals and even when the program executes without a terminal.Enter .NO to have breakpoints take effect only when the program executeswithout a terminal.

� Specify in field � the ID of the terminal to receive breakpoint displays. Ifyou leave this field blank, it defaults to your current terminal. Enter .ANY tohave breakpoint screens displayed at the terminal where the program isexecuting when breakpoints occur.

� Specify in field � the statement number of the indirect command that youwant to invoke at the breakpoint you have set. Using Indirect Commands isexplained in the chapter �Breakpoint Activities.�

� Specify in field the CICS ID of the user who must execute the program forthe breakpoint to take effect. Valid entries are a specific CICS user ID or.ANY. The default varies depending on your installation option settings forDFLTUSER. For details on this user ID field, use online help or refer to the�Monitoring Menu Options� chapter.

� When you have entered all the necessary information, press Enter.

Page 97: CA-Intertest for CICS User Guide

Unconditional Breakpoints

Using Breakpoints 4�9

Examp1e The following example illustrates how to set unconditional breakpoints at fourlocations in the COBOL program COBDEMO.

CA-InterTest MONITORING COMMAND BUILDER - COBOL BREAKPOINT LOCATIONS 11

SET breakpoint locations for PROG=COBDEMO in any of the following fields:�

Para/Data return-transid_________________ _______________________________Names: _______________________________ _______________________________

_______________________________ _______________________________Statement � � �Numbers: 1____ 136__ 174.2 _____ _____ _____ _____ _____

Offsets: _____ _____ _____ _____ _____ _____ _____ _____

All paragraph names: _

Enter 'n' to stop only every n'th time: ____Term ID (or .ANY or .NO) where breakpoints will take effect: ____Term ID (or .ANY) that will receive the breakpoints: ____Statement no. of indirect command(s) to be executed:user ID (or .ANY) who will execute the program: .BARNEY1

PF1 Help 2 3 End 4 Return 5 6PF7 8 9 10 11 12

The information in the previous example will cause breakpoints to occur at:

� Paragraph RETURN-TRANSID

� Statement 1, the beginning of the Procedure Division

� The first verb in statement 136

� The third verb in statement 174

Because the user ID field is specified as BARNEY1 and the terminal identificationfields are left blank, these breakpoints will take effect only if COBDEMO isexecuted by the user ID BARNEY1. The breakpoints will display at whateverterminal BARNEY1 is signed on under CICS.

Page 98: CA-Intertest for CICS User Guide

Conditional Breakpoints

4�10 CA-InterTest for CICS User Guide

Conditional Breakpoints

Setting Conditional Breakpoints from the Source Listing Facility

To set conditional breakpoints, specify the location and then the condition. Youcan specify one or more locations directly from the Source Listing facility

1. Enter c in column 1 of any line in:

� Your program listing (next to a paragraph, label, or executable code)

� The Procedure Names section of the COBOL Cross-Reference listing (forall paragraphs or selected paragraphs)

� The Cross-Reference section of COBOL, Assembler, or PL/I programs(next to a data name, label, or all labels)

� If you enter c next to a data name in the Cross-Reference section, thebreakpoint takes effect at all locations where the item is referenced.

� If you enter c next to the Procedure-Names line in the Procedure namessection of the COBOL Cross-Reference listing or next to the Symbol linein the Cross-Reference section of the Assembler listing, the breakpointstakes effect at all paragraph names or labels.

Note: You can specify more than one c at a time before pressing Enter.

2. Optionally, select Option # 12 Breakpoint Options to set options for yourconditional breakpoints.

3. Press Enter.

Another way of specifying the same condition for multiple locations in yourprogram is to use the ITST menus to specify both the locations and theconditions. Refer to the section Setting Conditional Breakpoints from the Menusfor details.

To set conditional breakpoints that apply to multiple locations in a program:

1. Enter a c in column 1 of each line in your source code at which you want toset a conditional breakpoint.

2. Press Enter. CA-InterTest displays the first conditional breakpoint locationsscreen.

3. Specify one or more conditional breakpoint locations. CA-InterTest displaysa Conditional Breakpoint menu.

Page 99: CA-Intertest for CICS User Guide

Conditional Breakpoints

Using Breakpoints 4�11

The simplified COBOL Conditional Breakpoint entry screen is shown next. Inthis example, the breakpoint takes effect only if the condition If PREV-ACCTequals NEXT-ACCT is met. Refer to the section Setting and RemovingConditional Breakpoints from the Menus for additional instructions oncompleting this screen.

CA-InterTest MONITORING COMMAND BUILDER - CONDITIONAL BREAKPOINT

Enter LEFT SIDEData Name TASK-TEXT_______________________________________________________

Enter OPERATOR (EQ, NE, GT, LT, GE, LE): eq

Enter RIGHT SIDEData Name ________________________________________________________________

ORLiteral C'ACCOUNT NOT FOUND'_______________________________________________

For location:

00448 03 TASK-TEXT.

Press PF9 to go to complex conditional screen if necessary1 Help 2 3 End 4 Return 5 6

PF7 8 9 Complex 10 11 12

The For Location field indicates the statement number with the source code atwhich you specified c on the Source Listing display.

Note: The For Location field does not appear when you specify the locationusing the menus.

Press Enter after completing this Conditional Breakpoint menu. CA-InterTest forCICS sets the conditional breakpoints and returns you to the Source Listingdisplay.

Note the following:

� Conditional Breakpoint menus for Assembler and PL/I programs and thecomplex Conditional Breakpoint menu for COBOL programs haveadditional entry fields.

� To replace an unconditional breakpoint with a conditional breakpoint, youmust first remove the u before specifying the c. To remove the u, overtype itwith x, and press Enter. To place a conditional breakpoint at that location,enter c where the u was, and press Enter.

Page 100: CA-Intertest for CICS User Guide

Conditional Breakpoints

4�12 CA-InterTest for CICS User Guide

Setting Conditional Breakpoints from the Menus

Conditional breakpoints are set from the same Monitoring submenus used to setmonitoring and unconditional breakpoints. Follow the same steps given in thesection, Setting Unconditional Breakpoints from the Menus. However, instead ofentering s next to the UBP option, enter s next to the CBP option for conditionalbreakpoints, as shown in the following figure.

-------------------- CA-InterTest 5.x PROGRAM MONITORING --------------------COMMAND ===>

Type information and S to set or R to remove option(s) below.

Program . . cobdemo_ Program name (or .ALL, .OPTIONS or generic)user ID . . barney1_ User (or .ANY) for whom the program is monitored

More: +Option Description

_ Status Display and/or remove monitoring options (S only)_ Monitor Monitoring (R removes monitoring and all options previously set)_ UBP Unconditional breakpoints (specific program only)s CBP Conditional breakpoints (specific program only)_ RBP Breakpoints for CICS, DB2, DL/I or external CALL requests...

PF1 Help 2 3 End 4 Return 5 6PF7 Backward 8 Forward 9 10 11 12

Setting Conditional Breakpoints for COBDEMO, monitored for BARNEY1

First, CA-InterTest for CICS displays the Conditional Locations screen illustratedbelow.

CA-InterTest MONITORING COMMAND BUILDER - COBOL CONDITIONAL LOCATIONS 12

SET breakpoint locations for PROG=COBDEMO in any of the following fields:

Para/Data _______________________________ _______________________________Names: _______________________________ _______________________________

_______________________________ _______________________________StatementNumbers: _____ _____ _____ _____ _____ _____ _____ _____

Offsets: _____ _____ _____ _____ _____ _____ _____ _____�

All paragraph names: _ All instructions: x

Enter 'n' to stop only every n'th time: ____Term ID (or .ANY or .NO) where breakpoints will take effect: ____Term ID (or .ANY) that will receive the breakpoints: ____Statement no. of indirect command(s) to be executed:user ID (or .ANY) who will execute the program: .BARNEY1

PF1 Help 2 3 End 4 Return 5 6PF7 8 9 10 11 12

Page 101: CA-Intertest for CICS User Guide

Conditional Breakpoints

Using Breakpoints 4�13

This screen is similar to the screen used to specify unconditional breakpoints,and you should enter the information in the same way. Refer to the sectionSetting Unconditional Breakpoints from the Menus for details.

One special feature lets you set a conditional breakpoint at all instructions. Enteran x in the All Instructions field to request this option, as illustrated in theprevious example. If you request the All Instructions option and set a variable-change breakpoint, the breakpoint takes effect whenever the value of the variablechanges.

After specifying the breakpoint locations, press Enter to display the ConditionalBreakpoint screen. On this screen specify the condition that must be satisfied forthe breakpoint to take effect.

There are two versions of the Conditional Breakpoint screen: a simplifiedversion for COBOL users, and a detailed version for PL/I and Assembler usersand for those COBOL users who prefer this version. On either version youspecify the condition in this format:

left side relational operator right side

If you are a COBOL user, the following screen is displayed.

CA-InterTest MONITORING COMMAND BUILDER - CONDITIONAL BREAKPOINT

Enter LEFT SIDEData Name task-switch________________________________________________

Enter OPERATOR (EQ, NE, GT, LT, GE, LE): eq �

Enter RIGHT SIDEData Name ____________________________________________________________

OR� Literal 3_____________________________________________________________

Press PF9 to go to complex conditional screen if necessary

PF1 Help 2 3 End 4 Return 5 6PF7 8 9 Complex 10 11 12

Field specifies the left side of the comparison, which is a data name.

Field � specifies the relational operator:

EQ for equal

NE for not equal

GT for greater than

LT for less than

GE for greater than or equal to

LE for less than or equal to

Page 102: CA-Intertest for CICS User Guide

Conditional Breakpoints

4�14 CA-InterTest for CICS User Guide

Field � specifies the right side of the comparison, which can be a data name,literal or figurative constant.

Variable-Change Breakpoints

COBOL and Assembler users can set a conditional breakpoint to take effectwhenever the value of a variable changes. To do this, type x in the AllInstructions field on the Conditional Locations screen.

COBOL users must then specify the variable name in fields and � on theConditional Breakpoint screen. The condition for a variable-change breakpointis:

variableA NE variableA

Assembler users must then specify the variable name in fields and � on theDetailed Conditional Breakpoint screen, as discussed in the section Using theDetailed Conditional Breakpoint Screen.

The operator entered in field � determines whether the breakpoint occurswhenever the value of the variable changes (NE), or only when the valueincreases, decreases, or does not change. Whenever you reexecute the program,the initial value of the variable is reset to its value at the beginning of programexecution.

Literal Formats

Four types of literals can be specified for the right side of the comparison:

Character Specify character literals for comparisons with any field except aCOBOL data name defined as COMP or COMP-3. Enter the literalas C�character data�, X�hexadecimal data�, or a combination ofboth. For example, C�ABC�, X�0102�, or C�ABC�X�0102�.

Packed Specify packed decimal literals for comparisons only with COBOLdata names defined as COMP-3. Enter the literal as P�number�.The number can be preceded by a minus sign. For example, P�123�or P�-123�.

Halfword Specify halfword literals for comparisons with COBOL data namesdefined as COMP with a length of four, as in S9(4) COMP. Enterthe literal as H�number�. The number can be preceded by a minussign. For example, H�12�or H�-12�.

Fullword Specify fullword literals for comparisons with COBOL data itemsdefined as COMP with a length of eight, as in S9(8) COMP. Enterthe literal as F�number�. The number can be preceded by a minussign. For example, F�100�or F�-100�.

Page 103: CA-Intertest for CICS User Guide

Conditional Breakpoints

Using Breakpoints 4�15

Figurative Constants

The following figurative constants can be specified for the right side of thecomparison.

Valid Right Side Specifications for the Comparison

ZERO numeric value 0ZEROS

ZEROES

HIGH-VALUE character value X�FF�

HIGH-VALUES

SPACE blank (X�40�)SPACES

LOW-VALUE character value X�00�

LOW-VALUES

Example The sample screen below illustrates how to set a conditional breakpoint in aCOBOL program.

CA-InterTest MONITORING COMMAND BUILDER - CONDITIONAL BREAKPOINT

Enter LEFT SIDE �Data Name tolen

___________________________________________________________

�Enter OPERATOR (EQ, NE, GT, LT, GE, LE): lt

Enter RIGHT SIDEData Name

_________________________________________________________________OR �

Literal80_________________________________________________________________

Press PF9 to go to complex conditional screen if necessary

F1 Help 2 3 End 4 Return 5 6PF7 8 9 Complex 10 11 12

� The left side of the comparison specifies the data name TOLEN.

� The relational operator is LT (less than).

� The right side of the comparison specifies the literal 80.

This breakpoint will take effect only if the value in the data name TOLEN is lessthan 80. The breakpoint locations are all the instructions, as previously specifiedon the Conditional Locations screen.

Page 104: CA-Intertest for CICS User Guide

Conditional Breakpoints

4�16 CA-InterTest for CICS User Guide

Using the Detailed Conditional Breakpoint Screen

When Assembler and PL/I users who want to specify conditional breakpointscomplete the Conditional Locations screen and press Enter, the ConditionalBreakpoint screen is displayed as shown in the following figure. COBOL userscan access this screen by pressing PF9 from the COBOL Conditional Breakpointscreen illustrated in the preceding section.

CA-InterTest MONITORING COMMAND BUILDER - CONDITIONAL BREAKPOINT

� Enter LEFT SIDE of condition (select one):Data Name _________________________________________________________________Special keywords: ______ Register # __ COBOL BLL # __

Enter OPERATOR (EQ, NE, GT, LT, GE, LE): __� Length: Left __� Right __�

� Enter RIGHT SIDE of condition (select one):Data Name _________________________________________________________________Special keywords: ______ Register # __ COBOL BLL # __Literal ___________________________________________________________________

� Optional offset: Enter + - @ OR % followed by a value.Left side _________________________ Right side _________________________

� Press PF9 to go to simple conditional screen

PF1 Help 2 3 End 4 Return 5 6PF7 8 9 Simple 10 11 12

Specifies the left side of the comparison that must be an area of core. Enterinformation in one of these four fields:

� Data name

� Register

� COBOL BLL cell

� Area identified by a CORE keyword

� Specifies the relational operator:

EQ for equal

NE for not equal

GT for greater than

LT for less than

GE for greater than or equal to

LE for less than or equal to

�/� Optionally define the length of the left side or right side of thecomparison. (See the Length of the Comparison section for details.)

� Specifies the right side of the comparison, which can be an area of core or aliteral. Enter information in one of these five fields: a data name, a register, aCOBOL BLL cell, an area identified by a CORE keyword, or a literal. See thesection CORE Keywords and Literal Formats for more information.

Page 105: CA-Intertest for CICS User Guide

Conditional Breakpoints

Using Breakpoints 4�17

� Optionally adjusts a CORE location by specifying offsets (displacements). Eachoffset must be preceded by one of the following operands:

� +

� -

� @ � indirect addressing below the 16-megabyte line

� % � indirect addressing above the 16-megabyte line (XA systems only)

Note: Literals cannot be modified by offsets.

� For PL/I and Assembler version of this screen, the text line reads:

Use HELP or documentation for use of special keywords

Length of the Comparison

You can explicitly define how many bytes of either the left side or right sidespecification should be compared. Certain storage locations have implicitlengths:

� A register or COBOL BLL cell has an implicit length of four bytes.

� The storage locations referred to by the CORE keywords MXR, MXS, andTAL have implicit lengths of four bytes.

� The implicit length of a COBOL data name is its field length as defined in theDMAP.

� The length of a literal is the number of bytes it contains; any lengthspecification is ignored.

Define both left side and right side lengths for a packed decimal (COMP-3)comparison. For all other comparisons, define only one length. If you defineboth lengths, the smaller length is used.

The maximum permissible length for the left side or right side is 16 bytes forpacked decimal data, and 255 bytes for all other data types.

Literal Formats

Refer to the section Figurative Constants for details on specifying literals.

Page 106: CA-Intertest for CICS User Guide

Conditional Breakpoints

4�18 CA-InterTest for CICS User Guide

CORE Keywords

The following CORE keywords can be specified on the left side or right side ofthe comparison:

Keyword Function

CMAR First byte of the EXEC CICS Communications Area for the task

CSA First byte of the CSA

CURR Next Assembler instruction to be executed

CWA First byte of the CWA

CWK First byte of the COBOL program's Working-storage

ITBE First byte of the next instruction to be executed

MXR CA-InterTest maximum CICS request counter (implicit length = 4)

MXS CA-InterTest maximum storage counter (implicit length = 4)

OPFL First byte of the Optional Features List

PGM=* First byte of the monitored program.

PREV Last Assembler instruction that was executed

Rnn A register (nn is a decimal from 1 to 15) (implicit length = 4)

TAL CA-InterTest tally fullword (implicit length = 4)

TERM=* First byte of the terminal table entry of the current terminal

TGT First byte of the COBOL TGT for the monitored task

TIOA First byte of the first TIOA of the task

TWA First byte of the TWA of the monitored task

Page 107: CA-Intertest for CICS User Guide

Variable-Change Breakpoints

Using Breakpoints 4�19

Variable-Change Breakpoints

A variable-change breakpoint is a special type of conditional breakpoint thattakes effect when the value of a specified COBOL or Assembler variable changes.If you set a variable-change breakpoint while the variable is also listed in theKeep Window, the variable�s new value immediately appears at the top of thebreakpoint display when the breakpoint is triggered.

To set a variable-change breakpoint from a Source Listing screen:

1. Enter v in column 1 of any line in the program listing that defines orreferences the variable.

2. If the statement references the variable, place the cursor under any characterin the variable name. (Omit this step if the statement defines the variable.)

3. Press Enter.

To set a variable-change breakpoint for a variable in the Keep Window:

1. Enter v next to the variable name in the Keep Window.

2. Press Enter.

Variable-change breakpoints can be set before or during program execution. Ifyou set the breakpoint before execution, the variable�s initial value is its valuewhen it first becomes known to CA-InterTest for CICS during execution. Anychange from this initial value triggers the variable-change breakpoint.

The section Setting and Removing Conditional Breakpoints from the Menusexplains how to set variable-change breakpoints when the value of a variableincreases or decreases.

Page 108: CA-Intertest for CICS User Guide

Request Breakpoints

4�20 CA-InterTest for CICS User Guide

Request Breakpoints

Setting Request Breakpoints from Source Listing

You can set request breakpoints to halt a program prior to CICS commands,macros, and other program calls (such as calls to DL/I, DB2, or SQL/DS). Youcan instruct CA-InterTest for CICS to halt the program before every CICScommand, or a type of CICS command, such as File Control or Program Controlcommands. You can even specify that the program be halted before specificcommands, such as all READ or WRITE commands. Once the program is halted,you can use all of the CA-InterTest for CICS facilities to inspect and modify mainstorage or auxiliary storage or to set additional options.

Request breakpoints are set from menus only. They are identified with an Rduring program execution. They are most easily removed from the MonitoringStatus display.

After completing the menus, press PF4 Return until CA-InterTest for CICSreturns you to the Source Listing display.

Setting Request Breakpoints from the Menus

Use the Program Monitoring (2.1), Transaction Monitoring (2.2), or TerminalMonitoring (2.33) menu to set request breakpoints. Complete the top of themenu according to how you are monitoring or want to monitor the program,terminal, or transaction, and select the RBP option on the bottom of the menu.Detailed steps on how to do this are given below for users unfamiliar with themonitoring menus.

1. Access the Primary Option Menu, and select 2 Monitor to access theMonitoring Menu.

2. Select option 1 Program to have the Request Breakpoints apply to amonitored program. Alternatively, you can select another monitoring optionif you are monitoring by Transaction (2) or Terminal (2).

3. On the Monitoring submenu, complete the monitoring entry for the Program(Terminal or Transaction) and user ID, and then type s next to the RBPOption for Request Breakpoints and press Enter.

Page 109: CA-Intertest for CICS User Guide

Request Breakpoints

Using Breakpoints 4�21

The following figure shows how to complete the Program Monitoring Menu (2.1)to set request breakpoints for the COBDEMO program being monitored for theuser ID BARNEY1.

-------------------- CA-InterTest 5.x PROGRAM MONITORING --------------------COMMAND ===>

Type information and S to set or R to remove option(s) below.

Program . . cobdemo_ Program name (or .ALL, .OPTIONS or generic)user ID . . barney1_ User (or .ANY) for whom the program is monitored

More: +Option Description

_ Status Display and/or remove monitoring options (S only)_ Monitor Monitoring (R removes monitoring and all options previously set)_ UBP Unconditional breakpoints (specific program only)_ CBP Conditional breakpoints (specific program only)s RBP Breakpoints for CICS, DB2, DL/I or external CALL requests

PF1 Help 2 3 End 4 Return 5 6PF7 Backward 8 Forward 9 10 11 12

After completing the monitoring menu with the RBP option selected,CA-InterTest for CICS displays the Request Breakpoint Selection menu.

CA-InterTest MONITORING COMMAND BUILDER - REQUEST BREAKPOINT SELECTION 13

Set one or more types of Request Breakpoints in:PROG=COBDEMO

_ ALL commands �_ DL/I �_ DB2 �_CALLS

_ Address, Assign, _ Storage Control _ BMSHandles, Push, Pop _ Program Control _ Trace Control

_ Terminal Control _ Interval Control _ Dump Control� x File Control _ Task Control _ Batch Data Interchange

_ TD Control _ Journal Control _ Built-In Functions_ TS Control _ Syncpoints _ Sys Prog Functions

Enter 'n' to stop only every n'th time: ____�Term ID (or .ANY or .NO) where breakpoints will take effect: ____�Term ID (or .ANY) that will receive the breakpoints: ____�Statement no. of indirect command(s) to be executed: ____user ID (or .ANY) who will execute the program: BARNEY1 �

PF1 Help 2 3 End 4 Return 5 6PF7 8 9 10 11 12

Note: SQL/DS instead of DB2 will appear on this menu for VSE users.

On this screen enter an x next to the options you want to select:

� The program is halted prior to all CICS commands.

� The program is halted prior to all DL/I calls.

Page 110: CA-Intertest for CICS User Guide

Request Breakpoints

4�22 CA-InterTest for CICS User Guide

� The program is halted prior to all calls to DSNHLI (for DB2 users) or prior to allcalls to ARIPRDI (for SQL/DS users).

� The program is halted prior to calls to software that CA-InterTest has beeninstructed to recognize at installation time. A second screen is displayed onwhich you can specify the calls.

� If you select a type of CICS command, CA-InterTest will display a second screen.For example, if you select File Control CA-InterTest will display the File Controlscreen.

� If you do not want the program to be halted before every occurrence of acommand, specify in this field how often the program should be halted. Forexample, if you specify 3 the breakpoint will occur every third time the programreaches the command. This feature is especially useful when a CICS commandoccurs within a loop; for example, during a browse.

� Specify the ID of the terminal where the program must be executing forbreakpoints to take effect. You can generally leave this field blank and have thedefault location apply. Enter .ANY to have breakpoints take effect at allterminals�even when the program executes without a terminal. Enter .NO tohave breakpoints take effect only when the program executes without a terminal.

Specify the ID of the terminal to receive breakpoint displays. You can generallyleave this blank, and have the default location apply. Enter .ANY to havebreakpoint screens displayed at the terminal where the program is executingwhen breakpoints occur.

Specify the first indirect command statement number to take effect at thisbreakpoint.

� For secure CICS regions, specify the CICS user ID of the user who must beexecuting the program for the request breakpoints to take effect. If you do nothave a secure CICS system, leave this blank.

Note: Your version of this screen might differ slightly depending onCA-InterTest for CICS installation options.

Page 111: CA-Intertest for CICS User Guide

Removing Breakpoints

Using Breakpoints 4�23

When you have entered all of the necessary information, press Enter. If youentered an x next to a type of command, CA-InterTest for CICS displays a secondscreen. For example, if you selected File Control as the previous screenillustrates, CA-InterTest for CICS displays the screen shown below.

CA-InterTest MONITORING COMMAND BUILDER - REQUEST BREAKPOINT SELECTION

Set one or more types of File Control commands/macros in:PROG=COBDEMO

_ All commands _ All macros

� x READ� x WRITE

_ REWRITE_ DELETE_ UNLOCK_ STARTBR_ READNEXT_ READPREV_ ENDBR_ RESETBR

Enter 'n' to stop only every n'th time ____

PF1 Help 2 3 End 4 Return 5 6PF7 8 9 10 11 12

On this screen you can specify that the program be halted at all File Controlcommands or macros, or you can select specific File Control commands. In thisexample, the user has specified that program COBDEMO be halted at all READand WRITE commands.

Removing Breakpoints

There are several ways to remove breakpoints. One of the easiest is to enter an Rnext to any breakpoint entry on the Monitoring Status display. For details, seethe chapter �Menus and Displays.� This section discusses two other ways ofremoving breakpoints:

� From your Source Listing Breakpoint or Display

� From the Monitoring Menus

Page 112: CA-Intertest for CICS User Guide

Removing Breakpoints

4�24 CA-InterTest for CICS User Guide

Removing Breakpoints Flagged on Your Source Listing

Breakpoints can be removed as quickly as they were set. Statements where youpreviously set unconditional or conditional breakpoints are flagged with a U orC, respectively, in column 1 of the line. During program execution, locationswhere CA-InterTest for CICS stops because of a variable-change or requestbreakpoint are flagged with V or R, respectively.

���� To change the type of breakpoint at a given location, first remove the existingbreakpoint, and then set the next one.

� Automatic breakpoints can be removed only if the error is corrected.However, you can go around the error and begin execution from anotherpoint. Refer to the �Breakpoint Activities� and �Resume Menu� chapters fordetails.

The following table explains how to remove each type of breakpoint.

Type of Breakpoint How to Remove

Unconditional, Conditional orVariable-change breakpoints

While viewing the source at a breakpoint,type an x over the U, C, or V; press Enter.

Unconditional or Conditionalbreakpoints set at all COBOLparagraph names, or Assembleror PL/I procedures

Either enter x to the left of the Procedure-Names or Symbol header line or Declare linein the Cross-Reference section of the listingand press Enter, or type an R next to theUBP or CBP entry on the Monitoring Statusdisplay and press Enter.

Unconditional or Conditionalbreakpoints set at all referencesto a COBOL or Assembler dataname

Type an x over the C in the Cross-Referencesection of the listing and press Enter, or typean R next to the UBP or CBP entry on theMonitoring Status display, and press Enter.

Request breakpoints Type R next to the RBP entry on theMonitoring Status display, and press Enter,or repeat the menu steps for setting thebreakpoint, but enter an R next to the RBPoption on the Monitoring menu. Completethe menus as you did when setting therequest breakpoints.

* All breakpoints Remove monitoring for the program asdiscussed in the �Monitoring Menu Options�chapter. This can be done from theMonitoring Status display.

Page 113: CA-Intertest for CICS User Guide

Removing Breakpoints

Using Breakpoints 4�25

WARNING! If the program is being monitored for .ANY user, remove the breakpointsinstead of the monitoring entry. Removing monitoring for a program that others mightalso be testing is risky.

Note: If you set more than one type of breakpoint at the same location,CA-InterTest for CICS flags and intercepts only one at a time�the first one you set.Once you remove the first one, the next one you set is flagged and activated, and soon.

Removing Unconditional Breakpoints from the Menus

You can remove unconditional breakpoints using the monitoring menus of thePrimary Option Menu.

Note: An easy way to remove any breakpoint is to enter an r next to its entry onthe Monitoring Status display.

To remove an unconditional breakpoint using the menus, access the ProgramMonitoring (2.1), Transaction Monitoring (2.2), or Terminal Monitoring (2.3)menu, and do the following:

1. Repeat the monitored entries for the:

� Program, transaction, or terminal (whichever is being monitored)

� User ID under which the entry is being monitored

2. Enter r next to the UBP Option for Unconditional Breakpoints and pressEnter.

Page 114: CA-Intertest for CICS User Guide

Removing Breakpoints

4�26 CA-InterTest for CICS User Guide

The Remove Breakpoint Locations screen is displayed. COBOL, PL/I, andAssembler versions of the Breakpoint Locations screen are available. The screendisplayed next is the COBOL version.

CA-InterTest MONITORING COMMAND BUILDER - COBOL BREAKPOINT LOCATIONS 11

REMOVE breakpoint locations for PROG=COBDEMO in any of the following fields:(For qualification by nested program name, specify 'Program-id:Label')

Para/Data _______________________________ _______________________________Names: _______________________________ _______________________________

_______________________________ _______________________________Statement�Numbers: _____ _____ _____ _____ _____ _____ _____ _____

�Offsets: _____ _____ _____ _____ _____ _____ _____ _____

All Paragraph Names: _ �

Term ID (or .ANY or .NO) where breakpoints will take effect: ____�Term ID (or .ANY) that will receive the breakpoints: ____�

user ID (or .ANY) who will execute the program: BARNEY1 �To remove by ID # shown in status display enter ID #'s: __ __ __ __ __ __ __�

PF1 Help 2 3 End 4 Return 5 6PF7 8 9 10 11 12

To remove all unconditional breakpoints from a program, enter .ALL in field and press Enter. To remove one or more breakpoints, specify its ID number asshown on the Monitoring Status display in field � and press Enter, or enter theinformation that you originally defined in fields through � on the SetBreakpoint Locations screen and press Enter.

Removing Conditional Breakpoints from the Menus

To remove conditional breakpoints from the menus, you can use the monitoringmenus of the Primary Option Menu.

Note: An easy way to remove any breakpoint is to enter an r next to its entry onthe Monitoring Status display.

On the Program Monitoring (2.1), Transaction Monitoring (2.2), or TerminalMonitoring (2.3) menu, do the following:

1. Repeat the monitored entries for the:

� Program, transaction, or terminal (whichever is being monitored)

� User ID under which the entry is being monitored

2. Enter r next to the CBP Option for Conditional Breakpoints.

3. Press Enter.

Page 115: CA-Intertest for CICS User Guide

Removing Breakpoints

Using Breakpoints 4�27

The Remove Conditional Locations screen illustrated in the following figure isdisplayed.

CA-InterTest MONITORING COMMAND BUILDER - COBOL CONDITIONAL LOCATIONS 12

REMOVE breakpoint locations for PROG=COBDEMO in any of the following fields:(For qualification by nested program name, specify 'Program-id:Label')

Para/Data _______________________________ _______________________________Names: _______________________________ _______________________________

_______________________________ _______________________________Statement

�Numbers: _____ _____ _____ _____ _____ _____ _____ _____

�Offsets: _____ _____ _____ _____ _____ _____ _____ _____

All Paragraph Names: _ � All Instructions: _ �

Term ID (or .ANY or .NO) where breakpoints will take effect: ___ �Term ID (or .ANY) that will receive the breakpoints: ____�

user ID (or .ANY) who will execute the program: BARNEY1 �To remove by ID # shown in status display enter ID #'s __ __ __ __ __ __ _

PF1 Help 2 3 End 4 Return 5 6PF7 8 9 10 11 12

To remove all conditional breakpoints from a program, enter .ALL in field ofthis screen and press Enter. To remove one or more conditional breakpoints, youcan enter the breakpoint ID numbers listed on the Monitoring Status display infield and press Enter, or you can specify the information that you originallydefined in fields through � on the Set Conditional Breakpoints screen andpress Enter.

Removing Request Breakpoints

To remove request breakpoints from the menus, you can use the monitoringmenus of the Primary Option Menu.

Note: An easy way to remove any breakpoint is to enter an r next to its entry onthe Monitoring Status display.

On the Program Monitoring (2.1), Transaction Monitoring (2.2), or TerminalMonitoring (2.3) menu, do the following:

1. Repeat the monitored entries for the:

� Program, transaction, or terminal (whichever is being monitored)

� User ID under which the entry is being monitored

2. Enter r next to the RBP Option for Request Breakpoints.

3. Press Enter.

Page 116: CA-Intertest for CICS User Guide

Removing Breakpoints

4�28 CA-InterTest for CICS User Guide

The Remove Request Breakpoints screen is displayed. Enter the informationexactly as you originally defined it.

Page 117: CA-Intertest for CICS User Guide

Breakpoint Activities 5�1

Chapter

5 Breakpoint Activities

This chapter includes the following topics:

� Examining the Source Listing Breakpoint screen

� Responding to automatic breakpoints

� Working with data at a breakpoint

� Working with files at a breakpoint

� Using the breakpoint primary option menu

� Using the Backtrace facility

� Additional breakpoint displays

� Using Indirect Commands

Page 118: CA-Intertest for CICS User Guide

Examining the Source Listing Breakpoint Screen

5�2 CA-InterTest for CICS User Guide

Examining the Source Listing Breakpoint Screen

When CA-InterTest monitors a program, it halts program execution each time itdetects either an error or a user-specified breakpoint and it displays a breakpointscreen. The screen below illustrates an automatic breakpoint.

CA-InterTest - PROTDEM FILE SOURCE LISTING BREAKPOINTCOMMAND ===>Program= COBDEMO Option # Stmt # Margin= 01

Search=OPTS 1 Proc div 2 Work-stor 3 Link sect 4 D-map 5 Clst/Pmap 6 Xref

7 Proc xref 8 Err msgs 9 Srch fwd 10 Srch bwd 11 Ind cmds 12 Bkpt optsPFKS 1 Help 2 3 Det Bkpt 4 Profile 5 Resume 6 Menu

7 Backward 8 Forward 9 10 001 Verb 11 Backtrace 12 Status-------------------------------------------------------------------------------

_ 00880 CONTINUE-TASK.

00881**** TASKNUM *NOTE* FIELD MUST BE INITIALIZED� A ==> �ADD +1 TO TASKNUM.

==>� ==> ASRA abend (0C7) detected and prevented. Caused by invalid decimal

==> arithmetic data format.==>==> Press PF1 for a detailed description.==>

_ 00883 IF TASKNUM = 1_ 00884 MOVE 'DMAPASR' TO MAPNAME._ 00885 IF TASKNUM = 2_ 00886 MOVE 'DMAPSUM' TO MAPNAME._ 00887 IF TASKNUM GREATER 2_ 00888 GO TO SEND-END-MSG.

Source Listing Breakpoint Screen

� This letter indicates what type of breakpoint occurred.

A�Automatic, detected by CA-InterTest

U�Unconditional

C�Conditional

V�Variable-change

R�Request

� The statement or offset where the breakpoint occurred.

� These lines tell you why an automatic breakpoint occurred. Press PF1 foradditional information. To remove these lines, press Enter or scroll using PF7 orPF8 to see additional lines of source listing code.

Page 119: CA-Intertest for CICS User Guide

Examining the Source Listing Breakpoint Screen

Breakpoint Activities 5�3

Source Listing Breakpoint Commands

The Command line at a Source Listing Breakpoint supports all of the commandsdescribed for a Source Listing Display and the following additional commands:AUTOSTEP, BTRACE, CS, FO, GO, NEXT, RESUME, RESETBKP, and RUN.These commands are defined in the following table. In addition, use thecommand line to enter CA-InterTest single-line commands for CNTL, CORE, andFILE. Refer to online help and other chapters in this guide for information onsingle-line commands.

Note: You cannot use this command line to enter CA-InterTest system-wideCNTL options.

Command PF Key Description

ABI ON none Turn Abend Intercept on This is the default and willintercept all CICS abends and produce an automaticbreakpoint screen providing there a CICS HANDLEABEND LABEL/PROGRAM is not active. If you wishto intercept CICS abends for programs that have anactive CICS HANDLE LABEL/PROGRAM then seethe ABI FORCE command below

ABI OFF none Turn Abend Intercept off. This will cause InterTest tostop intercepting CICS abends. No automaticbreakpoint screen will be displayed and the programwill abend.

ABI FORCE none Turn Abend Intercept on for all CICS ABENDS. Evenif a program has an outstanding HANDLE ABENDactive or issues a CICS HANDLE ABEND command.

Use this option when you want an automaticbreakpoint screen for programs that also have activeHANDLE ABENDS to process their own errors.

AUTOSTEP

AS

none Resume execution one verb at a time displaying theLISTER screen for an interval of time. This commandis available only at a breakpoint.

BOTTOM

BOT

none GO to bottom of source.

BPO none Jump to Breakpoint Option screen.

BTRACE PF11 Backtrace. Displays the Backtrace Summary. See thesection Using the Source Backtrace. This command isavailable only at a breakpoint.

Page 120: CA-Intertest for CICS User Guide

Examining the Source Listing Breakpoint Screen

5�4 CA-InterTest for CICS User Guide

BWD PF7 Scroll backward. The scroll amount can be set on theSource Listing Profile. Does not apply within the KeepWindow.

CNTL none Displays the CNTL Command Menu.

Note: The Monitoring Menu (=1.2) is an alternative tousing the CNTL menu. For details, see the chapter�Monitoring Menu Options.�

CORE none Displays the Main Storage menu. Select an option toview a main storage (CORE) display.

COUNTSSHOW

none Turns the Code Coverage COUNTER display on. Toactivate Code Coverage see Customizing the SourceListing Profile or issue PROFILE command.

COUNTSNOSHOW

none Turns the Code Coverage COUNTER display off. Todeactivate Code Coverage see Customizing theSource Listing Profile or issue the PROFILEcommand.

COUNTSRESET

none Resets the program Code Coverage statementcounters to zero.

COUNTS opvalue

none Turns the Code Coverage COUNTER display on andhighlights program statements that match the criteria.The source listing will be repositioned to the firststatement matching the criteria.

Op can be: EQ or =, NE or <>, LT or <, GT or >, LE or<= or =<, GE or >= or =>

Value can be: 0 to 9999

COUNTSNEXT

none Repositions the source listing to the next statement thatmatches the previously specified COUNT op valuecriteria.

COUNTS ALL none Removes previously specified COUNT op valuecriteria and redisplays source listing without specialCOUNTER highlighting.

CS none Go to current breakpoint source statement. Thiscommand is available only at a breakpoint.

DOWN none Shift listing down.

END PF3 Returns to the prior display or menu.

FWD PF8 Scrolls forward the amount indicated on the SourceListing Profile. Does not apply within the KeepWindow.

Page 121: CA-Intertest for CICS User Guide

Examining the Source Listing Breakpoint Screen

Breakpoint Activities 5�5

FILE none Displays the Auxiliary Storage menu. Select an optionto view a file or queue.

FIND

F

none Find a string

FO none Find hexadecimal offset. This command is availableonly at a breakpoint.

FS none Find statement number.

FP none Find paragraph.

GO none Continue until the next intercept occurs. Thiscommand is available only at a breakpoint.

HELP PF1 Displays help for the Source Listing facility.

IC none Jump to Indirect Command screen.

ITST none Displays the Primary Option menu.

LEFT none Shift listing left.

LOCATE

LOC

L

none Locate line number or part of the listing.

MARGIN

MAR

none Shift listing to specific margin.

MENU PF6 Displays the Breakpoint Primary Option menu.

MONITOR none Sets monitoring for the listed program.

NEXT

N

PF10 Execute the next verb in a program. This command isavailable only at a breakpoint.

OFFALL none Removes all breakpoints set by active USER orTERMINAL Active USERID is used if a valid USERIDis signed on. Otherwise, the active TERMINAL is used

ALL breakpoints for ALL programs/tranactions/ willbe removed that were set by the active USERID oractive TERMINAL.

OFFALLTERM

none Removes all breakpoints set by active TERMINAL

OFFALLUSER

none Removes all breakpoints set by active USER.

Page 122: CA-Intertest for CICS User Guide

Examining the Source Listing Breakpoint Screen

5�6 CA-InterTest for CICS User Guide

PROFILE PF4 Displays the Source Listing Profile, where you canchange settings for the current session.

RESETBKP Clear Repositions breakpointed task at current breakpoint.

RESUME PF5 Resumes breakpointed task at next sequentialinstruction. This command is available only at abreakpoint.

RIGHT none Shift listing right.

RUN none Resume execution ignoring all breakpoints. Thiscommand is available only at a breakpoint.

STATUS PF12 Displays the Monitoring Status report (Option 2.4 onthe Primary Option Menu) for the current program.You can remove monitoring, breakpoints, and optionsdirectly from the Status display.

STATUSALL

none Displays the Monitoring Status report for allprograms, transactions, and terminals CA-InterTest ismonitoring in the region.

TOP none Go to top of source.

UP none Shift listing up.

=x.y.z

=1.x.y.z

none Fastpath to Breakpoint Primary Menu Option x.y.z,discussed in the �Breakpoint Activities� chapter.Equivalent ITST Primary Option Menu fastpathentries are =1.x.y.z.

Source Listing Breakpoint PF Keys

PF Key Function

PF1 Help Displays a Help menu relating to the current Source ListingBreakpoint screen.

PF2 Unassigned.

PF3 Det Bkpt Displays the Breakpoint Information screen for the currentbreakpoint. This function is available only at a breakpoint.

PF4 Profile Displays the Source Listing Profile screen.

PF5 Resume Continues program execution at the next sequentialinstruction. This function is available only at a breakpoint.

Page 123: CA-Intertest for CICS User Guide

Responding to Automatic Breakpoints

Breakpoint Activities 5�7

PF6 Menu Displays the Breakpoint Primary Options Menu discussed inthe �Breakpoint Activities� chapter.

PF7 Backward Scrolls the compiler output backward one page or the amountset on the Source Listing Profile. Does not apply within theKeep Window.

PF8 Forward Scrolls the compiler output forward one page or the amountset on the Source Listing Profile. Does not apply within theKeep Window.

PF9 Unassigned

PF10 001 Verb 001 Verb/Instr/Stmt or Autostep single steps or auto stepsthrough execution, as indicated by the PF key label. Use PF4 tospecify the stepping function and amount on the SourceListing Profile. This function is available only at a breakpoint.

PF11 Backtrace Displays the Backtrace Summary. See the section Using theSource Backtrace.This function is available only at abreakpoint.

PF12 Status Displays the Monitoring Status for the current program. Youcan remove breakpoints and monitoring directly from theStatus report.

PF19 Scrolls forward within the Keep Window.

PF20 Scrolls backward within the Keep Window.

Clear Redisplays the current breakpoint.

Responding to Automatic Breakpoints

An automatic breakpoint occurs when CA-InterTest detects an error. When aprogram is stopped at an automatic breakpoint, you can either correct the erroror go around it.

To find out what caused the error and for instructions on how you can fix it,press PF1 from any automatic breakpoint display with the error messagedisplayed. CA-InterTest Help provides additional information about the specificerror. In most cases, Help recommends how to handle the error.

Page 124: CA-Intertest for CICS User Guide

Responding to Automatic Breakpoints

5�8 CA-InterTest for CICS User Guide

Example The following screen explains how to correct an AEIL abend.

CA-InterTest - INTERACTIVE HELP FACILITYTUTORIAL: ERROR MESSAGE AEIL

The dataset name referred to in the DATASET option cannot be found in the FCT.Your program did not have a Handle Condition for this error. Or a second HandleCondition without a routine for this error superseded the one that had aroutine for this error.

WHAT YOU CAN DO: If the named file was entered incorrectly and the one youwanted exists, you may use the Replace File Option to dynamically replace thefile name and then use the resume task facilities to execute the CICS requestagain. To perform the above functions from the Source Listing Breakpoint screenyou would:

1. Key =20s in the Option # field and press ENTER.2. Tab to Replace file name: Key in the incorrect file name.3. In the next field, key in the correct file name and press ENTER.4. Press CLEAR to return to your Source Listing Breakpoint screen.5. Key in G to resume execution at the beginning of the EXEC CICS command

and press ENTER.(continued)

------------------------------------------------------------------------------ENTER N FOR NEXT PAGE, P FOR PRECEDING PAGE, F FOR FIRST PAGE, OR -M FOR RETURN TO PREVIOUS MENU. PRESS CLEAR TO EXIT. SELECTION ==> N

Note: When you leave and then return to an automatic breakpoint screen, theerror message might no longer appear. For help on the cause of the error, pressClear to redisplay the error message before pressing PF1.

Bypassing the Monitoring of a Statement that Triggered an Automatic Breakpoint

Sometimes CA-InterTest stops you at an automatic breakpoint when theprogram is working according to your specifications. These are usually instanceswhen you are intentionally violating a CICS coding standard. To continueprogram execution without removing the error, you can bypass the statement, asdescribed below, or you can set a CA-InterTest monitoring option so that you arenot stopped again (such as NOM). NOM is supported in Release 5.1 and above, andis described in detail in the �Special Monitoring Situations� chapter.

Important! Use this function with care! It bypasses monitoring only of the individualAssembler instruction. For high-level COBOL or PL/I programs, there might be morethan one Assembler instruction per statement, which could trigger more than oneautomatic breakpoint for a single statement. As a result, you might have to invoke thisfunction more than once to continue past a statement stopped at an automatic breakpoint.For more information, see the chapter �Monitoring Menu Options.�

There are two methods of bypassing an automatic breakpoint: temporarily andpermanently. A temporary override works for the current breakpoint only. Apermanent bypass works each time the statement is executed.

Temporary Override To temporarily bypass the monitoring of a statement that triggered an automaticbreakpoint:

1. Press PF6 to display the Breakpoint Primary Option Menu.

Page 125: CA-Intertest for CICS User Guide

Working with Data at a Breakpoint

Breakpoint Activities 5�9

2. Select Option 5 Override Automatic Breakpoint.

Note: For fastpath entry, enter =5 on the Command line of the Breakpointdisplay.

The override allows the statement that caused the breakpoint to be executed forthis instance, only.

Permanent Bypass To permanently bypass the monitoring of a statement that triggered anautomatic breakpoint:

1. Overtype the A on the Source Listing Breakpoint with b.

2. Press PF5 or PF10 to resume execution. This allows the statement thatcaused the breakpoint to be executed; that is, the bypass function allows theerror to occur.

WARNING! This command may be password protected.

Working with Data at a Breakpoint

When CA-InterTest detects a breakpoint, it halts the program before theinstruction at the breakpoint location is executed. While at a breakpoint,CA-InterTest preserves the task�s main storage for examination or modificationprior to task resumption. Here is a summary of how you can work with yourdata at a breakpoint. Each function is explained in this chapter.

� View or Search for Data

You can view any portion of your compiler output and search foroccurrences of data strings.

� Keep Data in Window

You can keep the values of data items, displayed up to 6 at a time, at the topof your source listing in the Keep Window. This lets you observe changes intheir values as the program executes without having to leave the sourcelisting display.

When the Keep Window is active, the header lines listing the CA-InterTestoptions and PF key functions are replaced with a command line. To viewoptions and PF keys, press PF4, and then press Enter to return.

Page 126: CA-Intertest for CICS User Guide

Working with Data at a Breakpoint

5�10 CA-InterTest for CICS User Guide

� Code Coverage Counters in Window

You can display a counter for each line of code and check its verb executioncount. This lets you observe changes in the execution value as the programexecutes without having to leave the source listing display.

� Display or Modify Main Storage

You can display and dynamically change data in main storage at anybreakpoint. If there is an error, you can fix it in main storage, and thencontinue execution as if the error never existed.

Online access to main storage means you do not have to wait for and analyzea dump. To make accessing main storage easy, CA-InterTest provides astructured display of main storage with data names on the left and bothhexadecimal and character values on the right.

� Display or Modify Auxiliary Storage

You can view, modify, or create test data using the FILE transaction. At abreakpoint you can verify test data, and even create test records. For moreinformation on FILE functions, refer to the �Accessing Auxiliary Storage: FILE�chapter.

Searching for Data

You can ask CA-InterTest to define, search for, and display any character string (suchas a data item, label, or paragraph name). This is a quick way to go to different areasin a listing when you want to set a breakpoint or check your code.

You can search for data using the Search=field, or by entering a FIND or LOCATEcommand on the command line.If you know the line number, hex number, or thelabel that you want to view, you can use the line commands to position the listingaccordingly. See Viewing the Online Listing for details.

Finding a Definition or Searching Using the Search = Field

Use the Search= field to define or search for data as follows.

To display the definition of a data item:

1. Enter a data item name up to 31 characters in the Search= field.

2. Press Enter to begin the search. CA-InterTest highlights the data item and itsdefinition.

Page 127: CA-Intertest for CICS User Guide

Working with Data at a Breakpoint

Breakpoint Activities 5�11

To search for a data item:

1. Enter up to 31 characters in the Search= field.

2. Specify the search direction in the Option # field. (Option # 9 is SearchForward; Option # 10 is Search Backward.)

3. Press Enter to begin the search.

For COBOL nested programs, CA-InterTest first searches the current nestedprogram (indicated in the NESTED= field) for the specified data item. If the dataitem is not found in the indicated program, CA-InterTest then searches the mainprogram and other nested programs for the item.

Note: It is not necessary to enter the entire data item, label, or paragraph name;you can enter the first few characters to begin your search. For example, if youwanted to search for TASKNUM, you could enter TASK, TASKN, and so on, inthe Search= field.

Viewing the Online Listing

Use the command line commands to position or shift the view of the listing . Youcan go to the top or bottom of the listing, shift the listing to the right or left aspecific number of characters, position the listing to a specfic line. Thesecommands are described in the chapter "Source Listing Faciltity." Described nextare two additional commands that are available only at a Source ListingBreakpoint. These allow you to position a listing at specific hex number, orpostion the listing to a specfic label or to the current breakpointed line.

Position Listing to a Hex-Offset

To position the listing to a specific hex-number , enter:

FO hex-number

Hex-number is any hex number within an ASSEMBLER program.

Note: FO is available only during breakpoint processing.

Position Listing to Current Breakpoint Processing

To position the listing to the current breakpointed line, enter:

CS

Note: CS is available only during breakpoint processing.

Page 128: CA-Intertest for CICS User Guide

Working with Data at a Breakpoint

5�12 CA-InterTest for CICS User Guide

Using the Keep Window

You can display items from main storage in a window at the top of the SourceListing display.Keeping items in the Keep Window lets you easily comparevalues and observe changes in values. It also allows you to dynamically modifythe displayed values as the program executes.

Adding a Storage Item

Up to six data items can be displayed at one time in the Keep Window wheneverthe source listing is displayed. Identify the data items whose values you want toobserve. If you identify more than six items, the first six items that you specifyare displayed. When one item is removed from the Keep Window, another itemis displayed. If there are more than six items in total, you can view these byscrolling forward.

The following figure shows four data items displayed in the Keep Window onthe Source Listing Breakpoint display.

KeepWindow {

CA-InterTest - PROTDEM FILE SOURCE LISTING BREAKPOINTCOMMAND ===>Program= COBDEMO Option # Stmt # Margin= 01

Search=

-------------------------------------------------------------------------------TASKNUM | 000000 | ...TASK-ID-NO | 000F | ..TASK-DATE | F0F961F1 F561F8F9 | 09/15/89VAR-LENGTH-DATA | 00 | .

-------------------------------------------------------------------------------_ 00880 CONTINUE-TASK.00881**** TASKNUM *NOTE* FIELD MUST BE INITIALIZED

A ==> ADD +1 TO TASKNUM.==>==> ASRA abend (0C7) detected and prevented. Caused by invalid decimal==> arithmetic data format.==>==> Press PF1 for a detailed description.==>

_ 00883 IF TASKNUM = 1_ 00884 MOVE 'DMAPASR' TO MAPNAME.

To add a data item from where it is defined:

1. Enter k to the left of the statement defining it.

2. Press Enter. CA-InterTest places the data item in the Keep Window.

To add a data item from where it is referenced:

1. Enter k to the left of the statement referencing it.

2. Place the cursor under any character in the data item.

3. Press Enter. CA-InterTest places the data item in the Keep Window.

Page 129: CA-Intertest for CICS User Guide

Working with Data at a Breakpoint

Breakpoint Activities 5�13

Note: Data items remain in the Keep Window until you remove them, or untilyou turn off CA-InterTest monitoring for the program. Except for items addedusing the AUTOKEEP facility. AutoKeep items are displayed in high intensity inthe Keep Window; permanent Keep items appear in low intensity.

Using AUTOKEEP AUTOKEEP allows you to display items in the Keep Window concerning thecurrently highlighted line, in addition to any data items you have requested to bedisplayed permanently.

AUTOKKEEP is active when the IN25OPTS parameter SLBAKEEP is set to Yes,which is the default. However, you can use the the Source Listing Profile Screento turn AUTOKEEP off or on again at any time.

Changing an AutoKeep Item into a Permanent Keep Item

To change an AutoKeep item into a permanent item:

1. Enter k to the left of the data item.

2. Press Enter. The item now displays in low intensity indicating that it is apermanent item.

Scrolling Forward and Backward

You can scroll forward and backward through the Keep Window when there aremore than six Keep Table entries. Up to six entries can appear in the KeepWindow at one time. If there are more than six entries, the heading line MORE: +(plus) appears in the Keep Window to indicate that there are more entires toview forward. The additional entries will appear in the next window as youscroll forward. The heading line More: - (minus) indicates that there are moreentires to view backward. Use PF19 to page forward to the next Keep Window;use PF20 to page backward.

Removing Items

To remove a data item from the Keep Window:

1. Enter x to the left of the data item.

2. Press Enter. When all data items have been removed, the command line andthe Keep Window are replaced by the options and PF key functions.

Page 130: CA-Intertest for CICS User Guide

Working with Data at a Breakpoint

5�14 CA-InterTest for CICS User Guide

Viewing and Changing Main Storage Display From The Keep Window

When the Keep Window is active, CA-InterTest replaces the title lines for theCA-InterTest options and PF key functions with expanded source display area.This is the No Titles format. The No Titles format allows you to useCA-InterTest commands and the options and PF keys to perform CA-InterTestfunctions. To refer to the options and PF key functions, enter PROFILE in thecommand line and press Enter. To exit the Profile, press Enter.

For each item in the Keep Window, CA-InterTest displays the data name and itsvalue in main storage in hexadecimal and character format for its first 12 bytes.To request a main storage display:

1. Enter d in column 1 to the left of the item listed in the Keep Window.

2. Press Enter to process your request. CA-InterTest displays the main storagefor the data item and all items below it in the same structure.

To modify data values using a pre-formatted MOVE command:

1. Enter m in column 1 to the left of the item listed in the Keep Window.

2. Press Enter to make the change. CA-InterTest displays the MOVE commandscreen. Refer to the section Displaying or Modifying Main Storage (CORE)for details.

To change the values of the data items:

1. Overtype the bytes displayed in the Keep Window in either hexadecimal orcharacter format.

2. Press Enter to change the values that appear in the Keep Window.

An effective debugging tool is to observe data values in the Keep Window as yousingle-step through execution using PF10. You also can have CA-InterTestautomatically repeat single-stepping every few seconds. Use the Profile displayto set the PF10 value for automatic single-stepping, as explained in the �SourceListing Facility� chapter.

Displaying or Modifying Main Storage (CORE)

You can easily display and modify the value of any data item or register in mainstorage directly from the Source Listing display screen. All main storagefunctions are functions of the CORE facility, but you do not have to access theCORE menus to use the functions described here.

Note: When you request main storage displays directly from your breakpointscreen, CA-InterTest responds with a structured display whenever the request isfor a data item defined in a structure.

Page 131: CA-Intertest for CICS User Guide

Working with Data at a Breakpoint

Breakpoint Activities 5�15

Main storage functions include the following:

� Displaying the value of a data item

� Modifying the value of a data item with a formatted MOVE command

� Modifying a data item by overtyping the main storage display or KeepWindow display

� Displaying and modifying program registers

The first three functions are discussed in the sections that follow; displaying andmodifying program registers are discussed in the �Source Listing Facility�chapter.

Note: You can keep storage items displayed directly on your Source ListingBreakpoint screen by using the Keep Window. Refer to the section Using theKeep Window for details.

Displaying the Value of a Data Item

You can display data items from where they are defined (for example, from theWorking-storage or Linkage sections), or from where the data items arereferenced in the code.

To display the value of a data item from where it is defined:

1. Enter d to the left of the line defining it. For multiple data items, enter d nextto the definition of each item that you want to display.

2. Press Enter. CA-InterTest responds with a main storage display.

If you requested more than one item for display, CA-InterTest responds with astructured CORE storage display for the first item selected. The message line onthe screen prompts you to press Clear to view the next item, or press PF3 tocancel the remaining requests. After the last item is displayed, press Clear toreturn to the Source Listing Breakpoint display.

To display the value of a data item from where it is used in the code:

1. Enter d to the left of any line in the compiled listing that contains the item.

2. Move the cursor under any alphanumeric character in the data item.

3. Press Enter. See the section Using the Cursor for details.

CA-InterTest responds with a main storage display. The first field on the displayscreen is the value of the data item you requested.

Page 132: CA-Intertest for CICS User Guide

Working with Data at a Breakpoint

5�16 CA-InterTest for CICS User Guide

Using the Cursor Follow these rules when using the cursor to display main storage:

� Place the cursor under any character in a data name, Assembler register, orAssembler label.

� Do not place the cursor under a comma, parenthesis, COBOL verb,Assembler masks, Assembler data items in the form A+B or A-B+n, or underany comment area.

To display complex data items, use one of the following methods:

� Display qualified data names as follows: For X of Y, place the cursor under Xin any line of code.

� Display subscripted or indexed data names as follows:

For Y(s1, s2, s3):

� to get the value of Y at s1, s2, s3, place the cursor under Y

� to get the value of s1, place the cursor under s1

Example To display the value of TASKNUM from the Automatic Breakpoint screenillustrated below, overtype the A with d, move the cursor under any letter inTASKNUM, and press Enter.

00880 CONTINUE-TASK.00881**** TASKNUM *NOTE* FIELD MUST BE INITIALIZEDd ==> ADD +1 TO TASKNUM.

==>==> ASRA abend (0C7) detected and prevented. Caused by invalid decimal==> arithmetic data format.==>

CA-InterTest produces the following display of main storage for TASKNUM:

CA-InterTest - MAIN STORAGE UTILITYStarting at Address = 2142A8 Hexadecimal Character

02 TASKNUM | 000000 | ...02 TASK-TEXT | 00000000 00000000 00000000 | ............

| 00000000 00000000 00000000 | ............| 00000000 00000000 | ........

_______________________________________________________________________________PFKEYS 1 Help 2 3 End 4 Return 5 6 Menu

7 Backward 8 Forward 9 Caps Off 10 11 Redisplay 12 StructureCORE='TASKNUM'CAIN0452 FIELD DOES NOT CONTAIN A VALID PACKED DECIMAL (COMP-3) VALUE

Structured Display of TASKNUM

WARNING! If you enter d to the left of a statement and forget to place the cursor underthe data item, you will see the object code for the statement instead. Press Clear or PF3 toreturn to the Source Listing Breakpoint.

Page 133: CA-Intertest for CICS User Guide

Working with Data at a Breakpoint

Breakpoint Activities 5�17

Modifying a Data Item by Overtyping the Main Storage Display

From any CA-InterTest main storage display or Keep Window, you can modifymain storage:

1. Overtype the desired bytes in the character or hexadecimal area.

2. Press Enter to process the change.

Use this method to correct invalid data or data that was not initialized.Remember that these modifications are dynamic�they are one-time fixes that donot prevent the same error from occurring again.

Example In the previous figure, you could initialize TASKNUM by overtyping the final 0in the hexadecimal field for TASKNUM with C and pressing Enter.

Notes:

1. You also can display and modify task-related and system-related areas ofCICS main storage using the CORE facility menus or commands. Refer tothe �Accessing Main Storage: CORE� chapter for details.

2. If you try to change a password-protected storage area not owned by yourprogram, CA-InterTest prompts you to enter the password.

Modifying the Value of a Data Item with a MOVE Command

COBOL and PL/I CA-InterTest provides a pre-formatted MOVE command that lets you easilymodify the value of a COBOL or PL/I data item. Request the MOVE commandfrom:

� Where the data item is defined in the source listing

� A Keep Window

� Any place in the listing where the data item is referenced

To modify a data item from the statement where it is defined or from a KeepWindow:

1. Enter m to the left of the statement. To modify more than one data item,enter m next to each item in the order in which they appear.

2. Press Enter. CA-InterTest generates a fill-in-the-blank MOVE command foreach data item selected.

To modify a data item from where it is referenced:

1. Enter m to the left of any statement in the listing containing the data item.

2. Place the cursor under the data item.

3. Press Enter. CA-InterTest generates a fill-in-the-blank MOVE command foreach data item selected.

Page 134: CA-Intertest for CICS User Guide

Working with Data at a Breakpoint

5�18 CA-InterTest for CICS User Guide

Note: This function is not supported for Assembler users.

Example If you enter m to the left of the fields TASKNUM and TASK-TEXT from theirdefinitions in Working-storage and press Enter, CA-InterTest displays thefollowing formatted MOVE commands.

CA-InterTest - PROTDEM FILE SOURCE LISTING BREAKPOINTCOMMAND ===>Program= COBDEMO Option # Stmt # Margin= 01

Search=OPTS 1 Proc div 2 Work-stor 3 Link sect 4 D-map 5 Clst/Pmap 6 Xref

7 Proc xref 8 Err msgs 9 Srch fwd 10 Srch bwd 11 Ind cmds 12 Bkpt optsPFKS 1 Help 2 3 Det Bkpt 4 Profile 5 Monitor 6 Menu

7 Backward 8 Forward 9 10 11 12 Status-------------------------------------------------------------------------------

MOVE ________________________________________________________________

to

TASKNUM

MOVE ________________________________________________________________

to

TASK-TEXT

Overtype Underscores with a Data-Name, Figurative Constant,Alphanumeric Literal, or Numeric Literal

MOVE Commands to Modify Two Fields

To change the value of a data item:

1. Enter one of the following in the underscored field:

� A data name

� ZEROS, SPACES, LOW-VALUES, HIGH-VALUES, QUOTES

� A numeric literal with or without a leading + or � sign

� An alphanumeric literal enclosed in single quotes

� ALL �literal� to fill the data item with a specified literal string. Forexample: ALL ��� fills the field with dashes.

2. Press Enter to execute the MOVE command. CA-InterTest responds with amain storage display showing the result of the first MOVE. For multiplemoves, the storage displays are shown one at a time; press Clear to processthe next one.

Note: If you do not press Clear, the remaining MOVE commands will notbe executed.

3. From the CORE display, press Clear or PF3 to return to the Source ListingBreakpoint display.

Page 135: CA-Intertest for CICS User Guide

Display or Modify Auxiliary Storage (FILE)

Breakpoint Activities 5�19

Note: All modifications to main storage are dynamic. This means that thechanges are one-time fixes to current values, and do not prevent the same errorfrom occurring again. For a more permanent correction, specify a set of IndirectCommands to be executed at a particular program location. Refer to the sectionUsing Indirect Commands for details.

Display or Modify Auxiliary Storage (FILE)

The CA-InterTest FILE facility can be used even when no program is executing todisplay and modify auxiliary storage. This facility can be accessed from ITSTPrimary Option Menu, Option 4 Auxiliary Storage. The Auxiliary Storage Menu,illustrated next, is displayed.

As the Auxiliary Storage Menu shows, this facility allows you to examine ormodify files, DB2 and SQL/DS databases, DL/I databases, and CICS temporarystorage and transient data records.

------------------ CA-InterTest 6.x AUXILIARY STORAGE MENU ------------------OPTION ===> 1

Select an auxiliary storage type, specifying optional criteria below.

1 Files - Display/select files for access2 DB2 database - Invoke DB2 SQL interface facility3 DL/I database - Access DL/I database4 TD queues - Display/select transient data queues for access5 TS queues - Display/select temporary storage queues for access

Type specific or generic file/queue name(s):

protsym_ p*______ ________ ________ ________ ________ ________ ________

PF1 Help 2 3 End 4 Return 5 6PF7 8 9 10 11 12

Detailed instructions for using FILE are in the chapter �Accessing Auxiliary Storage: FILE.�

Note: If you type FILE on the Command line of a breakpoint display, youbypass this menu and go to the initial file facility display. To access theAuxiliary Storage menu from a Breakpoint, type ITST on the command line, andthen choose option 4 from the Primary Option Menu.

Page 136: CA-Intertest for CICS User Guide

Display or Modify Auxiliary Storage (FILE)

5�20 CA-InterTest for CICS User Guide

Using FILE at a Breakpoint

You can use FILE at a breakpoint to add test records. For example, you couldhave 12 records in a test file, one for each of 12 test conditions; however, whenyou get to a breakpoint you realize there is another test condition. To test thecondition in the current test run and have a complete test file for future runs, youcan go to FILE, add another test record, return to the breakpoint, and continueprogram execution so the program reads the new record.

If you are using FILE, you do not have to enter a record from scratch. You canretrieve a current record, modify it, and then add it as a new record to the file.

FILE Changes Do Not Affect Main Storage at a Breakpoint

FILE changes do not automatically affect main storage. For example, if you arestopped at a breakpoint and you use FILE to change the record that yourprogram is processing, the change you made using FILE is not automaticallyreflected in your program�s main storage because your program has already readthe record.

To make the change in main storage, return to the breakpoint screen, and either:

� Instruct the program to read the record again

� Repeat the changes to main storage that you made to the record or database

Note: If multiple fields need to be changed, you can select multiple items fordisplay or modification from the Working-storage section of a COBOL program.

To return to the breakpoint display after using FILE, press PF3 or Clear. (If youalso have accessed the CA-InterTest CNTL, CORE, or Help facilities, you mightneed to press Clear more than once.)

Changes to data using FILE are permanent updates to the records or database. Itis as if you wrote a batch program to perform the updates.

Page 137: CA-Intertest for CICS User Guide

Using the Breakpoint Primary Option Menu

Breakpoint Activities 5�21

Using the Breakpoint Primary Option Menu

When you are at a breakpoint, CA-InterTest includes a new Breakpoint PrimaryOption Menu, which places many breakpoint activities right at your fingertips.The Breakpoint Primary Option Menu is displayed in the following figure.

-------------- CA-InterTest 6.x BREAKPOINT PRIMARY OPTION MENU --------------OPTION ===>

1 Main menu - Display the CA-InterTest primary option menu2 Status - Display/remove current monitoring options3 Abend - Abend the breakpointed task4 Resume - Resume breakpointed task menu options5 Override - Override automatic breakpoint default processing6 Dump - Cause dump, resume from next sequential instruction7 Disconnect - Disconnect the breakpoint from this terminal8 Hogan SMART - Invoke Hogan System's debugging facilityX Exit - Terminate breakpoint menu processing

PF1 Help 2 3 End 4 Return 5 6PF7 8 9 10 11 12

Notice that from the Breakpoint Primary Option Menu, Option 1 Main Menubrings you to the Primary Option Menu.

Access To access the Breakpoint Primary Option Menu from any Breakpoint, enterMENU on the Command line or press PF6 Menu.

PF1 Help To obtain details on using any of these options, press PF1 for help.

Press PF3 End to exit this menu and return to your breakpoint display.

Using the Backtrace Facility

The Backtrace facility lets you view the logic flow of your program. It isdesigned to answer the question, �How did I get to this point?�.

The Backtrace facility allows you to:

� View the Backtrace Summary for a summary of the program�s execution path

� View the Source Listing Backtrace for a statement-by-statement look at theprogram�s execution path

� Use special PF keys to trace the program�s execution path

� Reposition the source listing to view the program�s execution path fromdifferent backtrace positions

Page 138: CA-Intertest for CICS User Guide

Using the Backtrace Facility

5�22 CA-InterTest for CICS User Guide

In addition to the Backtrace PF keys, all other Source Listing options (such as theKeep Window), setting and removing breakpoints, and the ability to scrollbackward and forward from the current position are available in the Backtracefacility.

Accessing the Backtrace Facility

To access the Backtrace facility from the Source Listing facility and to view theBacktrace Summary, enter BTRACE on the Command line and press Enter, orpress PF11 from the Source Listing Breakpoint screen. CA-InterTest positions theBacktrace Summary at the last executed statement, which is the currentbreakpoint location. To view your program�s backtrace statement-by-statement,press PF2 from the Backtrace Summary to access the Source Listing Backtrace.

Note: While you are using the Backtrace facility, the execution PF keys aredisabled and are replaced with special forward and backward tracing PF keys.

From the Backtrace Summary, you can:

� Access the Source Listing Backtrace to view statement-by-statement detailsof the program�s execution path by:

� Pressing PF2

� Marking a statement block with S to indicate a starting position, andthen pressing Enter

� Assign a bookmark, consisting of one to four characters, to one or more backtracepositions for faster and easier navigation through the Backtrace Summary

Note: In the following figures, gray shading indicates highlighted statements.

Page 139: CA-Intertest for CICS User Guide

Using the Backtrace Facility

Breakpoint Activities 5�23

The following figure illustrates the Backtrace Summary.

CA-InterTest - BACKTRACE SUMMARYCOMMAND ===>Program= COBDEMO � From 0001 To 0011 Of 0011

Specify S then ENTER to display Source Listing BACKTRACE-------------------------------------------------------------------------------PFKS 1 Help 2 Backtrace 3 End 4 5 1st Stmt 6 Last Stmt

7 Backward 8 Forward 9 10 11 Prev Bloc 12 Next Bloc-------------------------------------------------------------------------------� � � �S Bkmk Stmt Block | Source Listing_ ____ #790.0...#791.0| PROCEDURE DIVISION USING DFHEIBLK DFHCOMMAREA._ ____ #791.0...#801.0| CALL 'DFHEI1'._ ____ #801.0...#802.0| CALL 'DFHEI1' USING DFHEIV0_ ____ #804.0...#804.0| IF EIBAID = DFHCLEARs ____ #812.0...#813.0| MOVE ' Y i 00557 ' TO DFHEIV0_ ____ #813.0...#818.0| CALL 'DFHEI1' USING DFHEIV0 TSQ-NAME TASK-STR_ ____ #822.0...#823.0| IF EIBCALEN = 0_ ____ #878.0...#881.0| MOVE ' } 00598 ' TO DFHEIV0_ ____ #881.0...#887.0| CALL 'DFHEI1' USING DFHEIV0 DFHC0070 DFHEICB_ ____ #887.0...#888.1| CALL 'DFHEI1' USING DFHEIV0.* ____ #897.0... Bkpt | ADD +1 TO TASKNUM.

� CAIN2988 First and Last Backtrace Stmt Block

Each of the fields on the Backtrace Summary are described next.

From field indicates the relative backtrace statement blocks that are displayed onthe screen. There are a maximum of 580 backtrace statement blocks that record aprogram�s execution path. The oldest statement blocks are reused as needed.

To reposition the Source Backtrace Summary, overtype the information in theFrom field with a relative statement block number or with a one- to four-byteuser-specified tag or bookmark.

� Select (S) column is used to position a display of the Source Listing Backtrace ata selected backtrace statement. Enter S next to any entry and press Enter. TheSource Listing Backtrace is displayed from the specified backtrace position. Onlyone S is allowed.

Note: An * in the Select column indicates the current backtrace position.

� Bookmark (Bkmk) column is used to assign a unique tag or ID to one or morebacktrace positions.

� Multiple bookmarks can be specified.

� Each bookmark must contain at least one non-numeric character. Forexample, P103, UB7, T1, A, and so on.

� Each bookmark must be unique.

Page 140: CA-Intertest for CICS User Guide

Using the Backtrace Facility

5�24 CA-InterTest for CICS User Guide

� Once a bookmark is assigned to a specific backtrace position, it remainsattached to that backtrace position until the bookmark is replaced orremoved by subsequent program execution.

� There are 580 backtrace positions, and the oldest entries are replaced.

� If a backtrace position is not replaced between breakpoints, you can usethe bookmark to reposition your Backtrace Summary by specifying thebookmark name in the From field of the Backtrace Summary screen.

� Statement (Stmt) Block column identifies a block of contiguously executedstatement numbers.

� Each line entry is a pair of program locations identifying the first and laststatement numbers or offsets for a piece of sequentially executed code.

� For COBOL programs, the decimal value of the statement number indicates aspecific verb in a statement. The first verb is 0, the second is 1, and so on.

� The top left entry was executed first, and the bottom right entry wasexecuted most recently.

� After each statement number or offset in the right column there was a breakin sequential execution, such as a CALL to CICS or a branch to anotherlocation in the program. Each break results in a new line entry.

� Plus signs indicate offsets; for example, +204.

� Source Listing Summary column displays the source code associated with thefirst statement executed in the statement block, which is identified by thestatement number in the left column. The left margin default is 01 for COBOLand PL/I programs, and 34 for Assembler programs.

Note: For display purposes, the starting column is either the left margin defaultor the Margin= value that was specified on the Source Listing Breakpoint screen,whichever is greater.

� Message Line displays any messages, about the section of backtrace that you arecurrently viewing.

Page 141: CA-Intertest for CICS User Guide

Using the Backtrace Facility

Breakpoint Activities 5�25

Reading the Backtrace Summary

The Backtrace Summary summarizes the program�s execution path usingstatement blocks. The statement block column is located on the left side of thescreen and contains two columns of numbers:

� Statement numbers in the left column received control from a branch, acommand level CALL, a PERFORM, or a GOTO.

� Statement numbers in the right column issued the branch to the nextstatement identified.

By tracing the execution path, block by block, you can follow the flow of yourprogram�s logic.

Example To use the information in the statement block columns, first look at the last entry,as in the previous figure:

#897.0... Bkpt

This block answers the question: How did I get to the current breakpoint? Inthis case, the program entered statement 897 and executed all of the machineinstructions up to the current breakpoint.

The next question you might ask is: How did statement 897 receive control? Toanswer this question, you must look at the preceding statement block:

#887.0...#888.1

The statement number in the right column, 881.1, is the statement that caused abranch to statement 897.

Note: You might see a statement branch to itself, as in the following examplefrom the previous figure:

#812.0...#813.0 �� #813.0...#818.0

This happens when a CICS command was issued and execution returned to thesame statement.

Page 142: CA-Intertest for CICS User Guide

Using the Backtrace Facility

5�26 CA-InterTest for CICS User Guide

Backtrace Summary Screen PF Key Assignments

The first Backtrace Summary screen always displays the most recently executedbacktrace entries at the bottom of the backtrace table. Use the From field or thefollowing PF keys to navigate though the Source Backtrace Summary.

PF Key Function

PF1 Help Help displays online Help for the current screen.

PF2 Backtrace Backtrace redisplays the Source Listing Backtrace screen fromthe current backtrace position. The current backtrace positionis indicated by an asterisk (*).

PF3 End End displays the Source Listing Breakpoint screen at the lastbreakpoint.

PF5 1st Stmt 1st Stmt repositions the Backtrace Summary to the first(oldest) entry in the Backtrace.

PF6 Last Stmt Last Stmt repositions the Backtrace Summary to the last(newest) entry in the Backtrace.

PF7 Backward Backward scrolls the Backtrace Summary backward (up) a fullscreen.

PF8 Forward Forward scrolls the Backtrace Summary forward (down) a fullscreen.

PF11 Prev Bloc Prev Bloc displays the previous statement block.

PF12 Next Bloc Next Bloc displays the next statement block.

Note: A column of backtrace statement blocks is available on the Detailed Breakpointscreen. For more information, refer to the section Using the Detailed BreakpointScreen.

Ending a Backtrace Session

To turn off the Backtrace Summary display mode, press Clear or PF3.CA-InterTest redisplays the Source Listing Breakpoint screen, positioned at thelast breakpoint.

Page 143: CA-Intertest for CICS User Guide

Using the Backtrace Facility

Breakpoint Activities 5�27

Accessing the Source Listing Backtrace

To switch to the Source Listing Backtrace and to view the backtrace statement bystatement, press PF2 or type S next to a statement block in the Select column ofthe Backtrace Summary to select a starting position and press Enter, as illustratedin the previous figure.

Note: In the following figures, gray shading indicates highlighted statements.

The following figure illustrates the Source Listing Backtrace.

CA-InterTest - PROTDEM FILE SOURCE LISTING BACKTRACECOMMAND ===>Program= COBDEMO Option # Stmt # Margin= 01

Search=OPTS 1 Proc div 2 Work-stor 3 Link sect 4 D-map 5 Clst/Pmap 6 Xref

7 Proc xref 8 Err msgs 9 Srch fwd 10 Srch bwd 11 Ind cmds 12 Bkpt optsPFKS 1 Help 2 Summary 3 End 4 Profile 5 1st Stmt 6 Last Stmt

7 Backward 8 Forward 9 Prev Stmt 10 Next Stmt 11 Prev Bloc 12 Next Bloc========> Backtrace at #00812 (00812 -> 00813 executed 1 times) <=========

00810* ITEM(TSQ-ITEM)00811* END-EXEC.

_ ====> MOVE ' Y i 00557 ' TO DFHEIV0_ 00813 CALL 'DFHEI1' USING DFHEIV0 TSQ-NAME TASK-STRUCTURE TSQ-LEN00814 DFHDUMMY TSQ-ITEM.008150081600817

_ 00818 IF EIBAID = DFHPF2_ 00819 OR EIBAID = DFHPF14_ 00820 OR TASK-SWITCH = DFHPF2_ 00821 GO TO EXPANDED-DEMO._ 00822 IF EIBCALEN = 0_ 00823 GO TO SEND-FIRST-SCREEN._ 00824 GO TO CONTINUE-TASK.

Reading the Source Listing Backtrace

To clearly illustrate the program�s execution path statement by statement, sourcestatements that were executed from the current backtrace position arehighlighted. However, when you specify a non-backtrace Source Listing optionor use PF7 or PF8 to reposition the Source Listing Backtrace, the highlighting ofexecuted statements is temporarily suspended until a backtrace PF key isentered.

When in Source Listing Backtrace mode, the current backtrace position alwaysappears on the line just above the first source statement. This line appears asfollows:

======>BACKTRACE AT #nnnnn (nnnnn -> nnnnn executed nnnnn times)<=====

The information in this line indicates:

� #nnnnn: the program statement or offset number where the backtrace iscurrently positioned

Page 144: CA-Intertest for CICS User Guide

Using the Backtrace Facility

5�28 CA-InterTest for CICS User Guide

� nnnnn -> nnnnn: the first and last statement numbers of the statement block

� nnnnn times: how many times a statement block was executed

On the Source Listing Backtrace, each relevant backtrace position is indicated inthe listing by an arrow or a line:

� ====> indicates the first statement in a statement block

� <==== indicates the last statement in a statement block

� ===== indicates all other statements within a statement block

Source Listing Backtrace PF Keys

You can trace your program�s execution path on the Source Listing Backtracedisplay using the PF keys described in the following table.

PF Keys Function

PF1 Help Initiates the CA-InterTest online Help Facility.

PF2 Summary Displays the Backtrace Summary.

PF3 End Terminates the Backtrace session and redisplays the SourceListing Breakpoint screen at the last breakpoint.

PF4 Profile Accesses the Source Listing Profile, where you can set SourceListing features and PF9 and PF10 stepping amount settings.

PF5 1st Stmt Repositions screen to the first (oldest) entry in the backtrace.

PF6 Last Stmt Repositions screen to the last (newest) entry in the backtrace.

* PF7 Backward Scrolls screen backward (up) a full screen.

* PF8 Forward Scrolls screen forward (down) a full screen.

PF9 Prev Stmt

PF9 Prev nnn

Repositions the Source Listing Backtrace to the previouslyexecuted statement.

Automatically traces backward the number of statements set inthe Stepping Amount= field on the Source Listing Profile (PF4).Stepping Amount value is nnn.

PF10 Next Stmt

PF10 Next nnn

Repositions the Source Backtrace to the next statement.

Automatically traces forward the number of statements set inthe Stepping Amount= field on the Source Listing Profile (PF4).Stepping Amount value is nnn.

PF11 Prev Bloc Displays the previous statement block.

PF12 Next Bloc Displays the next statement block.

Page 145: CA-Intertest for CICS User Guide

Using the Backtrace Facility

Breakpoint Activities 5�29

* PF keys 7 and 8 temporarily suspend backtrace highlighting until PF5, 6, 9, 10,11, or 12 are specified.

Navigating through Program Execution

You can trace your program�s execution path by:

� Using PF5, PF9, and PF11 to go backward

� Using PF6, PF10, and PF12 to go forward

� Setting the Source Listing Profile Stepping Amount and Wait Amount, andthen using PF9 and PF10 to automatically trace the execution backward orforward

When you first access the Source Listing Backtrace by pressing PF2 from theBacktrace Summary screen, the following screen is displayed.

CA-InterTest - PROTDEM FILE SOURCE LISTING BACKTRACECOMMAND ===>Program= COBDEMO Option # Stmt # Margin= 01

Search=OPTS 1 Proc div 2 Work-stor 3 Link sect 4 D-map 5 Clst/Pmap 6 Xref

7 Proc xref 8 Err msgs 9 Srch fwd 10 Srch bwd 11 Ind cmds 12 Bkpt optsPFKS 1 Help 2 Summary 3 End 4 Profile 5 1st Stmt 6 Last Stmt

7 Backward 8 Forward 9 Prev Stmt 10 Next Stmt 11 Prev Bloc 12 Next Bloc========> Backtrace at #00897 (00897 -> curr. executed 1 times) <=========_ 00895 CONTINUE-TASK.00896**** TASKNUM *NOTE* FIELD MUST BE INITIALIZED

A ==> ADD +1 TO TASKNUM._ 00898 IF TASKNUM = 1_ 00899 MOVE 'DMAPASR' TO MAPNAME._ 00900 IF TASKNUM = 2_ 00901 MOVE 'DMAPSUM' TO MAPNAME._ 00902 IF TASKNUM GREATER 2_ 00903 GO TO SEND-END-MSG._ 00904 GO TO REWRITE-TSQ._ 00905 REWRITE-TSQ.00906*EXEC CICS WRITEQ TS00907* REWRITE00908* QUEUE(TSQ-NAME)00909* FROM(TASK-STRUCTURE)

The previous screen can also be accessed from any other section of backtrace bypressing PF6, which positions the backtrace at the last statement executed (thecurrent breakpoint).

To reposition the source listing to the first statement of the current statementblock or to the beginning of the previously executed statement block, press PF11Prev Bloc.

Page 146: CA-Intertest for CICS User Guide

Using the Backtrace Facility

5�30 CA-InterTest for CICS User Guide

Example If PF11 was pressed from the Source Listing Backtrace screen shown in theprevious figure, the following screen would appear.

CA-InterTest - PROTDEM FILE SOURCE LISTING BACKTRACECOMMAND ===>Program= COBDEMO Option # Stmt # Margin= 01

Search=OPTS 1 Proc div 2 Work-stor 3 Link sect 4 D-map 5 Clst/Pmap 6 Xref

7 Proc xref 8 Err msgs 9 Srch fwd 10 Srch bwd 11 Ind cmds 12 Bkpt optsPFKS 1 Help 2 Summary 3 End 4 Profile 5 1st Stmt 6 Last Stmt

7 Backward 8 Forward 9 Prev Stmt 10 Next Stmt 11 Prev Bloc 12 Next Bloc========> Backtrace at #00897 (00897 -> curr. executed 1 times) <=========

00885* END-EXEC._ 00886 MOVE ' 00604 ' TO DFHEIV0_ ====> CALL 'DFHEI1' USING DFHEIV0._ 00888 IF EIBAID = DFHENTER GO TO CONTINUE-TASK._ 00889 IF EIBAID = DFHCLEAR GO TO SEND-END-MSG._ 00890 IF EIBAID = DFHPF3 GO TO SEND-END-MSG._ 00891 IF EIBAID = DFHPF15 GO TO SEND-END-MSG._ 00892 IF EIBAID = DFHPF2 GO TO EXPANDED-DEMO._ 00893 IF EIBAID = DFHPF14 GO TO EXPANDED-DEMO._ 00894 GO TO SEND-FIRST-SCREEN._ 00895 CONTINUE-TASK.00896**** TASKNUM *NOTE* FIELD MUST BE INITIALIZED

A ==> ADD +1 TO TASKNUM._ 00898 IF TASKNUM = 1_ 00899 MOVE 'DMAPASR' TO MAPNAME.

To reposition the source listing to the beginning of the next backtrace statementblock, press PF12 Next Bloc.

Example If PF12 was pressed from the Source Listing Backtrace illustrated in the previousfigure, the following screen would appear.

CA-InterTest - PROTDEM FILE SOURCE LISTING BACKTRACECOMMAND ===>Program= COBDEMO Option # Stmt # Margin= 01

Search=OPTS 1 Proc div 2 Work-stor 3 Link sect 4 D-map 5 Clst/Pmap 6 Xref

7 Proc xref 8 Err msgs 9 Srch fwd 10 Srch bwd 11 Ind cmds 12 Bkpt optsPFKS 1 Help 2 Summary 3 End 4 Profile 5 1st Stmt 6 Last Stmt

7 Backward 8 Forward 9 Prev Stmt 10 Next Stmt 11 Prev Bloc 12 Next Bloc========> Backtrace at #00897 (00897 -> curr. executed 1 times) <=========

_ 00895 CONTINUE-TASK.00896**** TASKNUM *NOTE* FIELD MUST BE INITIALIZED

A ==> ADD +1 TO TASKNUM._ 00898 IF TASKNUM = 1_ 00899 MOVE 'DMAPASR' TO MAPNAME._ 00900 IF TASKNUM = 2_ 00901 MOVE 'DMAPSUM' TO MAPNAME._ 00902 IF TASKNUM GREATER 2_ 00903 GO TO SEND-END-MSG._ 00904 GO TO REWRITE-TSQ._ 00905 REWRITE-TSQ.00906*EXEC CICS WRITEQ TS00907* REWRITE00908* QUEUE(TSQ-NAME)00909* FROM(TASK-STRUCTURE)

Ending a SourceListing BacktraceSession

To toggle between the Source Listing Backtrace and the Backtrace Summary,press PF2.

Page 147: CA-Intertest for CICS User Guide

Additional Breakpoint Displays

Breakpoint Activities 5�31

To turn off the Backtrace display mode, press Clear or PF3. CA-InterTestredisplays the Source Listing Breakpoint screen positioned at the last breakpoint.

Additional Breakpoint Displays

The Breakpoint Information screen and the Detailed Breakpoint screen provideyou with more information than the Source Listing Breakpoint screen. However,you cannot test from the Breakpoint Information screen, and the DetailedBreakpoint screen requires you to specify most functions by completing anothermenu or entering single-line commands.

You can look at the Breakpoint Information screen from any Source ListingBreakpoint screen:

� When you are at a Source Listing Breakpoint, press PF3 DET BKPT to look atthe Breakpoint Information screen.

� To return to the Source Listing Breakpoint screen, press PF4 Source.

Note: If the Source List BKPT= ON, CA-InterTest displays the Source ListingBreakpoint version. If the Source List BKPT= OFF, CA-InterTest displays theDetailed Breakpoint version.

The following figure shows the Breakpoint Information screen when Source ListBKPT=ON. The format does not include lines of the program listing.

Program COBDEMO stopped by InterTest in statement 882.0 (Offset +01A8E) Automatic breakpoint; ASRA abend (0C7) detected and prevented.

Caused by invalid decimal arithmetic data format.� Backtrace

Tran= DEMC from term L6D1 monitored as PROG=COBDEMO #776.0 #786.0DFHCOMMAREA does not exist. #786.0 #787.0

#789.0 #789.0#797.0 #798.0#786.0 #787.0#814.0 #815.0#815.0 #816.0

Depress PF3 for Source Listing Display. #821.0 #823.0#823.0 #833.0#833.0 #838.0#838.0 #839.0#841.0 #851.0

The two fields shown are at address 01C2A4 and 2B817C: #851.0 #866.0000000 *... * #866.0 #872.01C *. * #872.0 #873.1

#882.0 to here.==> CNTL=GO,TASK=00290,A Margin:Overtype the above or use a PF key or press ENTER to abend without a dump.1 Help 2 3 Source 4 5 Resume 6 Menu7 8 9 1 instruc 10 1 verb 11 Backtrace 12 Status

Page 148: CA-Intertest for CICS User Guide

Using the Detailed Breakpoint Screen

5�32 CA-InterTest for CICS User Guide

Note: The information displayed on the Breakpoint Information screen is alsoavailable on the Detailed Breakpoint screen, which is discussed in the sectionUsing the Detailed Breakpoint Screen.

All fields except the command line are protected. Each field is described next.

Identifies the statement or offset location where the breakpoint occurred in yourprogram. For COBOL programs, the decimal value of the statement numberindicates which verb halted execution. The first verb is 0, the second verb is 1,and so on.

� Identifies the transaction and terminal ID where the program is executing, andhow monitoring was requested, such as for a program, transaction, or terminal.

� Shows the backtrace as described in the section Tracing Program Execution.Additional backtrace entries are accessed using PF11. To return, press Clear.

� Indicates, in both hexadecimal and character format, the address and contents ofmain storage relevant to the breakpoint.

� Displays the command line with a CNTL default command. This command canbe overridden with any other CA-InterTest command or transaction ID, such asHELP or CORE. It is followed by a line that indicates any errors or messages.You can also enter a fastpath command to jump to a menu, such as =1.2.1 to go tothe Program Monitoring menu.

� Lists the PF keys that are available from the Breakpoint Information screen.Refer to the section,Detailed Breakpoint PF Keys for details.

Using the Detailed Breakpoint Screen

The Detailed Breakpoint display is designed for experienced CA-InterTest userswith a knowledge of CA-InterTest commands and CICS. It contains morediagnostic information than the Source Listing Breakpoint display. It isdisplayed when the Source Listing Profile setting Source List BKPT=OFF.

From the Detailed Breakpoint display you can access the Breakpoint PrimaryOption Menu, but you cannot use the one-character commands that are availableon the Source Listing Breakpoint display, such as m to modify or d to display.Instead, access the Main Storage Menus (fastpath entry is =1.3) or enter a one-linecommand in the command field on the bottom of the screen.

For more information on CNTL and CORE, refer to the chapters �CNTL:Commands and Menus� and �Accessing Main Storage: CORE.�

Page 149: CA-Intertest for CICS User Guide

Using the Detailed Breakpoint Screen

Breakpoint Activities 5�33

A Detailed Breakpoint display screen when Source List BKPT=OFF is illustratednext.

Program COBDEMO stopped by InterTest in statement 882.0 (Offset +01A8E)�Automatic breakpoint; ASRA abend (0C7) detected and prevented.

Caused by invalid decimal arithmetic data format.� � Backtrace

Tran= DEMC from term L6D1 monitored as PROG=COBDEMO � #776.0 #786.0DFHCOMMAREA does not exist. #786.0 #787.0

#789.0 #789.000879 GO TO SEND-FIRST-SCREEN. #797.0 #798.000880 CONTINUE-TASK. #786.0 #787.000881**** TASKNUM *NOTE* FIELD MUST BE INITIALIZED #814.0 #815.000882 ADD +1 TO TASKNUM. #815.0 #816.000883 IF TASKNUM = 1 #821.0 #823.000884 MOVE 'DMAPASR' TO MAPNAME. #823.0 #833.000885 IF TASKNUM = 2 #833.0 #838.000886 MOVE 'DMAPSUM' TO MAPNAME. #838.0 #839.0

#841.0 #851.0The two fields shown are at address 033DA4 and 2AE17C: #851.0 #866.0000000 *... * #866.0 #872.01C *. * #872.0 #873.1

#882.0 to here.==> CNTL=GO,TASK=00378,A Margin:Overtype the above or use a PF key or press ENTER to abend without a dump.1 Help 2 3 Source 4 5 Resume 6 Menu7 8 9 1 instruc 10 1 verb 11 Backtrace 12 Status

All fields except the command line are protected. Each field is explained next.

Identifies the statement or offset location where the breakpoint occurred in yourprogram. For COBOL programs, the decimal value of the statement numberindicates which verb halted execution. The first verb is 0, the second verb is 1,and so on.

� Indicates what kind of breakpoint occurred. For a review of what each lettermeans, refer to the section Examining the Source Listing Breakpoint Display. Ifan automatic breakpoint occurred, the reason for it follows.

� Identifies the name of the transaction and terminal ID where the program isexecuting and how monitoring was requested (such as for a program,transaction, or a terminal.).

� For PL/I and Assembler programs, this area displays the machine instructionthat triggered the breakpoint, the machine instruction that last executed, and itsoffset or absolute address. (This is not illustrated in this figure.)

� Indicates the COMMAREA status and size.

� Shows the backtrace, which is described in the section Tracing Program Execution.Additional backtrace entries are accessed using PF11.

Page 150: CA-Intertest for CICS User Guide

Using the Detailed Breakpoint Screen

5�34 CA-InterTest for CICS User Guide

� Displays source listing code, only if you:

� Saved the listing in the CA-InterTest Symbolic File, and

� Chose Source List BKPT=OFF on your Source Listing Profile screen. Withoutthis option specified, CA-InterTest would not display this screen at all;instead, it would display the Breakpoint Information screen.

� Indicates, in both hexadecimal and character format, the address and contents ofmain storage relevant to the breakpoint.

Displays the command line with a default CNTL command. This command canbe overridden with a CA-InterTest command or transaction ID. It is followed bya line that indicates any errors or messages.

� Lists the PF keys that are available from the Detailed Breakpoint Display screen.

Reading the Backtrace on the Detailed Breakpoint Screen

The Backtrace feature of the Source Listing Facility can be used to examine thepath your program took during execution, and to help solve logic problems. Onthe Detailed Breakpoint screen, only one column of backtrace entries is availableat a time. To access additional backtrace entries, press PF11 or switch to theSource Listing Breakpoint display mode for a more detailed backtrace listing.

The backtrace shows the path of the most recently executed code.

� The top left entry was executed first, and the bottom right entry wasexecuted last.

� Each line entry is a pair of program locations identifying the first and laststatement numbers or offsets for a piece of sequentially executed code.

� The decimal value after statement numbers for COBOL code indicates whichverb in the statement was last executed. The first verb is given a decimalvalue of 0, the second 1, and so on.

� After each statement number or offset in the right column there is a break insequential execution, such as a CALL to CICS or a branch to another locationin the program. Each break results in a new line entry.

� If a program loops through a section of code more than one time, thebacktrace displays the number of times the loop was executed below the lineentry, instead of repeating the execution sequence.

� Plus signs indicate offsets; for example, +204.

To return to the breakpoint display, press PF3 or Clear.

Page 151: CA-Intertest for CICS User Guide

Using the Detailed Breakpoint Screen

Breakpoint Activities 5�35

The detailed breakpoint PF keys are listed in the following table.

PF Key Function

PF1 Help Initiates the CA-InterTest online Help facility.

PF2 Unassigned.

PF3 Source Displays the Source Listing version of the breakpoint.

PF4 Unassigned.

PF5 Resume Resumes execution at the next instruction using the amountset on PF10.

PF6 Menu Displays the Breakpoint Primary Option Menu.

PF7 Unassigned.

PF8 Unassigned.

PF9 1 Instruc Executes the next machine instruction and then stops.

PF10 001 VerbPF10 001 StmtPF 10 Registers

For COBOL, executes the next COBOL verb and then stops.For PL/I, executes the next PL/I statement and then stops.For Assembler, toggles registers on and off the screen.

PF11 Backtrace Displays the column of backtrace available at this breakpoint.

PF12 Status Displays a monitoring status report for the monitored entry(program, transaction, or terminal) that caused thebreakpoint.

PF22 Shift Left Shifts source code left; COBOL and PL/I programs shift 10characters at a time; Assembler programs shift to 02, 40, 50,and then 61. If you have only 12 PF keys, use the Margin=field to shift your source code.

PF23 Shift Right Shifts source code to the right the same amounts as PF22.

Continuing Execution

To continue execution from the Detailed Breakpoint or the BreakpointInformation screen:

� Press PF9 or PF10 to single-step.

� Press PF5 Resume to continue execution starting with the next instruction.

� Press PF6 Menu to access the Breakpoint Primary Option Menu, where youcan Abend, Override an automatic breakpoint, Step, or access the ResumeMenu for additional execution options. See the lsection Using the BreakpointPrimary Option Menu for details.

Page 152: CA-Intertest for CICS User Guide

Using the Detailed Breakpoint Screen

5�36 CA-InterTest for CICS User Guide

� Enter a CNTL command on the command line.

� Enter GO, NEXT, or RUN on the command line.

Single-Stepping Press PF9 or PF10 to execute a single machine instruction, COBOL verb, or PL/Istatement, as indicated in the PF key definition on the bottom of the screen. Usethis method to see what data values are being moved into main storage.

Note the following:

� The step amount for PF9 and PF10 cannot be changed. However, alternativestep amounts can be selected by entering CNTL commands or by using theResume Menu options. Access the Resume menu using PF6, and selectOption 4 Resume (the fastpath command is =4).

� When you use PF10 to single-step through nested COBOL IF statements, itmight appear that CA-InterTest is not executing one verb at a time. This is afunction of how the compiler generates the object code. To follow closely theexecution of nested IFs, use PF9 (execute 1 instruction) instead.

Resuming Execution Access the Resume Menu by pressing PF6 from the Detailed Breakpoint screen,then selecting Option 4 Resume. Alternatively, jump to the Resume menu byentering =4 in the Command line on the Detailed Breakpoint screen.

The resume menu allows you to perform the following functions:

� Resume program execution until the next breakpoint occurs or thetransaction ends

� Resume program execution from a new location, such as a COBOLparagraph name, Assembler or PL/I label, COBOL or PL/I statementnumber or offset

� Move or disable the current breakpoint

� Execute a specified number of PL/I instructions or COBOL verbs beforestopping

� Abend the transaction with or without a dump

Note: Instructions for using the Resume Menu are provided in the chapter�Resume and Execution Options.�

CNTL Commands CA-InterTest provides a default command at each breakpoint display.

� The default command at an automatic breakpoint is:

CNTL=GO,task=xxxxx,A

The A means abend the task without a dump.

Page 153: CA-Intertest for CICS User Guide

Using the Detailed Breakpoint Screen

Breakpoint Activities 5�37

� The default command at other breakpoints is:

CNTL=GO,task=xxxxx,C

The C means continue execution from where you left off.

To execute the default command, press Enter.

To modify the default command, overtype the existing command and pressEnter. A summary of CNTL commands for resuming task execution can befound in the chapter �CNTL: Commands and Menus.�

Continue Processing During Breakpoint Processing

To continue processing from either the current line or a specified line number orlabel until the next breakpoint is encountered, an abend occurs, or the programruns to normal completion, enter:

GO line-number | label

Line-number is any line number within an ASSEMBLER, COBOL, or PL/1program from which you want the execution to continue.

Default: the current statement.

Label is any valid paragraph or procedure label within an ASSEMBLER, COBOL,or PL/1 program (up to 31 characters in length) from which you want theexecution to continue.

Default: the current statement.

Note: GO is available only during breakpoint processing.

Continue Processing During Breakpoint Processing Until Specified Verbs are Executed

Tip: The NEXT command replaces the obsolete STEP command.

To continue processing from the current statement until the specified number ofverbs have been executed, enter:

NEXT verb-count

Verb-count is the number of verbs to execute before the next display of theBreakpoint Display screen.

Default: Value of Stepping Amount in Profile.

Note: NEXT is available only during breakpoint processing.

Page 154: CA-Intertest for CICS User Guide

Using the Detailed Breakpoint Screen

5�38 CA-InterTest for CICS User Guide

Continue Processing During Breakpoint Processing Ignoring Preset Breakpoints

To continue processing from the current statement ignoring all presetbreakpoints until an abend occurs or the task runs to normal completion, enter:

RUN

Note: RUN is available only during breakpoint processing.

Continue Processing During Breakpoint One Verb at a Time

To continue processing from the current statement one verb at a time displayingthe Breakpoint Display screen for a specified time interval until either a specifiednumber of verbs have been executed or the next "CALL" statement isencountered, enter:

AUTOSTEP interval stop-count

Interval is the number of seconds (between 1 �59) to display each BreakpointDisplay screen.

Default: Wait Amount in Profile.

Stop-count is the number of verbs to execute before stopping.

Default: Stop value in Profile.

Note: AUTOSTEP is available only during breakpoint processing.

Viewing More Code on the Detailed Breakpoint Display

While viewing the Detailed Breakpoint display, you might not see all of theprogram�s source code on your screen. To see more code:

� Tab to the Margin= field, enter a number from 0 to 99 to indicate the startingcolumn number of the left margin, and press Enter. CA-InterTest redisplaysthe source code beginning from the column number you requested. AMargin= value of 0 begins the display from column 1.

� Press PF22 to shift the source code left. Press PF23 to shift the source coderight. COBOL and PL/I programs shift 10 characters at a time; Assemblerprograms shift to positions 02, 40, 50, and then 61.

Restoring the Detailed Breakpoint Display

Once you leave the Detailed Breakpoint screen (for example, by pressing PF3 toview the source listing), you can restore the Detailed Breakpoint display bypressing PF3 or Clear. If you accessed a CA-InterTest facility such as CNTL,CORE, HELP, or FILE, you might need to press PF3 or Clear more than once torestore the breakpoint display.

Page 155: CA-Intertest for CICS User Guide

Using Indirect Commands

Breakpoint Activities 5�39

Switching Between Breakpoint Screens

If the first CA-InterTest breakpoint screen you see is a Detailed Breakpointdisplay, you might want to switch to the Source Listing Breakpoint Displayversion for your program testing. To switch from the Detailed Breakpoint screento the Source Listing Breakpoint screen:

1. Press PF3 Source. You should now see the Source Listing BreakpointDisplay .

2. Enter PROFILE in the Command line and press Enter. The Source ListingProfile screen is displayed.

3. Enter ON in the Source List BKPT= field and press Enter. You are returnedto the Source Listing Breakpoint display.

Once you complete these steps, CA-InterTest displays the Source ListingBreakpoint version at future breakpoints in your test session. For moreinformation, refer to the �Source Listing Facility� chapter.

To switch from the Source Listing Breakpoint to the Detailed Breakpoint display:

1. Enter PROFILE in the Command line of a Source display and press Enter.The Source Listing Profile is displayed.

2. Enter OFF in the Source List BKPT= field and press Enter.

3. Press PF3 DET BKPT. You should now see the Detailed Breakpoint displayversion.

Note: The default value of the Source List BKPT= field is a system-wide,CA-InterTest installation option. To change the default value, have your SystemAdministrator consult the CA-InterTest for CICS Getting Started.

Using Indirect Commands

The CA-InterTest Indirect Commands facility allows you to define a set ofcommands to be executed automatically, or indirectly, at a predeterminedlocation in a monitored COBOL or PL/I program. These commands can beinvoked from an unconditional, conditional, or request breakpoint.

In effect, Indirect Commands are executed at breakpoints within your programjust as other CA-InterTest line commands issued from the Source ListingDisplay, such as MOVE and GO, are used to alter the flow of your program�slogic. The difference is that Indirect Commands are executed automaticallywithout issuing a breakpoint display. Once the Indirect Commands areperformed, your program continues to execute normally.

Page 156: CA-Intertest for CICS User Guide

Using Indirect Commands

5�40 CA-InterTest for CICS User Guide

Indirect Commands save you from having to recompile a program or manuallycorrect an area of code every time it is encountered during a debugging session.With the Indirect Commands facility, you can:

� Change the flow of control in your program

� Test conditions based on specified variables

� Change the value of specified variables

� Create and execute commands as a group, like adding a new subroutine

� Automatically resume execution of your program at the same or differentlocation

� Define abbreviations for variables with long names

Note: Indirect Commands are not available for Assembler programs.

How Can You Use Indirect Commands?

Indirect commands can be used to correct the following sample programproblems:

� A variable is not being initialized during processing. Using indirectcommands, you can initialize the variable every time the program is run andcontinue execution without recompiling.

� A new routine is needed in your program. You can insert the code usingindirect commands and continue executing your program withoutrecompiling.

� A section of code is bad. To continue executing or testing withoutrecompiling, you can write and invoke indirect commands to directCA-InterTest to go around the bad source code or execute a new series ofindirect command statements.

Overview of Steps

Follow these steps to invoke indirect commands in your program:

1. Enter the statement numbers and indirect command statements on theIndirect Commands screen. To access the Indirect Commands screen, useOption #11 from a Source Listing screen, or select the Command option onthe Program Monitoring menu.

2. Use the Monitoring Menus or Source Listing facility to set a breakpoint(unconditional, conditional, or request) where the indirect commands willtake effect. As you set the breakpoint, you must access the BreakpointOptions menu and specify the first statement number of the IndirectCommand as an option to that breakpoint. Option #12 (Bkpt Opt) on theSource Listing screen provides access to the Breakpoint Options menu.

Page 157: CA-Intertest for CICS User Guide

Using Indirect Commands

Breakpoint Activities 5�41

3. Specify the terminal ID (terminal ID, .ANY, or .NO) or user ID for theindirect commands to take effect.

The following section describes each of these steps in detail.

Note: You can set the breakpoint and give the starting indirect commandnumber before you code the Indirect Commands. The order is up to you.However, new users often find it easier to code the indirect commands first, andthen attach them to breakpoints.

Setting a Breakpoint to Execute an Indirect Command

Before accessing the Indirect Commands facility, first set an unconditional,conditional, or request breakpoint that includes an option to execute an IndirectCommand statement number.

Follow the steps below when setting an unconditional or conditional breakpointfrom the Source Listing Breakpoint:

1. From the Source Listing Breakpoint, set an unconditional or conditionalbreakpoint that will invoke the indirect commands.

The following table summarizes how to set the breakpoints from the SourceListing Facility:

Breakpoint Source Listing Entries

Unconditional Specify:

1. Option # 12 (Bkpt Opts)2. U to the left of one or more statements

3. Press Enter

Conditional Specify:1. Option # 12 (Bkpt Opts)

2. C to the left of one or more statements

3. Press Enter

Request Use Monitoring Menus

Note: To jump to the Program Monitoring Menu from abreakpoint display, enter =1.2.1 on the Command line.

Page 158: CA-Intertest for CICS User Guide

Using Indirect Commands

5�42 CA-InterTest for CICS User Guide

The following figure shows how to set an unconditional breakpoint forIndirect Commands from the Source Listing facility. Notice the requiredOption # 12 entry at the top of the screen.

CA-InterTest - PROTDEM FILE PROTDEM FILE SOURCE LISTING BREAKPOINTCOMMAND ==> �Program= COBDEMO Option # 12 Stmt # Margin= 01

Label/Search Arg=OPTS 1 Proc div 2 Work-stor 3 Link sect 4 D-map 5 Clst/Pmap 6 Xref

7 Proc xref 8 Err msgs 9 Srch fwd 10 Srch bwd 11 Ind cmds 12 Bkp optsPFKS 1 Help 2 3 Det BKPT 4 Profile 5 Resume 6 Menu

7 Backward 8 Forward 9 10 Do 1 Verb 11 Backtrace 12 Status-------------------------------------------------------------------------------

00788 03 OPTS-PROTHLF PIC X(8).0078900790 PROCEDURE DIVISION USING DFHEIBLK DFHCOMMAREA.

U 00791 CALL 'DFHEI1'.

Enter Option # 12 and U on Source Listing for Indirect Commands

2. After pressing Enter, CA-InterTest displays the Breakpoint Locations menuwith the location you selected on the Source Listing already indicated.

3. On the Breakpoint Locations menu, specify the (still to be written) one- tofive-digit statement number of the first indirect command that you want to beexecuted at the breakpoint you are setting. For example, enter 10 or 50.

CA-InterTest MONITORING COMMAND BUILDER - COBOL BREAKPOINT LOCATIONS 11

SET breakpoint locations for PROG=COBDEMO in any of the following fields:(For qualification by nested program name, specify 'Program-id:Label')

Para/Data _______________________________ _______________________________Names: _______________________________ _______________________________

_______________________________ _______________________________StatementNumbers: 791__ _____ _____ _____ _____ _____ _____ _____

Offsets: _____ _____ _____ _____ _____ _____ _____ _____

All paragraph names: _ All instructions: _

Enter 'n' to stop only every n'th time: ____Term ID (or .ANY or .NO) where breakpoints will take effect: ____Term ID (or .ANY) that will receive the breakpoints: ____Statement no. of indirect command(s) to be executed: 50_

�user ID who will execute the program _____

1 Help 2 3 End 4 Return 5 67 8 9 10 11 12 Status

4. Press Enter. CA-InterTest processes the breakpoint as usual, and displays amessage to that effect.

Page 159: CA-Intertest for CICS User Guide

Using Indirect Commands

Breakpoint Activities 5�43

5. CA-InterTest displays the following Indirect Commands screen.

CA-InterTest MONITOR COMMAND BUILDER - COBDEMO INDIRECT COMMANDS 24

� Term ID (or .ANY or .NO): xxxx � Delete ALL: NO

� �LINE COMMAND----- ------------------------------------------------------------------------

� 1 Help 2 3 End 4 5 67 Backward 8 Forward 9 Top 10 Bottom 11 12

� CAIN1255 No indirect commands exist for this program/terminal.

Each field on the Indirect Commands screen is described next.

Term ID indicates the terminal where the specified indirect commands will execute.This value must match the terminal ID specified at the breakpoint that willinvoke these Indirect Commands.

xxxx�indicates a specific terminal.

.ANY�indicates that these commands will execute at all terminals.

Note: If Indirect Commands are specified for both .ANY and your specificterminal, the Indirect Commands specified for your terminal take precedence.

.NO�indicates that these commands will execute with no terminal.

� Delete ALL provides a quick method to delete all previously specified indirectcommands for the program you are testing. Enter one of the following options:

NO�indicates that the indirect commands at the specified terminal will not bedeleted; the default.

YES�indicates that the indirect commands at the specified terminal will bedeleted.

� Line ondicates the one- to five-digit sequence number, from 1 to 99999, of the indirectcommand, which must be followed by at least one blank space. This number must bethe first item entered except for continued commands, and must begin in the firstposition of the input line.

� Command displays the actual command text to be performed during IndirectCommand execution from a breakpoint. For a complete listing of IndirectCommands, refer to the section Indirect Command Syntax.

� PF Keys let you scroll through your indirect commands, invoke the Help facility,or exit the function.

Page 160: CA-Intertest for CICS User Guide

Using Indirect Commands

5�44 CA-InterTest for CICS User Guide

� Message Line displays messages about your indirect commands.

Coding Indirect Use the Indirect Commands screen to code all indirect commands for yourCommands program. Refer to the end of this chapter for syntax information.

When you are finished coding an Indirect Command statement:

1. Press Enter. CA-InterTest translates everything you have entered intouppercase characters and checks the command for syntactical accuracy. Ifthe command is correct, one of the following messages appear:

CAIN1261 Indirect command(s) added.Indirect command(s) replaced.

2. When you have coded all of your indirect commands, press PF3 or Clear.

From Source Listing If you are working from the Source Listing facility, you are returned to theSource Listing display.

Indirect Command Examples

The following examples illustrate how to use indirect commands to correct theerrors in the CA-InterTest demo program COBDEMO.

1. To prevent the ASRA problem caused by the invalid decimal arithmetic datavalue assigned to the COBOL data-item TASKNUM:

� Using Source Listing Option # 12 with a U line command, set anunconditional breakpoint at statement number 790.

� Specify 10 as the indirect command statement number that you want toexecute at the breakpoint.

� Using the Source Listing Option # 11, access the Indirect Commandsfacility. Then, enter the indirect commands on the Indirect Commandsscreen, as illustrated below.

CA-InterTest MONITOR COMMAND BUILDER - COBDEMO INDIRECT COMMANDS 24

Term ID (or .ANY or .NO): X001 Delete ALL: NO

LINE COMMAND----- ------------------------------------------------------------------------00010 /* INITIALIZE TASKNUM */00020 MOVE 0 TO TASKNUM00030 EXIT

1 Help 2 3 End 4 5 67 Backward 8 Forward 9 Top 10 Bottom 11 12CAIN1261 Indirect commands added.

Page 161: CA-Intertest for CICS User Guide

Using Indirect Commands

Breakpoint Activities 5�45

2. To avoid the storage violation that occurs in COBDEMO:

� Using the Source Listing option 12 with a U line command, set anunconditional breakpoint at statement number 1369.

� Specify 50 as the indirect command statement number that you want toexecute at the breakpoint.

� Using the Source Listing Option # 11, access the Indirect Commandsfacility, and then add the following commands.

CA-InterTest MONITOR COMMAND BUILDER - COBDEMO INDIRECT COMMANDS 24

Term ID (or .ANY or .NO): X001 Delete ALL: NO

LINE COMMAND----- ------------------------------------------------------------------------00010 /* INITIALIZE TASKNUM */00020 MOVE 0 TO TASKNUM00030 EXIT00040 *00050 /* CIRCUMVENT STORAGE VIOLATION */00060 GOTO 'SEND-MAP00'

1 Help 2 3 End 4 5 67 Backward 8 Forward 9 Top 10 Bottom 11 12CAIN1261 Indirect commands added.

3. To perform the code that was bypassed at statement 1369 at another locationwhere it will not cause a storage violation:

� Using the Source Listing Option # 12 with a U line command, set anunconditional breakpoint at statement number 1363.

� Specify 80 as the indirect command statement number that you want toexecute at the breakpoint.

� Using the Source Listing Option # 11, access the Indirect Commandsfacility, then add the following commands.

CA-InterTest MONITOR COMMAND BUILDER - COBDEMO INDIRECT COMMANDS 24

Term ID (or .ANY or .NO): X001 Delete ALL: NO

LINE COMMAND----- ------------------------------------------------------------------------00010 /* INITIALIZE TASKNUM */00020 MOVE 0 TO TASKNUM00030 EXIT00040 *00050 /* CIRCUMVENT STORAGE VIOLATION */00060 GOTO 'SEND-MAP00'00070 *00080 /* INSERT MOVE AT A SAFE LOCATION */00090 IF NEW-DATA > ZEROES THEN MOVE NEW-DATA TO STG-AREA100100 EXIT

1 Help 2 3 End 4 5 67 Backward 8 Forward 9 Top 10 Bottom 11 12CAIN1261 Indirect commands added.

Page 162: CA-Intertest for CICS User Guide

Using Indirect Commands

5�46 CA-InterTest for CICS User Guide

Viewing Indirect Commands on the Status Report

The Status Report displays a list of all active indirect commands, and all activebreakpoints and other monitoring options. Each line on the report shows the type ofbreakpoint, the presence of indirect commands, and the terminal at which they are setto take effect.

Access To access the Status Report from the Source Listing display or breakpoint, enterthe command STATUS, or press PF12 Status. The following figure illustrateshow indirect commands are represented on the CA-InterTest Status Report.

-------------------- CA-InterTest 6.x MONITORING STATUS -----------------COMMAND ===>

Type + to expand or - collapse option levels displayed below,or R to remove option(s).

Option Description Attributes_ - COBDEMO Program monitor entry COBOL_ + |-.ANY User monitoring options Active_ - |-CARAR01 User monitoring options Active

| Symbolic listing file PROTSYM_ - |-UBP Unconditional breakpoint 'CONTINUE-TASK'

| Option ID 4B893C0| From, to terminals .ANY, .ANY| � Execute indirect command 100

_ - |-CMD � Indirect commands defined .ANY| Option ID 90AB36F1

_ |-SLB Source listing breakpoints .ANY*** End of data ***

PF1 Help 2 Refresh 3 End 4 Return 5 Collapse 6 ExpandPF7 Backward 8 Forward 9 10 11 12

The previous figure shows the status report expanded for the programCOBDEMO when monitored by user ID CARAR01. Notice the unconditionalbreakpoint entries and indirect command entries, which are discussed below.

The UBP entry identifies the unconditional breakpoint set at the procedure-name Continue-Task. Notice the last line of the UBP description is Executeindirect command ... 100.

� The CMD entry identifies the indirect commands. Notice the indirectcommands are assigned the option ID 90AB36F1.

To return to the Source Listing display from the Status Report, press PF3 orClear.

Page 163: CA-Intertest for CICS User Guide

Editing Indirect Command Definitions

Breakpoint Activities 5�47

Editing Indirect Command Definitions

To view, add, change, or delete indirect commands directly from the SourceListing facility, enter 11 in the Option # field. CA-InterTest displays the indirectcommands defined for the default terminal, which is either the terminal you areworking at or the terminal specified on the Source Listing Profile.

ITST Access to IndirectCommands

The ITST Monitoring Menus and the CNTL menu allow direct access to theIndirect Commands facility, where you can code or edit indirect commands to beexecuted by breakpoints.

From any menu or Source Listing screen, do the following:

1. Access the ITST Program Monitoring menu (ITST 2.1).

The fastpath command entry from a breakpoint is: Command ==> =1.2.1.

2. On the Program Monitoring menu, complete the Program name and type Snext to the Commands (Indirect Commands) Option. The entries areillustrated in the following figure.

-------------------- CA-InterTest 5.4 PROGRAM MONITORING --------------------COMMAND ===>

Type information and S to set or R to remove option(s) below.

Program . . cobdemo_ Program name (or .ALL, .OPTIONS or generic)user ID . . ________ User (or .ANY) for whom the program is monitored

More: +Option Description

_ Status Display and/or remove monitoring options (S only)_ Monitor Monitoring (R removes monitoring and all options previously set)_ UBP Unconditional breakpoints (specific program only)_ CBP Conditional breakpoints (specific program only)_ RBP Breakpoints for CICS, DB2, DL/I or external CALL requests_ New copy Fetch new copy of program and reset monitoring options (S only)s Commands Indirect commands defined for a specific COBOL or PL/1 program_ Replace CICS resource name replacement options_ Protect Storage protection monitoring options_ Special Other options (storage allocation, file updating, etc.)_ Composite Monitor multi-CSECT program's separately compiled components

PF1 Help 2 3 End 4 Return 5 6PF7 Backward 8 Forward 9 10 11 12

3. Press Enter to continue to the next screen. The following Indirect Commandsscreen is displayed.

CA-InterTest MONITORING COMMAND BUILDER - INDIRECT COMMANDS 24

SET option to EDIT indirect commands defined for execution in:PROG=COBDEMO

Term ID (or .ANY or .NO) where commands will take effect: ____user ID (or .ANY) who will execute the program: .ANY___

PF1 Help 2 3 End 4 Return 5 6PF7 8 9 10 11 12

Page 164: CA-Intertest for CICS User Guide

Indirect Command Syntax

5�48 CA-InterTest for CICS User Guide

Optionally, specify the terminal ID where the indirect commands will takeeffect and the user ID who will execute the program when the indirectcommands are to take effect.

Note: Generally, you can accept the defaults. Press PF1 for help incompleting these fields, if necessary.

To edit indirect commands previously coded for a program, ensure theterminal ID and user ID entries match those initially used to code the indirectcommands.

4. Press Enter to continue. CA-InterTest displays the Indirect Commandsscreen for the requested program, terminal ID, and user ID.

See the section Formatting Indirect Commands for details on how to insert, copy,edit, and delete the commands.

Indirect Command Syntax

Controlling the Flow of Execution

If a breakpoint is set to invoke indirect commands, when you run your programthe commands are automatically executed without stopping first. Execution isreturned to the program according to the exit command that you specified inyour indirect commands.

To return execution to your program following the Indirect Commandsprocessing, use one of the following exit commands:

BREAK CA-InterTest halts Indirect Commands processing and issues a breakpointdisplay from where the indirect commands were invoked in the program.

GOTO CA-InterTest resumes execution at the program statement number, offset,paragraph name, or indirect command statement number specified after theGOTO command.

EXIT CA-InterTest resumes program execution at the breakpoint location from whichthe indirect commands were invoked.

Page 165: CA-Intertest for CICS User Guide

Indirect Command Syntax

Breakpoint Activities 5�49

Command Syntax

The syntax for the basic commands available in the Indirect Commands facilityare described next.

Note: All bold characters are required in the syntax of the command.

Equate Command

This command equates a one- to eight-character symbol of your choice to arelatively long data name. A maximum of ten EQuate symbols can be activeconcurrently.

The syntax is:

EQuate symbol [TO] data-name

symbol is any user-defined symbol, which observes the rules for data names.

data-name is the corresponding variable name.

Brackets, [ ], indicate an optional entry.

Example EQ TN TASKNUMBER

Exit Command

This command returns control to the statement following the last executedPErform indirect command. If no PErform is active, indirect processing isterminated and control is returned to the program, where execution continuesfrom the breakpoint. Any relational operands entered with this command areignored.

Example EX

Goto Command

This command resumes execution at a specified location. The syntax controlswhere execution is resumed.

To resume execution at the specified indirect command sequence number, usethis syntax:

GOto *nnnnn

To resume execution at the specified statement number, use this syntax:

GOto #nnnnn

Page 166: CA-Intertest for CICS User Guide

Indirect Command Syntax

5�50 CA-InterTest for CICS User Guide

To resume execution at the specified hexadecimal displacement, use this syntax:

GOto +nnnnn

To resume execution at the specified paragraph-name, use this syntax:

GOto ‘paragraph-name’

Example GO *1150

IF, THEN Statement

This statement tests a conditional expression. If the expression is true, the THENportion is processed.

The syntax is:

IF expression THEN indirect command

expression is any valid condition.

indirect command is any valid indirect command.

Example IF (A + B) * C = D THEN GO *1150

Break and Pause Commands

The BReak and PAuse commands terminate indirect command processing andredisplay the Breakpoint display. Any operands included with these commandsare ignored by CA-InterTest.

Example BR

Move Command

This command moves the specified source-item to the target data-name. FollowCOBOL MOVE statement rules when formatting an indirect command Move.

The syntax is:

Move [source-item] TO data-name

Note: Brackets,[ ], indicate a choice of source-items.

Page 167: CA-Intertest for CICS User Guide

Indirect Command Syntax

Breakpoint Activities 5�51

Valid source-items are listed next.

Source Item Description

[ALL,]�char-data�[ALL,]�char-data�

�char-data� or �char-data� is a non-numeric character string.

[ALL,]x�hex-data�[ALL,]x�hex-data�

x�hex-data� or x�hex-data� is a hexadecimal string.

numeric literal numeric literal is valid only if the target data-name is anumeric variable.

figurative constant figurative constant is any valid COBOL figurative constant.

floating-point literal floating-point literal is valid only if the target data-name isCOMPUTATIONAL-1, COMPUTATIONAL-2 (COBOL)or FLOAT (PL/I).

arithmetic expression arithmetic expression is any valid CA-InterTest arithmeticexpression.

bit literal bit literal is any bit literal string.

Note: Refer to the section Formatting Indirect Commands for a completedescription of each of these source items.

data-item refers to a COBOL or PL/I variable name. Qualifiers and subscriptingare allowed.

data-name refers to another COBOL or PL/I variable name. If the data-name is aCOBOL Index cell, the MOVE command will move exactly the data specified intothe Index cell. No mathematical calculation is performed.

Perform Command

This command transfers control to the specified indirect command sequencenumber as a subroutine call. A maximum of five PErform commands may beactive concurrently.

The syntax is:

PErform nnnnn

nnnnn indicates the indirect command sequence number to which control istransferred.

Example PE 2250

Page 168: CA-Intertest for CICS User Guide

Indirect Command Syntax

5�52 CA-InterTest for CICS User Guide

Formatting Indirect Commands

Rules Indirect commands and their arguments are free-form. However, there areseveral rules to keep in mind as you format your commands:

� All arguments must be separated by at least one blank space.

� Only one indirect command can appear on a line (with the exception of theIF command), but one indirect command can span several lines. The firstline of a command must begin with a line number followed by a blank space;consecutive lines of a single command must begin with at least one blankspace. For example:

10 IF DATA-COUNTER <> 0THEN M 0 TO DATA-COUNTER

20 BR

� New indirect commands are entered by:

� Overtyping an existing command

� Entering new indirect commands on blank lines below existing ones

For example, if you have indirect command 10 followed by indirectcommand 20, to insert commands between the two you would tab to thenext blank line, enter indirect commands 11 through 19. Press Enter, andCA-InterTest places the commands in numeric sequence.

� Indirect commands can be duplicated by changing only the sequencenumber of an existing indirect command. The original command is notaffected; it is duplicated at the specified sequence number.

Note: Be sure to overtype the entire line number when duplicating acommand. Failure to do so could result in an erroneous move. For example,if you want command 00010 to be copied to line 00045, you must overtypethe entire line number 00010 with 00045 or 45 b b b (where b is a blank). Ifyou only overtype the first two digits with 45, the command will be copied toline 45010, not 00045.

� Comments can be entered in place of commands. To enter a comment,specify a sequence number followed by at least one space, and then entereither an asterisk (*) or a backslash and an asterisk (/*) followed by at leastone space and your comment. For example:

00035 * THIS IS A COMMENT LINE

� Indirect commands are verified after you press Enter, but some errors mightnot be detected until the indirect commands are actually processed.

� An entire set of indirect commands can be deleted by specifying YES in theDelete ALL= field.

� A specific indirect command can be deleted by overtyping the line numberwith DEL.

Page 169: CA-Intertest for CICS User Guide

Indirect Command Syntax

Breakpoint Activities 5�53

Using Data Names and Variables

Indirect commands can reference any data name in the Data Division Linkagesection of the program that you are testing.

For COBOL (prior to COBOL II Release 1.3)

� One group-item qualifier is allowed. It can be any group that contains theitem in question:

� Immediate parent

� 01-level

� Any level in between the immediate parent and the 01-level

� Up to three levels of subscripting are allowed. Subscripts can be:

� Positive integer numeric literal

� Another variable defined as a positive integer numeric field (no sign ordecimal portion)

� INDEX item (either INDEXED BY or USAGE INDEX)

For COBOL II (Releases 1.3 and above) and COBOL/370

� One program-ID qualifier is allowed.

Note: If your COBOL II source listing contains a nested program that has a localvariable with a name identical to a variable in the main program, use theappropriate program-ID to indicate which variable you are referencing.

� One group-item qualifier is allowed. It can be any group that contains theitem in question:

� Immediate parent

� 01-level

� Any level in between the immediate parent and the 01-level

� Up to seven levels of subscripting are allowed. Subscripts can be:

� Positive integer numeric literal

� Another variable defined as a positive integer numeric field (no sign ordecimal portion)

� INDEX item (either INDEXED BY or USAGE INDEX)

For example:

DATE OF INVOICETABLE-ENTRY(4,TABLE-INDEX)

Page 170: CA-Intertest for CICS User Guide

Indirect Command Syntax

5�54 CA-InterTest for CICS User Guide

For PL/I Programs

� Only items declared as STATIC, AUTOMATIC, BASED, and POINTER typevariables that are declared as parameters to the entry point of the MAINprocedure are supported.

� One procedure-name qualifier is allowed. If your PL/I source contains aninternal procedure that has a local variable with a name matching a variablein the main procedure, use the appropriate procedure-name to indicate towhich variable you are referencing.

� Up to 15 structure-name qualifiers are allowed. You must follow PL/Inotation conventions; for example: A.B.C.D.E.

� Up to 15 levels of subscripting are allowed. A subscript can be:

� Integer numeric literal

� Another variable defined as an integer numeric field (no decimal portion)

� The subscript value must be within the actual declared bounds of the array.For example, if the array is declared as (100:200), subscript values must bewithin the range of 100 to 200, inclusive.

� The base address for a variable can be supplied with the base locatornotation. One item can supply the base address for the next item, which inturn can supply the base address for the next variable, up to a limit of 15items. This feature is intended for BASED variables, but it can be used tomap any declaration over any addressable storage. For example:

DATE OF INVOICETABLE_ENTRY(4,TABLE_INDEX)

Using Literals in Indirect Commands

Numeric is a string of one to eighteen digits with no intervening commands ordecimal point, such as 7954. If the target variable contains an implied decimal point,then the decimal point must also be implied in the literal.

Floating point is appropriate only for COMPUTATIONAL-1 andCOMPUTATIONAL-2 target variables, which consist of the following:

� A sign

� A string of up to seven digits with an optional decimal point

� The character E followed by an optional signed exponent

Alphanumeric is a character string enclosed within single, �, or double, �,quotation marks, such as �RALPH9� or �RALPH9�.

Hexadecimal is a string of an even number of characters consisting of 0 to 9 and Ato F, enclosed within a single, �, or double, �, quotation marks, and prefixed withX, such as X�F0�.

Page 171: CA-Intertest for CICS User Guide

Indirect Command Syntax

Breakpoint Activities 5�55

Bit is a string of the characters 1 and 0 enclosed in single quotes, �, such as�11110000�. The maximum length of a bit literal is determined by its context andthe maximum allowed indirect command length.

Using Figurative Constants in Indirect Commands

Use the following figurative constants in formatting indirect commands.

Valid Figurative Constants

ZERO numeric value 0

ZEROS

ZEROES

HIGH-VALUE character value X�FF�

HIGH-VALUES

SPACE blank (X�40�)

SPACES

LOW-VALUE character value X�00�

LOW-VALUES

QUOTE quotation mark (�)QUOTES

ALL literal any literal to fill a field

Using Conditional Expressions in Indirect Commands

Indirect commands support two types of expressions:

� Conditional expressions, used with indirect commands IF statements

� Arithmetic expressions, used with indirect commands IF and MOVE statements

Operands in these expressions can be:

� Figurative constants

� Literals

� Variables

Note: Qualified data names and subscripts are also supported.

Page 172: CA-Intertest for CICS User Guide

Indirect Command Syntax

5�56 CA-InterTest for CICS User Guide

The following table lists acceptable relational operators.

Relational Operator Meaning

= equal to

< > not equal to

< less than

> greater than

< = less than or equal to

> = greater than or equal to

COBOL Variable Syntax

The general syntax for a COBOL variable in CA-InterTest indirect commands isas follows:

[prog-id:] data-name [IN grp-name][ ({sub-name OR ind-name OR number}[, ...]) ]

or

[prog-id:] data-name [OF grp-name][ ({sub-name OR ind-name OR number}[, ...]) ]

prog-id identifies the program-ID of the program to which the variable belongs.If used, the prog-id must immediately be followed by a colon (:). If omitted, thedefault is the main program�s program-ID.

data-name is the COBOL data item.

grp-name identifies the COBOL identifier of a group item to which the data-namebelongs. This clause allows qualification of an identifier that appears in morethan one group.

sub-name specifies a COBOL identifier to be used as a subscript. This identifiermust follow all the COBOL rules for valid subscripts.

ind-name indicates a COBOL index-name.

number specifies a positive integer that is used as a valid subscript for a data-name.

Note: OR is not part of the command syntax.

Page 173: CA-Intertest for CICS User Guide

Indirect Command Syntax

Breakpoint Activities 5�57

Examples The following are examples of valid COBOL data-names:

TOTAL-AMTCUST-NO OF CUST-RECMONTHLY-BAL (8)YEARLY-TOT (W-YR, 3, W-DEPT)SUBRTN1:ITEM-ASUBRTN1:ITEM-B IN INP-REC(3, SUB-2, 4, SUB-3)

PL/I Variable Syntax

The general syntax for a PL/I variable in CA-InterTest indirect commands is asfollows:

expression-1 [-> expression-2 ...]

-> defines the address for symbol. It indicates that the left-hand expressionprovides the address on which the right-hand expression will be based. If theleft-hand expression is a PL/I POINTER variable, the contents of the POINTERvariable will be used. The -> notation is provided for referencing PL/I BASEDvariables whose addresses cannot be resolved at compile time, but can be usedfor referencing any PL/I variable.

expression is defined as follows:

[procnm:] var-name-1[,var-name-2 ...] [({sub-name OR number}[, ...])]

procnm indicates the label of the procedure to which the variable belongs. Ifused, procnm must immediately be followed by a colon (:). If omitted, it defaultsto the MAIN procedure name.

var-name identifies the PL/I variable name.

sub-name defines a PL/I variable name to be used as a subscript. This identifiermust follow all PL/I rules for valid subscripts.

number specifies a positive integer that is a valid subscript for var-name.

Note: OR is not part of the command syntax.

Examples The following are examples of valid PL/I variables:

TOTALAMTCUSTREC.CUSTNO.PREFIXMONTHLYBAL (8)YEARLYTOT (WYR, 3, WDEPT)SUBRTN1:ITEMASUBRTN1:INPREC.ITEMB (3, SUB2, 4, SUB3)

In the following example, PRT1 is a POINTER variable that provides the baseaddress for BASED variable BASEDSTRUCT1.

PRT1 -> BASEDSTRUCT1

Page 174: CA-Intertest for CICS User Guide

Indirect Command Syntax

5�58 CA-InterTest for CICS User Guide

In the following example, PRT1 is a POINTER variable that provides the baseaddress for BASED variable BASEDSTRUCT1. It contains another POINTERvariable, PRT2, which is used as the base address for the BASED variableBASEDSTRUCT2, containing ITEMA.

PRT1 -> BASEDSTRUCT1.PRT2 -> BASEDSTRUCT2.ITEMA

In the following example, STRUCTA is not a pointer variable but a structure.The address of STRUCTA will be used to map the variable names defined inSTRUCTB.

STRUCTA -> STRUCTB

Page 175: CA-Intertest for CICS User Guide

Resume and Execution Options 6�1

Chapter

6 Resume and Execution Options

This chapter includes:

� Controlling and resuming execution from a breakpoint

� Using the Resume Menu

� Reviewing program status after execution

� Continuing to test

Controlling and Resuming Execution from a Breakpoint

You can control program execution from a breakpoint in several ways:

� Single-stepping through the execution

� Setting additional breakpoints

� Jumping to another location

� Resume program execution ignoring all breakpoints

Single-step TnroughExecution

An effective way to debug a program is to reach a breakpoint, add data itemswhose values you wish to track to the Keep Window, and execute a fewinstructions at a time or single-step through the program to see how the valueschange.

Set AdditionalBreakpoints

You also can set additional breakpoints in your program. This means that youdo not have to decide in advance what program paths to execute for the entiretest session. You can decide at any breakpoint how to continue your test session.

Jump to AnotherLocation

At a breakpoint, you can continue execution from where the program stopped orfrom another location to:

� Go around a problem area

� Force execution of bypassed code

� Change the logical flow for testing purposes

Page 176: CA-Intertest for CICS User Guide

Controlling and Resuming Execution from a Breakpoint

6�2 CA-InterTest for CICS User Guide

Continuing Execution

To continue execution from an automatic breakpoint, you must do one of thefollowing:

� Dynamically correct the error. To dynamically modify main storage tocorrect the error and for instructions on using the Indirect Commandsfacility, see the �Breakpoint Activities� chapter.

� Set a CA-InterTest protection option, discussed in the �Monitoring MenuOptions� chapter.

� Go around the error. See the sections Jumping to Another Location andUsing the Resume Menu for details. Options 2, 3, and 4 on the Resumemenu offer easy ways to specify where you want to continue execution.

CA-InterTest for CICS lets you control where execution resumes and how muchcode executes at a time. You can resume execution either from where you stoppedor from another location; and you can either single-step through execution orcontinue until CA-InterTest for CICS reaches the next breakpoint or the end of theprogram.

Press PF5 or specify GO on the command line to continue from the currentbreakpoint. Execution continues until another breakpoint occurs or the programends, whichever comes first.

Single-stepping Through Execution

Press PF10 or enter the NEXT command on the command line to single-stepthrough a specific number of verbs, instructions, or statements. The default isone verb, instruction or statement, but can be changed by specifying NEXT valueor pressing PF4 to access the Source Listing Profile screen, discussed in the�Source Listing Facility� chapter.

Note: When you use PF10 or the NEXT command to single-step throughnested COBOL IF statements, it might appear that CA-InterTest for CICS is notexecuting one verb at a time. This is a function of how the compiler generatesthe object code.

Tip: To more closely follow the execution of nested IF statements, use thePF9 on the Detailed Breakpoint display to execute one instruction at a time.The Detailed Breakpoint Display is discussed in the �Breakpoint Activities�chapter.

Page 177: CA-Intertest for CICS User Guide

Controlling and Resuming Execution from a Breakpoint

Resume and Execution Options 6�3

Jumping to Another Location

To specify a new location for resuming execution:

1. Specify the GO line-number|label command or:

2a. Display the statement or instruction where you want to resume execution.

2b. Enter g to the left of the line number in column 1.

2c. Press PF5 to continue to the next breakpoint or until program executionends, or press PF10 to single-step execution.

Example The following figure illustrates how to resume execution from a statement.

CA-InterTest - PROTDEM FILE SOURCE LISTING BREAKPOINTCOMMAND ===>Program= COBDEMO Option # Stmt # Margin= 01

Search=OPTS 1 Proc div 2 Work-stor 3 Link sect 4 D-map 5 Clst/Pmap 6 Xref

7 Proc xref 8 Err msgs 9 Srch fwd 10 Srch bwd 11 Ind cmds 12 Bkpt optsPFKS 1 Help 2 3 Det Bkpt 4 Profile 5 Resume 6

7 Backward 8 Forward 9 10 001 Verb 11 Backtrace 12 Status-------------------------------------------------------------------------------

g 01279 READ-DATASET.01280* EXEC CICS HANDLE CONDITION01281* DSIDERR01282* NOTOPEN(NOT-OPEN)01283* END-EXEC.

_ 01284 MOVE ' ' TO DFHEIV0 CALL 'DFHEI1' USING_ 01285 DFHEIV0 GO TO NOT-OPEN DEPENDING ON DFHEIGDI.0128601287

_ 01288 MOVE ZEROES TO RECORD-KEY.01289**** NOTE * DATASET NAME IS WRONG ****01290* EXEC CICS STARTBR01291* DATASET('PROTH')01292* RIDFLD(RECORD-KEY)01293* END-EXEC.

A ==> MOVE 'PROTH' TO DFHEIV3 MOVE ' ' TO DFHEIV0 CALL

Note the following:

� Use this option with caution in COBOL and Assembler programs andoptimized code. Certain uses trigger difficulties in obtaining properaddressability. For details, refer to the �CNTL: Commands and Menus�chapter.

� When an error occurs in a paragraph containing a CICS command, resumeprogram execution at the paragraph-name rather than at the specificinstruction, because some CICS internal processing might have occurredprior to that command.

� In PL/I programs, do not resume execution at a new location if it results in ajump between PROCS/BLOCKS.

Page 178: CA-Intertest for CICS User Guide

Using the Resume Menu

6�4 CA-InterTest for CICS User Guide

Resuming Program Execution Ignoring all Breakpoints

To continue processing from the current statement ignoring all presetbreakpoints and indirect commands until the task either abends or runs tonormal completion, specify the RUN command on the Source Listing BreakpointCommand Line.

Using the Resume Menu

Option 4 Resume on the Breakpoint Primary Option menu displays the Resumemenu, shown in the following figure. The fastpath command entry to access theResume menu from any breakpoint display is:

COMMAND ===> =4

-------------- CA-InterTest 6.x RESUME BREAKPOINTED TASK MENU ---------------OPTION ===>

1 Next instruction - Resume from the next sequential instruction2 Label - Resume from a label3 Statement - Resume from a statement number4 Offset - Resume from an offset5 Indirect command - Execute an indirect command sequence6 Next EXEC/CALL - Resume until the next EXEC command or external call7 nnn steps - Resume for specified number of statements or verbs8 nnn instructions - Resume for specified number of machine instructions

PF1 Help 2 3 End 4 Return 5 6PF7 8 9 10 11 12

Each option is discussed next.

Resume at the Next Instruction

Resume Menu Option 1 Next Instruction immediately resumes execution at thenext instruction. This is the same as using PF5 Resume on the Breakpointdisplay. The fastpath entry from the Breakpoint display is =4.1.

Page 179: CA-Intertest for CICS User Guide

Using the Resume Menu

Resume and Execution Options 6�5

Resume Task from a Label

Resume Menu Option 2 Label displays the following menu where you can enterthe name of a label from which to resume execution. The fastpath entry todisplay this menu from a breakpoint is =4.2.

----------------- CA-InterTest 6.x RESUME TASK FROM A LABEL -----------------COMMAND ===>

Type the label name, then press ENTER.

Label _______________________________ No quotes

After entering a label name, press Enter to continue. The program resumesexecution from the label you specified.

Resume Task from a Statement

Resume Menu Option 3 Statement displays the following menu where you canenter a statement number from which to resume execution. The fastpath entry todisplay this menu from a breakpoint is =4.3.

----------- CA-InterTest 6.x RESUME TASK FROM A STATEMENT NUMBER ------------COMMAND ===>

Type the statement number, then press ENTER.

Statement number _____

After entering a Statement number, press Enter to continue. The programresumes execution from the label you specified.

Resume Task from an Offset

Resume Menu Option 4 Offset displays the following menu, from which you canenter an offset from which to resume execution. The fastpath entry to display thismenu from a breakpoint is =4.4.

---------------- CA-InterTest 6.x RESUME TASK FROM AN OFFSET ----------------COMMAND ===>

Type the offset, then press ENTER.

Offset _____ Hexadecimal value

Page 180: CA-Intertest for CICS User Guide

Using the Resume Menu

6�6 CA-InterTest for CICS User Guide

After entering the hexadecimal value of an offset, press Enter to continue. Theprogram resumes execution from the offset you specified.

Resume Task from an Indirect Command Sequence

The Resume Menu Option 5 Indirect Commands lets you specify the statementnumber of an indirect command. CA-InterTest for CICS immediately continuesexecution with that indirect command. The fastpath entry to display this menufrom a breakpoint is =4.5.

----------- CA-InterTest 6.x EXECUTE AN INDIRECT COMMAND SEQUENCE -----------COMMAND ===>

Type the sequence number, then press ENTER.

Sequence number _____

Note: For the details on coding Indirect Commands, see the chapter �BreakpointActivities.�

Resume Until Next EXEC/CALL

The Resume menu option 6 Next EXEC/CALL lets you execute until the nextEXEC command or external call in your program. For example, using this optionmight produce the breakpoint shown in the following figure, which is stopped atan external call. The fastpath entry to display this menu from a breakpoint is=4.6.

CA-InterTest - PROTSYM FILE SOURCE LISTING BREAKPOINTCOMMAND ===>Program= COBDEMO Option # Stmt # Margin= 01

Search=OPTS 1 Proc div 2 Work-stor 3 Link sect 4 D-map 5 Clst/Pmap 6 Xref

7 Proc xref 8 Err msgs 9 Srch fwd 10 Srch bwd 11 Ind cmds 12 Bkpt optsPFKS 1 Help 2 3 Det Bkpt 4 Profile 5 Resume 6 Menu

7 Backward 8 Forward 9 10 001 Verb 11 Backtrace 12 Status-------------------------------------------------------------------------------

00912* END-EXEC._ 00913 MOVE ' Y 00624 ' TO DFHEIV0_ ==> CALL 'DFHEI1' USING DFHEIV0 TSQ-NAME TASK-STRUCTURE TSQ-LEN_ 00915 DFHDUMMY TSQ-ITEM.009160091700918

.

.

.

Page 181: CA-Intertest for CICS User Guide

Using the Resume Menu

Resume and Execution Options 6–7

Resume Task for nnn Steps

Resume Menu Option 7 nnn Steps gives you a menu to enter the number ofsteps you want to execute at this time. The fastpath entry to display this menufrom a breakpoint is =4.7.

------------------- CA-InterTest 6.x RESUME FOR NNN STEPS ------------------- COMMAND ===>

Type the number of steps, then press ENTER.

Steps _____ (1-32767), definition differs by program language:

COBOL - number of verbs PL/I - number of statements ASSEMBLER - number of statements

This option is a one-time execution of the steps you specify and does not changethe value of PF 10 on a Breakpoint display. To set the value for PF 10, use theSource Listing Profile, PF4 from any Source Listing display. See the “SourceListing Facility” chapter for details.

Resume Task for nnn Machine Instructions

Resume Menu Option 8 nnn Machine Instructions gives you a menu to enter thenumber of instructions you want to execute at this time. The fastpath entry todisplay this menu from a breakpoint is =4.8.

----------- CA-InterTest 6.x RESUME FOR NNN MACHINE INSTRUCTIONS ------------ COMMAND ===>

Type the number of machine instructions, then press ENTER.

Machine instructions _____ (1-32767)

This option is a one-time execution of the steps you specify and does not changethe value of PF9 on a Detailed Breakpoint Display.

Page 182: CA-Intertest for CICS User Guide

Abending the Task

6–8 CA-InterTest for CICS User Guide

Abending the Task

You have the option to abend a task, with or without a dump, at any breakpoint.To abend a task from a breakpoint:

1. Restore the breakpoint display by pressing Clear. If you are returning fromthe CA-InterTest CNTL, CORE, HELP or FILE facilities, you might need topress Clear repeatedly.

2. Enter ABEND on the command line and press Enter. CA-InterTest promptsyou to enter an Abend code if you want a dump, as illustrated below.

----------------- CA-InterTest 6.x ABEND BREAKPOINTED TASK ------------------ COMMAND ===>

Type an abend code, then press ENTER.

Abend Code ____ Abend code options are:

blanks Normal abend, no dump XXXX Abend exits cancelled, no dump your code Your abend code, dump taken...

3. From the Abend menu screen, you have several options:

� Press Clear to cancel the abend and return to the breakpoint display.

� To abend without a dump:

– To take a normal abend without a dump, accept an abend code ofblanks and press Enter.

– To cancel all program exits without a dump, specify the code:XXXX, and press Enter.

� To abend with a dump, specify any four-character dump code exceptXXXX. Do not specify a code beginning with the letter A.

CA-InterTest for CICS displays a message confirming the abend request and dump code.Follow any online instructions to complete the abend. After an abend, you return to CICS.

Reviewing Program Status after Execution

When your transaction terminates normally or with an abend, you return to CICS.At this point, you can review:

� Status of your program source code

� CA-InterTest monitoring and monitoring options

� Auxiliary files and databases accessed by your program

Page 183: CA-Intertest for CICS User Guide

Reviewing Program Status after Execution

Resume and Execution Options 6�9

Your Program Source Code

Your program source code is not modified. It is exactly the same as before youbegan testing. For example, if CA-InterTest for CICS detected an ASRA and youused CA-InterTest for CICS to correct the error, the original error still exists inyour code. If you modified main storage, that change was only temporary; yourprogram remains unchanged.

The CA-InterTest for CICS copy of your program from the compiled or assembledoutput also remains unchanged. If you rerun the transaction, you will see thesame display of your program in the Source Listing Facility as you did the firsttime.

CA-InterTest for CICS Monitoring and Monitoring Options

CA-InterTest for CICS monitoring and monitoring options, which you set beforeor during testing, remain in effect until you remove them. These include allbreakpoints set before or during program execution that were not removedduring the test session.

To obtain a status display of monitoring activity and options in effect for oneprogram, display the Source for the program and enter the command STATUS.

To obtain a status display of monitoring activity and options in effect for allprograms, enter the command STATUS ALL.

A global status display is also available from the Primary Option Menu,Option 2.4:

1. Access the Primary Option Menu.

2. Select Option 2 Monitoring.

3. Select Option 4 Status.

Note: The fastpath entry for a Monitoring Status Report from CICS is ITST 2.4

Alternatively, enter a command on a clear screen under CICS:

� For a program:

CNTL=INQ,PROG=progname

� For multiple programs:

CNTL=INQ,PROG=(prog1,prog2,prog3)

Example To display the CA-InterTest monitoring status for the program COBDEMO, enterthe following command under CICS:

CNTL=INQ,PROG=COBDEMO

Page 184: CA-Intertest for CICS User Guide

Continuing to Test

6�10 CA-InterTest for CICS User Guide

Refer to the chapter �Menus and Displays� for details.

Files and Databases

Any files or databases updated by the program are permanently modified unlessthe No File Updating (NUP) option was set in advance. The NUP option is setusing any Monitoring Menu. For more information, refer to the chapter�Monitoring Menu Options�; for single-line command syntax, refer to thechapter �CNTL: Commands and Menus.�

Note: File or database changes that you make using the CA-InterTest for CICSFILE facility are permanent, whether or not the NUP option is set.

Continuing to Test

In some testing situations, you might want to reexecute the program withoutchanging the source code. Doing this means you will see the same automaticbreakpoints that you saw the first time. When it is easy to correct or get aroundthe errors, this can be the most efficient route to continue testing because you donot have to recompile your program.

You can also use the Indirect Commands facility to continue to test yourprogram without recompiling it. Refer to the �Breakpoint Activities� chapter fordetails.

Correcting Your Source Code

When you decide to continue testing from a new version of your program:

1. Modify the program source code (outside CA-InterTest).

2. Recompile or reassemble the modified programs using the CA-InterTestpost-processor, as discussed in the �Source Listing Facility� chapter. TheCA-InterTest post-processor automatically updates the CA-InterTestSymbolic File and the Source Listing facility with the new version of theprogram.

3. Execute the CA-InterTest New Program Copy option, if desired. This option ison the Program Monitoring menu (2.1). For details on the New Program Copyfunction, refer to the chapter �Monitoring Menu Options.� New Copy performs thefollowing functions:

� Resets the CICS entry in the PPT table to the program�s new library address

� Transfers all symbolically set breakpoints and other monitoring optionsto the recompiled program

Page 185: CA-Intertest for CICS User Guide

Continuing to Test

Resume and Execution Options 6�11

Note: To recompile your program and keep the same breakpoints in therecompiled version, set breakpoints at paragraph names or labels, not at lines ofexecutable code. Then use the CA-InterTest for CICS New Program Copyfunction to transfer the breakpoints to the recompiled program. If you setbreakpoints at lines of executable code, New Program Copy transfers thebreakpoints to the same statement numbers or offsets in the recompiledprogram, which might not be what you want.

Resetting Breakpoints after Recompiling or Reassembling

If breakpoints were set at executable statements or locations, you might need toadjust their locations after recompiling a program.

� To reset the breakpoint locations, either adjust the locations one at a time orremove them all and re-enter them.

� To scroll through your program one breakpoint at a time, set the scrollamount to STOP on the Source Listing Profile screen, which is accessed bytyping PROFILE or pressing PF4 from a Source Listing display. For details,refer to the �Source Listing Facility� chapter.

� To remove all breakpoints at once for a program that is being monitoredwith User ID=.ANY, you must first check that no one else is executing theprogram before you remove monitoring. Obtain a Monitoring StatusDisplay for the program. If no one else is executing the program, you canremove monitoring or remove all breakpoints directly from the MonitoringStatus report.

WARNING! Use this option with caution! Removing monitoring for a programclears all breakpoints and all monitoring options.

Page 186: CA-Intertest for CICS User Guide
Page 187: CA-Intertest for CICS User Guide

Monitoring Menu Options 7�1

Chapter

7 Monitoring Menu Options

The primary task of CA-InterTest for CICS is to monitor programs so it candetect and prevent errors. When you set monitoring for a program, CA-InterTestfor CICS detects and prevents errors before they occur. That means monitoredprograms will not abend or commit storage violations.

This chapter describes the Monitoring Menu Options (Option 2 from the PrimaryOption Menu) that let you take advantage of the full range of CA-InterTest forCICS monitoring capabilities. For example, you can use the monitoring menus toset monitoring for programs, all programs executed by a transaction, or all theprograms executed from a terminal. You can use the menu to invoke manyoptions to monitoring, such as breakpoints, indirect commands, CICS resourcereplacement options, and system-wide options. The monitoring menus alsoallow you to obtain a selective Monitoring Status report.

You might also be interested in these related topics.

Monitoring Status To learn how to access and use the Primary Option Menu and Status Report, seethe chapter �Menus and Displays.�

Breakpoints To learn how to set or remove breakpoints from the Monitoring Menu, see thechapter �Using Breakpoints.�

Indirect Commands To learn how to use Indirect Commands, see the chapter �Breakpoint Activities.�

CNTL Commands To use the CNTL transaction, alternate menus, and transaction-based commandsto specify monitoring options, see the chapter �CNTL: Commands and Menus.�

Page 188: CA-Intertest for CICS User Guide

Monitoring Menu Functions (ITST 2)

7�2 CA-InterTest for CICS User Guide

Monitoring Menu Functions (ITST 2)

The Monitoring Menu has six options to perform monitoring-related functions:

� Programs

� Transactions

� Terminals

� Status

� Active tasks

� System-wide

1 Programs Displays the Program Monitoring screen, which lets you set and removemonitoring, breakpoints, monitoring options, and monitoring-related functionsfor one or more programs. Monitoring related functions include:

� Status report to display and remove monitoring and monitoring options forprograms, transactions, and terminals

� Setting and removing monitoring, breakpoints, and monitoring options

� New Copy function to reset monitoring for a recompiled program

� Indirect commands to enable inline adjustments to programs withoutrecompiling

� Composite support to provide symbolic support for separately compiledprograms brought together when they are link-edited

2 Transactions Displays the Transaction Monitoring screen, which lets you set and removemonitoring, and monitoring options for one or more transactions. Monitoringoptions for transactions include request breakpoints, and replace, protect andspecial options.

3 Terminals Displays the Terminal Monitoring screen, which lets you set and removemonitoring and monitoring options for all the programs executing from aterminal.

4 Status Displays the Status Report (2.4) for all monitoring activity in the current CICSregion. You can use the Status Report to quickly remove a monitoring option ormonitoring entry.

5 Active Tasks Displays the list of active tasks that are being monitored by CA-InterTest. If thesystem-wide purge option is turned on, the Active Tasks screen lets you purge atask. If you previously disconnected a task from a terminal, the Active Tasksscreen lets you reconnect the task and continue testing.

Page 189: CA-Intertest for CICS User Guide

Monitoring Menu Functions (ITST 2)

Monitoring Menu Options 7�3

6 System-wide Displays the System-Wide Options submenu (2.6), which lets you display andmodify monitoring options for the entire system. These include automaticbreakpointing, checkpointing, dumping all abends, global logging, CA-InterTesttracing, and breakpointed task purging.

Note: Additional monitoring options, specified by CNTL commands, areavailable to perform more specialized functions. See the chapter �CNTLCommands and Menus� for details.

Access

The Monitoring Menu is Option 2 on the Primary Option Menu.

To access the Monitoring Menu from a Source Listing display, type the commandMENU or press PF6 to access the Primary Option Menu, and then select Option2. The fastpath command entry is =2.

To access the Monitoring Menu from a Source Listing Breakpoint display, typethe command MENU or press PF6 to access the Breakpoint Primary OptionMenu, and then select Option 1.2. The fastpath command entry is =1.2.

PF Keys

You can exit any Monitoring Menu by pressing a PF key. The following tabledescribes the function of each PF key.

PF Key Function

PF1 or 13 Initiates the CA-InterTest online Help facility.

PF2 or 14 Unassigned

PF3 or 15 Terminates the current processing and returns to the previousdisplay.

PF4 or 16 Returns you to the top-level menu, the Primary Option Menu.

PF5 or 17 Unassigned

PF6 or 18 Unassigned

PF7 Scrolls a display list backward towards the top of the list.

PF8 Scrolls a display list forward towards the bottom of the list.

PF9 to 12PF21 to 24

Unassigned

Page 190: CA-Intertest for CICS User Guide

Understanding the User ID Monitoring Option

7�4 CA-InterTest for CICS User Guide

Understanding the User ID Monitoring Option

When you set monitoring, breakpoints or options for a specific program,transaction, or terminal, CA-InterTest for CICS creates an entry for that program,transaction, or terminal in the monitoring table. For releases above Version 5.3,each monitoring table entry also includes a user monitoring option. The useroption can be .ANY or a specific CICS user ID. The user option indicates forwhom the program, transaction, or terminal will be monitored. The followingtable describes how the value of the user monitoring option affects monitoringand breakpoints.

User Monitoring Option Description

User ID = .ANY Everyone is monitored, regardless of the CICSuser ID. (This is the same as monitoring inCA-InterTest Versions 5.3 and below.)Breakpoints are directed to the terminals wherethey were set unless a specific option was set toredirect the breakpoints.

User ID = specific CICS user ID Monitoring occurs only for the specified userbased on the CICS user ID. This restricts themonitoring entry to a single user in a secureCICS system, and allows a user to move fromone terminal to another, preserving breakpointsettings and options.

User ID Set to .ANY The following Monitoring Status report shows the Program COBDEMO will bemonitored for ANY user of the program. The unconditional breakpoint (UBP)will be displayed on the Source Listing Breakpoint screen on the same terminalwhere it was set, terminal ID X508.

-------------------- CA-InterTest 6.x MONITORING STATUS ---------------------COMMAND ===>

Type + to expand or - collapse option levels displayed below,or R to remove option(s).

Option Description Attributes_ - COBDEMO Program monitor entry COBOL_ - |-.ANY User monitoring options Active

| | Symbolic listing file PROTSYM_ - | |-UBP Unconditional breakpoint #1

| | Option ID DD103243| | From, to terminals X508, X508

_ | |-SLB Source listing breakpoints X508

Page 191: CA-Intertest for CICS User Guide

Understanding the User ID Monitoring Option

Monitoring Menu Options 7�5

User ID Set to Specific The following Status Report shows the same program COBDEMO will bemonitored only for a single user, MARY01. The unconditional breakpoint will bedirected to any terminal where CICS user MARY01 is signed on.

-------------------- CA-InterTest 6.x MONITORING STATUS ---------------------COMMAND ===>

Type + to expand or - collapse option levels displayed below,or R to remove option(s).

Option Description Attributes_ - COBDEMO Program monitor entry COBOL_ - |-MARY01 User monitoring options Active

| Symbolic listing file PROTSYM_ - |-UBP Unconditional breakpoint #1

| Option ID DD103243| From, to terminals .ANY, .ANY

_ |-SLB Source listing breakpoints .ANY

Monitoring with a specific user ID gives you the ability to:

� Isolate monitoring and debugging to a specific user, and not all users

� Move from terminal to terminal (or use a multi-session manager) andautomatically redirect monitoring options and breakpoints to your currentsession, provided the from and to terminals default to .ANY

� Have two users concurrently debug a program, but with differentmonitoring options

What Is Your User ID Default?

The default user ID is displayed in the User ID field on the Source Listing Profiledisplay. On the submenus related to Monitoring (Program Monitoring,Transaction Monitoring, and Terminal Monitoring), issue the USER command.

� If you are working in a CICS region without login security, the user ID valueis always set to .ANY.

� If you are working in a secure CICS region, the CA-InterTest installationoption DFLTUSER determines whether the default value assigned to the userID is .ANY or your CICS user ID.

Page 192: CA-Intertest for CICS User Guide

Understanding the User ID Monitoring Option

7�6 CA-InterTest for CICS User Guide

The following table explains how the default values work when you are and arenot signed on to CICS.

DFLTUSER Setting Signed On To CICS Not Signed On To CICS

.ANY By default, everyone ismonitored; breakpoints aredirected to the terminal wherethey were set.

Everyone is monitored;breakpoints are directed tothe terminal where they wereset.

specific By default, monitoring appliesonly to your user ID andbreakpoints are displayed atwhatever terminal you areusing.

Not recommended, but takesthe value of the default CICSuser ID specified by theSystems Programmer in theCICS startup JCL. TypeUSER command to displaythis value.

You can look up the current DFLTUSER value from the Primary Option Menu.Use option 7.1.2 (choose Option 7 Status/Maintenance, then Option 1 ProductStatus, then Option 2 Global Options). This displays all installation options forIN25OPTS in alphabetic order. The DFLTUSER setting shows the default user IDsetting for your system.

Overriding the User ID Default

You can override the default user ID setting using any of these methods:

� From the Source Listing Facility, change the user ID on the Profile screenbefore you set monitoring or breakpoints from the Source Listing Display.

� From the Monitoring menus, change the user ID on the Program Monitoring(2.1), Transaction Monitoring (2.2), or Terminal Monitoring (2.3) submenuswhen you set monitoring, breakpoints, or other options.

� When using transaction-based commands, enter the USR= option with anyCNTL monitoring command.

If you override the default user ID setting before you set monitoring, make sureto use the same user ID when you set a breakpoint or other monitoring option.Otherwise, the breakpoints or other monitoring options will not be attached tothe original monitoring entry. You can always view the Monitoring Status reportto check the entries.

Page 193: CA-Intertest for CICS User Guide

Using the Monitoring Submenus

Monitoring Menu Options 7�7

Establishing a Personal Debugging Session

In a secure CICS region, set the user ID to your own CICS user ID to establish apersonal debugging session. When you set monitoring, specify the program ortransaction and specify your own CICS user ID. The monitoring request is theninvoked only when you execute the program. In addition, specify your ownCICS user ID when you set breakpoints and other monitoring options. Whenyou do this, the monitoring request and any breakpoints and options willautomatically be directed to any terminal you are signed on to under CICS.

Overriding the To and From Terminal Defaults for Breakpoints

The From and To terminal values on the Monitoring Status display specify wherebreakpoints will take effect and be displayed. If you are monitoring under aspecific CICS user ID, the default From and To terminal values are set to .ANY.If you are monitoring under .ANY user, the default From and To terminal valuesare set to the terminal where the breakpoints were set.

If you have special testing needs, you can set breakpoints that also include aFrom and To terminal value that you specify. To do this, set your breakpointsusing one of these methods:

� Program, Transaction, or Terminal Monitoring menus (2.1, 2.2, or 2.3) asdiscussed in the chapter �Using Breakpoints�

� CNTL transaction-based commands as discussed in the chapter �CNTL:Commands and Menus�

Using the Monitoring Submenus

This section describes how to use the Monitoring submenus and screens to perform thefollowing monitoring-related functions. The order in which the functions are describedcorresponds to their order on the Monitoring Programs, Transactions, and Terminalssubmenus.

Note: See the chapter �Using Breakpoints� for how to set and remove any typeof breakpoint. See the chapter �Breakpoint Activities� for details on usingIndirect Commands.

Setting and Removing Monitoring�Begin and end monitoring for programs,transactions, or terminals.

Status Display�Display the monitoring status of a program, transaction, orterminal.

Page 194: CA-Intertest for CICS User Guide

Using the Monitoring Submenus

7�8 CA-InterTest for CICS User Guide

Using the New Copy Option�Reset monitoring for a recompiled program.

Setting and Removing Replacement Options�Dynamically change CICSresources (programs, files, transient data queues, temporary storage).

Setting and Removing Protection Options�Bypass CA-InterTest rules thatprotect main storage, the CSA, and load modules.

Setting and Removing Special Options�Modify monitoring rules (forexample, prevent a program from updating a file, allow a program to branchto another program, limit the number of times a program is monitored).

Setting and Removing Composite Support�Provide symbolic support for aprogram consisting of separately compiled modules.

Viewing and Setting System-Wide Options�Request and revise monitoringoptions on a system-wide basis.

Using Monitoring Options for Programs, Transactions and Terminals

From the Monitoring Programs, Monitoring Transactions, and MonitoringTerminals submenus, you can set the following options for a monitored program,terminal, or transaction:

Monitoring Option Description

Replace Dynamically replace one or more CICS resources(programs, files, temporary storage, transient data queues)used by a program.

Protect Override default protection rules.

Special Set and remove special monitoring options (such aslimiting the number of times a program is monitored orpreventing a program from updating a file).

Composite Provide symbolic support for programs consisting ofseparately compiled modules brought together when theprogram is link-edited (composite support). Availablefrom the Monitoring Programs submenu only.

Initiating Monitoring

The CA-InterTest for CICS CNTL transaction performs all monitoring functions.However, CA-InterTest for CICS provides a number of ways to initiatemonitoring and perform other CNTL functions:

� Source Listing facility

� Monitoring Menu, Option 2 on the Primary Option Menu

Page 195: CA-Intertest for CICS User Guide

Using the Monitoring Submenus

Monitoring Menu Options 7�9

� CNTL menus and fill-in screens

� CNTL commands

You can use one method exclusively, or you can mix-and-match methods (evenduring one test session) depending on your specific testing needs. For example,you can use the Source Listing facility to initiate monitoring and set breakpoints,the Monitoring Menu and screens to set special options, and a single-linecommand to resume execution of a task.

The easiest way to turn on monitoring and set breakpoints for a single programis to use the Source Listing facility. For a new or infrequent user, this method isstrongly recommended. You can turn on monitoring by pressing a PF key, andset a breakpoint by entering a single keystroke directly on your program's sourcelisting. See the chapter �Source Listing Facility� for details.

To take advantage of the full range of CA-InterTest for CICS monitoringcapabilities, use the Monitoring Menu, which is Option 2 on the Primary OptionMenu. Additional submenus guide you through selecting monitoring forprograms, terminals, or transactions, with or without monitoring options.

Online Help is available from every screen. Press PF1 from any menu or panelfor details on how to use it.

If you prefer, you can enter single-line CNTL commands to specify monitoringfunctions. More experienced users often find it faster to enter commandsdirectly.

When you set breakpoints, replacement, protection, special options, or compositesupport, you automatically set monitoring for the programs, transactions, orterminals that you specify. So, for example, it is not necessary to set monitoringand set breakpoints; simply setting breakpoints accomplishes both functions.

However, when you remove breakpoints, replacement, protection, specialoptions, or composite support, you do not remove monitoring for the programs,transactions, or terminals that you specify. Monitoring remains in effect untilyou explicitly instruct CA-InterTest for CICS to remove monitoring.

Page 196: CA-Intertest for CICS User Guide

Using the Monitoring Submenus

7�10 CA-InterTest for CICS User Guide

Using the Program Monitoring Submenu

The Program Monitoring submenu (2.1) packs many functions into a singledisplay, but is simple to use. Use this submenu to view, set, or removemonitoring, breakpoints, and monitoring options for programs.

-------------------- CA-InterTest 6.x PROGRAM MONITORING --------------------COMMAND ===>

Type information and S to set or R to remove option(s) below.

Program . . cob*____ Program name (or .ALL, .OPTIONS or generic)User ID . . .ANY____ User (or .ANY) for whom the program is monitored

More: +Option Description

_ Status Display and/or remove monitoring options (S only)s Monitor Monitoring (R removes monitoring and all options previously set)_ UBP Unconditional breakpoints (specific program only)_ CBP Conditional breakpoints (specific program only)_ RBP Breakpoints for CICS, DB2, DL/I or external CALL requests_ New copy Fetch new copy of program and reset monitoring options (S only)_ Commands Indirect commands defined for a specific COBOL or PL/1 program_ Replace CICS resource name replacement options_ Protect Storage protection monitoring options_ Special Other options (storage allocation, file updating, etc.)_ Composite Monitor multi-CSECT program's separately compiled components_ Mon Segmented Monitoring On option_ Nom Segmented Monitoring Off option

PF1 Help 2 3 End 4 Return 5 6PF7 Backward 8 Forward 9 10 11 12

Program Monitoring Using Generic Specification (Composite Screen)

How to Use To select an option, enter or modify the Program and User ID field values, andthen tab to the desired Option. Type an S to set the option or an R to remove theoption, and then press Enter to process the function. Press PF1 for field levelhelp at any time.

Scrolling the OptionsList

The More field on the right side of the display indicates additional options areavailable. More: + indicates you can scroll forward to view additional options.More: - indicates you can scroll backward to view additional options. Press PF8to scroll forward and view additional options; PF7 to scroll backward and viewprevious options.

After you process an option that requires an additional screen, when you returnto this submenu the option you processed becomes the first option on the list.Enter the Command TOP to display the Options list from the top. Press PF7 toscroll backward, PF8 to scroll forward.

Note: If a program is stopped at a breakpoint, press PF6 to access theBreakpoint Menu, and then select option 1.2.1 to access the Program Monitoringsubmenu. You can also jump to the menu by entering =1.2.1 in the Commandline of the breakpoint display.

Page 197: CA-Intertest for CICS User Guide

Using the Monitoring Submenus

Monitoring Menu Options 7�11

Generic Specification of Programs, Transactions, or Terminals

You can use the Monitoring submenus or CNTL transaction-based commands toset monitoring or monitoring options generically. Generic specification inCA-InterTest for CICS lets you specify asterisks, *, and plus signs, +, to replacecharacters in a program name, transaction code, or terminal name. Thesespecifications are interpreted according to the rules for the CICS CEMTtransaction.

� An asterisk can specify any number of characters, including no characters.You can specify more than one asterisk in a program name, transaction code,or terminal name. Do not, however, specify an asterisk by itself.

� A plus sign specifies just one character in a particular position. You canspecify more than one plus sign in a name or code. Do not, however, specifya plus sign by itself.

� You can combine asterisks and plus signs.

Examples Here is how the following specifications would be processed:

Generic Entry Description

ABC* Specifies all names or codes that begin with ABC, includingABC.

*ABC Specifies all names or codes that end with ABC, includingABC.

AB*C Specifies all names or codes that begin with AB and end withC and that could have an unspecified number of characters inthe middle.

ABC+ Specifies all four-character names or codes that begin withABC followed by any one character.

+ABC Specifies all four-character names or codes that begin withany character followed by ABC.

AB+C Specifies all four-character names or codes that begin withAB followed by any one character and C.

AB+C* Specifies all names or codes that begin with AB followed byone character, C, and an unspecified number of characters.

Monitoring AllPrograms

CA-InterTest allows you to establish system-wide monitoring of all applicationsin the CICS region except for those with the prefix DFH (IBM CICS programs) orIN25 (CA-InterTest programs). You can establish system-wide monitoring thatapplies to .ANY user in the CICS region or a specific CICS user. Generally, thisoption is password protected.

Page 198: CA-Intertest for CICS User Guide

Setting and Removing Monitoring

7�12 CA-InterTest for CICS User Guide

Menu Entries To set monitoring for all programs, enter the following on the ProgramMonitoring menu (2.1):

Program .ALL

User ID .ANY to apply system-wide monitoring for all usersor specific user ID to apply monitoring to all programsexecuted by a specific user.

Type S next to Monitor and press Enter.

Hierarchy Rules for Monitored Entries

It is important to know the priorities CA-InterTest for CICS observes if morethan one entry in the Monitoring Table applies to the same program.

� A specific or generic program entry overrides a transaction entry, a terminalentry, and an .ALL specification.

� A transaction entry overrides a terminal entry and an .ALL specification.

� A terminal entry (specific or generic) overrides an .ALL specification.

Example Suppose you specify monitoring options for program ABC1 and differentoptions for transaction TRN1. ABC1 executes as part of that transaction. WhenABC1 executes, the options specified for ABC1 will override the options specifiedfor TRN1. Similarly, it is important to understand the priorities CA-InterTestobserves when a program, transaction, or terminal is specifically and genericallydeclared for monitoring. A specific entry overrides a generic entry except whenyou request Status Display. In that case, the generic specification takesprecedence.

Suppose you specify monitoring options for program ABC1 and differentmonitoring options for program ABC*. The options specified for ABC* willaffect all programs whose names begin with ABC except for program ABC1 (andany other programs beginning with ABC that have their own entries in theMonitoring Table). Monitoring for ABC1 is controlled by the specific entry forthat program. However, if you request a Status Display for program ABC*, youwill get monitoring status reports for all programs that begin with ABC,including program ABC1 that has a separate Monitoring Table entry.

Setting and Removing Monitoring

You can set and remove monitoring for programs, transactions, or terminalsdirectly from the Monitoring Submenus for Program, Terminals, or Transactions.

Page 199: CA-Intertest for CICS User Guide

Setting and Removing Monitoring

Monitoring Menu Options 7�13

Setting Monitoring

When you set monitoring for a:

� Program, CA-InterTest monitors the program from whatever terminal itexecutes, even if it executes as part of a non-terminal owning task. Use thereplacement, protection, or special options screen if you want to restrictmonitoring to a specific terminal.

� Transaction, CA-InterTest monitors all of the transaction�s programs.

� Terminal, CA-InterTest monitors every program that executes at thatterminal.

Note: CA-InterTest for CICS will not monitor programs that begin with theprefix DFH (IBM CICS programs) or IN25 (CA-InterTest for CICS programs).

If you set monitoring for a transaction or terminal, and a program executing aspart of that transaction or at that terminal is stopped at an automatic breakpoint,CA-InterTest for CICS automatically creates an individual entry in theMonitoring Table for that program. This allows you to set breakpoints andmonitoring options specifically for that program. Similarly, if you specify .ALLin the Program Names field on the Function Selection Menu or if you specify ageneric program name, CA-InterTest for CICS creates an individual MonitoringTable entry for any program monitored under that entry that it stops at anautomatic breakpoint.

Removing Monitoring

When you remove monitoring, you also remove all breakpoints and monitoringoptions specified for that program, transaction, or terminal. A quick way ofcreating a new testing scenario for a program is to remove monitoring and resetit with different breakpoints and options.

Before you remove monitoring for a program, terminal, or transaction beingmonitored under .ANY user ID, you might want to view the Status Report of allCA-InterTest for CICS monitoring activity to make sure other users are notcurrently testing the same programs. Option 2.4 gives a Monitoring Status reportof all monitoring activity.

Page 200: CA-Intertest for CICS User Guide

Using the New Copy Option

7�14 CA-InterTest for CICS User Guide

From the StatusReport

From the Status Report, you can quickly remove monitoring for any entry. Justlocate the monitoring entry, enter r in the field to the left of the entry, and pressEnter. The following figure shows how to remove monitoring for the programCOBDEMO from the Monitoring Status display.

-------------------- CA-InterTest 6.x MONITORING STATUS ---------------------COMMAND ===>

Type + to expand or - collapse option levels displayed below,or R to remove option(s).

Option Description Attributesr - COBDEMO Program monitor entry COBOL_ - |-.ANY User monitoring options Active

| Symbolic listing file PROTSYM_ |-SLB Source listing breakpoints X507

*** End of data ***

After the request is processed, an asterisk in front of the Monitoring Status entryindicates the entry has been removed. If you press PF2 Refresh, the entry isdeleted from the display.

From the Menus To remove monitoring for programs, transactions, or terminals using theMonitoring submenus, access the appropriate submenu from the MonitoringMenu, and then enter the program name, transaction code, or terminal name, theuser ID for whom the program is monitored, and R next to the Monitor Option.Press Enter.

Note: Remember that you can also set monitoring by setting breakpoints,replacement, protection, special options, or composite support. However, if youremove breakpoints, options, or composite support, monitoring remains ineffect for the specified programs until you specifically instruct CA-InterTest forCICS to stop monitoring.

Using the New Copy Option

After you recompile a program, you can use the New Copy option on theProgram Monitoring menu (2.1) to reset symbolically specified breakpoints andother monitoring options for a recompiled program. New Copy also resets theentry in the PPT to the program's new library address.

Note: CNTL=NEW is the equivalent CNTL command for the New Copymonitoring menu option.

Page 201: CA-Intertest for CICS User Guide

Setting and Removing Replacement Options

Monitoring Menu Options 7�15

Setting and Removing Replacement Options

You can set replacement options to dynamically change the names of CICSresources (programs, files, transient data queues, and temporary storage)specified in CICS CALLS by a monitored program. Remove the replacementoptions when you want the program to use the resources defined in the program.

When you specify replacement options for a transaction, the resources arereplaced in all of its programs. When you specify replacement options for aterminal, the resources are replaced in all programs executing from that terminal.

To set or remove replacement options, access the appropriate Monitoringsubmenu to which the monitoring option applies:

Option Used For Monitoring

2.1 Programs

2.2 Transactions

2.3 Terminals

On the Monitoring submenu, enter the program names, transaction codes, orterminal names and the user ID option for whom the entry is to be monitored.Then select the Replace option using S, and press Enter. The ReplacementOptions screen is then displayed.

CA-InterTest MONITORING COMMAND BUILDER - REPLACEMENT OPTIONS 20

SET one or more options to replace one CICS resource name with another in:PROG=COBDEMO

Replace program name: ________ with ________Replace file name: pfile___ with tfile___Replace TD queue name: ____ with ____TS selection mask: ____________________________________TS replacement mask: ____________________________________

Limit monitoring to your terminal - '*' or TERMID: ____User ID (or .ANY) who will execute the program: ________

PF1 Help 2 3 End 4 Return 5 6PF7 8 9 10 11 12

The following options can be specified on this screen. The equivalent optionused in CNTL transaction-based commands is specified in parentheses.

Replace program name (RPC)�Allows a program name to be replaced. Specifythe original program name and the new name.

Page 202: CA-Intertest for CICS User Guide

Setting and Removing Replacement Options

7�16 CA-InterTest for CICS User Guide

Replace file name (RFC)�Allows a file name to be replaced. Specify the originalfile name and the new name. The sample screen shown previously specifies thatprogram COBDEMO use file TFILE instead of PFILE.

Replace TD queue name (RTD)�Allows a transient data queue name to bereplaced. Specify the original TD queue name and the new name.

TS selection mask; TS replacement mask (RTS)�Allows a temporary storageID to be replaced. Specify the original temporary storage ID in the TS selectionmask field and the new temporary storage ID in the TS replacement mask field.Specify both masks as eight bytes in either character (C�data�) or hexadecimal(X�data�) format.

In the following example, STORAGE2 replaces STORAGE1 in all temporarystorage requests issued by the program.

TS selection mask: C'STORAGE1'TS replacement mask: C'STORAGE2'

Limit monitoring (TON)�Specifies that the program be monitored and thatreplacement options, if specified, take effect only when the program executes atthe current terminal (*), a specific terminal (termid), or without a terminal (.NO).

User ID (or .ANY) who will execute the program�Specifies that the program bemonitored and that replacement options, if specified, take effect only when theprogram is executed by any user (.ANY) or a specific user (a CICS user ID).

When you have specified the necessary information, press Enter. You arereturned to the monitoring submenu where you selected the Replace option.

Removing Replacement Options

From a Status Report To remove a replacement option, access the Monitoring Status display (2.4),scroll to the monitoring entry for which you specified the option, and locate thespecific replacement option. Type r next to the option and press Enter.

-------------------- CA-InterTest 6.x MONITORING STATUS ---------------------COMMAND ===>

Type + to expand or - collapse option levels displayed below,or R to remove option(s).

Option Description Attributes_ - COBDEMO Program monitor entry COBOL_ - |-.ANY User monitoring options Active

| Symbolic listing file PROTSYMR - |-RFC File name replacement TFILE replaces SFILE

| Option ID DD180934_ |-SLB Source listing breakpoints X507

*** End of data ***

From the Menus Alternatively, you can use the same menus and screens you used to set theoption, but instead of entering s next to Replace, enter r next to Replace. Specifythe information exactly as you entered it.

Page 203: CA-Intertest for CICS User Guide

Setting and Removing Protection Options

Monitoring Menu Options 7�17

To remove all replacement options of a specific type, use the menus and enter.ALL in the appropriate field on the Remove Replacement Options screen asshown in the following figure. This example removes all file replacement optionspreviously set for the transaction DEMC.

CA-InterTest MONITORING COMMAND BUILDER - REPLACEMENT OPTIONS 20

REMOVE one or more options to replace one CICS resource name with another in:TRAN=DEMC

Replace program name: ________ with ________Replace file name: .all____ with ________Replace TD queue name: ____ with ____TS selection mask: ____________________________________TS replacement mask: ____________________________________

Limit monitoring to your terminal - '*' or TERMID: ____User ID (or .ANY) who will execute the program: ________

PF1 Help 2 3 End 4 Return 5 6PF7 8 9 10 11 12

Setting and Removing Protection Options

You can set options to override the CA-InterTest for CICS default protectionrules for modifying main storage, the CSA, and load modules. Remove theprotection options to reinstate the default protection rules.

Note: Because the protection options can potentially damage your CICS systemif misused, exercise caution in specifying them. These options are passwordprotected unless your site has removed this restriction.

To set or remove protection options, access the appropriate Monitoring submenuto which the monitoring option applies:

Option Used For Monitoring

2.1 Programs

2.2 Transactions

2.3 Terminals

Page 204: CA-Intertest for CICS User Guide

Setting and Removing Protection Options

7�18 CA-InterTest for CICS User Guide

On the Monitoring submenu, enter the program names, transaction codes, orterminal names and the user ID option for whom the entry is to be monitored.Then select the Replace option using s, and press Enter. The Protection Optionsscreen illustrated below is displayed.

CA-InterTest MONITORING COMMAND BUILDER - PROTECTION OPTIONS 21

SET one or more options to override the default protection rules in:PROG=COBDEMO

Bypass storage protection: From ________ To ________Unprotect CSA: Offset ____ Length ___Unprotect CWA: Offset ____ Length ___Unprotect main storage area: Address ________ Length _____Unprotect load module: Name ________Protect main storage area: Address ________ Length _____

Limit monitoring to your TERMINAL - '*' or TERMID: ____User ID (or .ANY) who will execute the program: ________

PF1 Help 2 3 End 4 Return 5 6PF7 8 9 10 11 12

The following options can be specified on this screen. In the description of eachoption, the command syntax equivalent for each monitoring option is specifiedin parentheses.

Bypass storage protection (BYP)�Permits a specified section of program code todo the following:

� Modify any area of main storage

� Issue SVC instructions

� Issue BALR, BASSM, or BASR 14,15 or 14,14 instructions

Specify either the beginning and ending program addresses or program offsets.Specify addresses as six to eight hexadecimal digits, and offsets as one to fivehexadecimal digits.

If you specify .ANY in the From field and an address or offset in the To field,CA-InterTest for CICS suspends monitoring when any BALR, BASSM, or BASR14,15 or 14,14 instruction passes control to the specified location. Monitoringresumes when the routine executed by the instruction returns control to the nextbyte after the instruction.

At a breakpoint, you can specify * in the From field and leave the To field blankto instruct CA-InterTest for CICS to bypass the current instruction.

Unprotect CSA (CSA)�Permits a program to modify areas in the CSA. Specifythe offset and the length in hexadecimal.

Page 205: CA-Intertest for CICS User Guide

Setting and Removing Protection Options

Monitoring Menu Options 7�19

Unprotect CWA (CWA)�Permits a program to modify areas in the CWA.Specify the offset and the length in hexadecimal.

Unprotect main storage area (LET)�Permits a program to modify a designatedarea of storage. Specify the beginning address as six to eight hexadecimal digits.Specify the length of the area in hexadecimal.

Unprotect load module (LET)�Permits a program to modify a load module.

Protect main storage area (PRO)�Prevents a program from modifying adesignated area of storage not protected by CA-InterTest. Specify the beginningaddress as six to eight hexadecimal digits. Specify the length of the area inhexadecimal.

Limit monitoring (TON)�Specifies that the program be monitored and that theprotection options, if specified, take effect only when the program executes at thecurrent terminal (*), a specific terminal (termid), or without a terminal (.NO).

User ID (or .ANY) who will execute the program (USR)�Specifies that theprogram be monitored and that protection options, if specified, take effect onlywhen the program is executed by any user (.ANY) or a specific user (a CICS userID).

When you have specified the necessary information, press Enter. You arereturned to the monitoring submenu where you selected the Protect option.

Removing Protection Options

From a Status Report To remove a protection option, access the Monitoring Status display (2.4), scrollto the monitoring entry for which you specified the option, and locate thespecific protection option. Type r next to the option and press Enter.

-------------------- CA-InterTest 6.x MONITORING STATUS ---------------------COMMAND ===>

Type + to expand or - collapse option levels displayed below,or R to remove option(s).

More: -Option Description Attributes

_ - COBDEMO Program monitor entry COBOL_ - |-.ANY User monitoring options Active

| Symbolic listing file PROTSYMR - |-BYP Bypass storage protection From=.ANY, to=+0000C1

| Option ID DD984A82_ |-SLB Source listing breakpoints X507

*** End of data ***

Removing a Bypass Storage Protection Option from the Status Report

From the Menus Alternatively, to remove protection options, access the Monitoring submenu,specify monitoring entry, (program, transaction, or terminal and user ID), type Rnext to the Replace option and press Enter. Then enter the information exactly asyou originally defined it.

Page 206: CA-Intertest for CICS User Guide

Setting and Removing Special Options

7�20 CA-InterTest for CICS User Guide

To remove all options of a specific type, enter .ALL in the appropriate field of theProtection Options menu. For example, to remove all Bypass Storage Protectionoptions, enter .ALL in the first Bypass Storage Protection field.

Setting and Removing Special Options

You can set special options to alter the standard CA-InterTest for CICS monitoringprocedures. Remove the special options to reinstate the default monitoring rules. Toset or remove protection options, access the appropriate Monitoring submenu towhich the monitoring option applies:

Option Used For Monitoring

2.1 Programs

2.2 Transactions

2.3 Terminals

On the Monitoring submenu, enter the program names, transaction codes, orterminal names and the user ID for whom the entry is to be monitored. Thenselect the Special option using S, and press Enter. The Special Options screen,illustrated below, is displayed.

CA-InterTest MONITORING COMMAND BUILDER - SPECIAL OPTIONS 22

SET one or more options to override the default monitoring rules in:PROG=COBDEMO

Enter X next to each option desired:

Source Listing Breakpoint (SLB) _No file updating (NUP) _Reentrancy check (RNT) _

Follow monitoring (ON, name, NOPPT) (FOL) ________Number of times to be monitored (MUS) _____Limit total size of CICS storage (MXS) _______Limit total number of CICS requests (MXR) _______

Set local automatic breakpoint ('*', TERMID, .ANY, OFF) ____Limit monitoring to your TERMINAL - '*' or TERMID: ____User ID (or .ANY) who will execute the program: ________

PF1 Help 2 3 End 4 Return 5 6PF7 8 9 10 11 12

Many options, described next, can be specified on this screen. The equivalentoption used in CNTL transaction-based commands is specified in parentheses.

Source Listing Breakpoint (SLB)�Specifies that the Source Listing Breakpointscreen be displayed rather than the detailed breakpoint display screen. Refer tothe chapter Testing from the Source Listing Facility� for more information.

Page 207: CA-Intertest for CICS User Guide

Setting and Removing Special Options

Monitoring Menu Options 7�21

No file updating (NUP)�Specifies that a monitored program not update any files.This option only affects VSAM and BDAM files; databases are unaffected.

Reentrancy check (RNT)�Prevents a program from modifying its own code.

Follow monitoring (FOL)�Instructs CA-InterTest to continue monitoring aprogram even if it branches directly to another program (wild branch). Allmonitoring options remain in effect. Specify the following:

� ON when control passes to a program that does not have a PPT entry

� the name of the program when control passes to a program that has a PPTentry

� NOPPT instead of ON to reduce overhead when a program often branches toa program that does not have a PPT entry

Note: The FOL option should not be specified if control is passed to a programby a LINK or XCTL instruction. Such a program is monitored only if monitoringhas been specified for it.

Number of times to be monitored (MUS)�Limits the number of times aprogram should be monitored.

Limit total size of CICS storage (MXS)�Limits the amount of storage, includingprogram storage, that a program can acquire.

Limit total number of CICS requests (MXR)�Limits the number of requests atransaction can issue. This option is useful when a program is in a loop thatincludes a CICS request.

Set local automatic breakpoint (ABP)�Activates the automatic breakpointfacility for a particular program, transaction, or terminal.

Specify the terminal to receive automatic breakpoint displays. An asterisk, *,routes the display to the current terminal. A termid routes the display to aparticular terminal. .ANY routes the display to all terminals. OFF instructsCA-InterTest for CICS to abend the task instead of halting it at an automaticbreakpoint.

Note: This option is useful when you do not want the breakpoint display routedto the terminal where the program is running or when the display cannot berouted to that terminal (for example, a non-terminal task or a task running on anon-3270 terminal). In those cases, specify the terminal to which breakpointdisplays should be routed. The local automatic breakpoint option is also usefulin a production environment when the global Automatic Breakpoint facility hasbeen disabled and you want to monitor a specific program, transaction, orterminal.

Limit monitoring (TON)�Specifies that the program be monitored and that thespecial options, if specified, take effect only when the program executes at thecurrent terminal (*), at a specific terminal (termid), or without a terminal (.NO).

Page 208: CA-Intertest for CICS User Guide

Setting and Removing Composite Support

7�22 CA-InterTest for CICS User Guide

User ID (or .ANY) who will execute the program (USR)�Specifies that theprogram be monitored and that special options, if specified, take effect onlywhen the program is executed by any user (.ANY) or a specific user (a CICS userID).

When you have specified the necessary information, press Enter. You arereturned to the monitoring submenu where you selected the Protect option.

Removing Special Options

From a Status Report To remove a special option, access the Monitoring Status display (2.4), scroll tothe monitoring entry for which you specified the option, and locate the specificspecial option. Type R next to the option and press Enter.

-------------------- CA-InterTest 6.x MONITORING STATUS ---------------------COMMAND ===>

Type + to expand or - collapse option levels displayed below,or R to remove option(s).

More: -Option Description Attributes

_ - COBDEMO Program monitor entry COBOL_ - |-.ANY User monitoring options Active

| Symbolic listing file PROTSYMR - |-MUS Monitoring limit, count 70, 0

| Option ID AF34C891_ |-SLB Source listing breakpoints X507

*** End of data ***

Removing Option to Limit Times Monitored (MUS) from a Status Report

From the Menus To remove special options, access the same monitoring menu and specify R nextto Special, complete the Special Options menu by enter an x next to the optionsyou want to remove, or enter the information exactly as you originally defined it.

Setting and Removing Composite Support

The CA-InterTest for CICS composite support feature lets you take advantage ofall CA-InterTest for CICS capabilities when you test and debug compositemodules. A composite module is a load module, defined in the PPT that consists ofseparately compiled or assembled parts brought together when the module islink-edited. The part of the composite module that receives control from CICS isreferred to as the main program; the remaining parts are referred to assubprograms. The main program and subprograms can be written in the same ordifferent languages.

Composite support lets you test and debug a subprogram as if it were a separateprogram. That means you can set breakpoints and other monitoring optionsindividually for any subprogram.

Page 209: CA-Intertest for CICS User Guide

Setting and Removing Composite Support

Monitoring Menu Options 7�23

CA-InterTest for CICS provides full symbolic support for the main program andsubprograms if you provide that information when the programs are compiledor assembled. See the chapter, �Source Listing Facility� for instructions.

CA-InterTest for CICS needs link-edit information for the main program andsubprograms you want to test. There are two ways to provide link-editinformation:

� Execute a batch job

� Enter specifications online on the Composite Support screen

The batch method is recommended because it is more efficient.

Setting Composite Support Using the Batch Method

To set composite support using the batch method:

1. Execute a batch job.

2. Access the Composite Support screen.

3. Press PF5 to process the specifications.

The CA-InterTest batch job step, executed after the composite module is link-edited, reads the link-edit map to determine the link-name, offset, and length ofthe main program and each subprogram. This step also specifies the namesunder which CA-InterTest will monitor each program. The appendix �SymbolicSupport� describes this procedure.

After the batch job has completed, access the Program Monitoring menu (2.1).Enter the composite module name, the user ID who will execute the program (or.ANY), type S next to the Composite Option, and press Enter. CA-InterTest forCICS displays the Composite Support screen, as illustrated in the followingexample.

CA-InterTest MONITORING COMMAND BUILDER - COMPOSITE SUPPORT REQUESTSET Link options for PROG=BIGMOD as defined below:

Link-name Monitor-name Offset Length Language Comments

_ MAINMOD BIGMOD 160 78A8 COB_ SUBMOD-A ASMMOD-A 7CA0 1200 ASM__ SUBMOD-B ASMMOD-B 8EA0 1001 ASM__ SUBMOD-C ASMMOD-C 9EA1 93A ASM__ SUBMOD-D _______ A8DB A11 ____ symbolics not available

Enter Monitor-names for programs to be monitored and press PF5 to process1 Help 2 3 End 4 5 Process 67 Backward 8 Forward 9 10 11 12MU5002 BOTTOM of data

Page 210: CA-Intertest for CICS User Guide

Setting and Removing Composite Support

7�24 CA-InterTest for CICS User Guide

The Composite Support screen lists link-edit information for the main programand subprograms. Subprograms with prefixes DFH, ILB, and IBM areautomatically excluded from the list unless you specifically name them in thebatch job step.

Monitor-Names You can make the following changes on this screen:

� Type monitor-names for subprograms that you want to test that do not havemonitor-names already specified.

� Blank out monitor-names of subprograms you do not want to test to reduceoverhead.

� Change the monitor-name and language specified for a subprogram.

When you have made all necessary changes, press PF5 to set composite support.

The six fields on the Composite Support screen provide the following information:

Link-name�Specifies the name of a COBOL program, Assembler CSECT, orPL/I Control Section as listed in the link-edit map.

Monitor-name�Specifies the name under which CA-InterTest will monitor the program.The following rules apply to monitor-names:

� Each monitor-name must be unique .

� The monitor-name of the main program will always be the PPT name of thecomposite module. This name cannot be changed.

� The monitor-name of a subprogram cannot be a PPT name.

� A monitor-name can be identical to a link-name.

� If you want symbolic information for a program or subprogram, its monitor-name must be identical to the name used in the post-processor batch job stepthat provides the symbolic information to CA-InterTest.

For example, in the previous figure BIGMOD is the monitor-name of the mainprogram; ASMMOD-A, ASMMOD-B, and ASMMOD-C are the monitor-namesof the subprograms you want to test.

Offset�Specifies the hexadecimal offset of the program as listed in the link-editmap. If the offset appears on the screen, you cannot change it.

Length�Specifies the hexadecimal length of the program as listed in the link-edit map. If the length appears on the screen, you cannot change it.

Language�Specifies the language in which the program is written. IfCA-InterTest has symbolic information for the program, it uses the languagespecified in the post-processor batch job. If CA-InterTest does not have symbolicinformation, it assumes the subprogram is written in the same language as themain program.

Page 211: CA-Intertest for CICS User Guide

Setting and Removing Composite Support

Monitoring Menu Options 7�25

If necessary, change this field by entering:

COB for COBOLASM for AssemblerPL1 for PL/I

Comments�Specifies optional comments, which describe symbolic informationavailable for the program:

symbolics not available�CA-InterTest does not have symbolic informationfor the program.

symb data after linkedt�The program might have been recompiled orreassembled after the link-edit. Composite support information might beoutdated.

lang chg to match symb�The language has been changed to the languagespecified in the symbolic post-processor batch job.

Use PF8 and PF7 to scroll forward and backward through the list of programs.Enter a slash, /, to the left of a link-name to position that program on the top ofthe next screen.

Changing the Composite Support Screen

You can add, delete, or change monitor-names of subprograms to meet yourtesting needs.

Example Suppose CA-InterTest displays the Composite Support screen for compositemodule BIGMOD. You want to test SUBMOD-D, but you do not want to testSUBMOD-A, SUBMOD-B, and SUBMOD-C. To do this, change the monitor-namespecifications, as illustrated below, before pressing PF5.

CA-InterTest MONITORING COMMAND BUILDER - COMPOSITE SUPPORT REQUESTSET Link options for PROG=BIGMOD as defined below:

Link-name Monitor-name Offset Length Language Comments

_ MAINMOD BIGMOD 160 78A8 COB_ SUBMOD-A 7CA0 1200 ASM__ SUBMOD-B 8EA0 1001 ASM__ SUBMOD-C 9EA1 93A ASM__ SUBMOD-D ASMMOD-D A8DB A11 ____ symbolics not

available

Enter Monitor-names for programs to be monitored and press PF5 to process1 Help 2 3 End 4 5 Process 67 Backward 8 Forward 9 10 11 12MU5002 BOTTOM of data

Page 212: CA-Intertest for CICS User Guide

Setting and Removing Composite Support

7�26 CA-InterTest for CICS User Guide

In this example:

� The monitor-names for SUBMOD-A, SUBMOD-B, and SUBMOD-C havebeen removed because those subprograms are not going to be tested.Removing the monitor-names reduces overhead.

� A monitor-name has been specified for subprogram SUBMOD-D so thatsubprogram can be tested separately.

Note: Changes made to the Composite Support screen affect that session only.So, if you reaccessed the Composite Support screen for BIGMOD after makingthe above changes, the original screen would be displayed. You could thensubmit the original specifications or change those specifications again.

Setting Composite Support Using the Online Method

The online method of setting composite support consists of three steps:

1. Access the Composite Support screen.

2. Enter link-edit information.

3. Press PF5 to process the specifications.

To access the Composite Support screen, access the Program Monitoring Menu(2.1) and enter the composite module name in the Program name field. Type anS next to the Composite option, and press Enter. CA-InterTest for CICS displaysthe Composite Support screen, as illustrated below.

CA-InterTest MONITORING COMMAND BUILDER - COMPOSITE SUPPORT REQUESTSET Link options for PROG=COBDEMO as defined below:

Link-name Monitor-name Offset Length Language Comments

_ ________ COBDEMO ______ _____ COB_ ________ ________ ______ _____ _____ ________ ________ ______ _____ _____ ________ ________ ______ _____ _____ ________ ________ ______ _____ _____ ________ ________ ______ _____ _____ ________ ________ ______ _____ _____ ________ ________ ______ _____ _____ ________ ________ ______ _____ _____ ________ ________ ______ _____ _____ ________ ________ ______ _____ _____ ________ ________ ______ _____ _____ ________ ________ ______ _____ _____ ________ ________ ______ _____ ____

Enter Monitor-names for programs to be monitored and press PF5 to process1 Help 2 3 End 4 5 Process 67 Backward 8 Forward 9 10 11 12

In this example, only the monitor-name of the main program (COBDEMO) andits language appear on the screen.

Page 213: CA-Intertest for CICS User Guide

Setting and Removing Composite Support

Monitoring Menu Options 7�27

Enter the following information for COBDEMO and each subprogram you wantto test separately:

� Link-names of the main program and each subprogram you want to test(required)

���� Monitor-names for each subprogram you want to test (required)

� Hexadecimal offset and length of the main program and each subprogramyou want to test (required)

� Language of the main program and each subprogram you want to test(optional). If CA-InterTest has symbolic information for the programs, omitthis field because CA-InterTest will use the language specified in thesymbolic post-processor batch job. However, if you omit the subprogramlanguage and CA-InterTest does not have symbolic information for thatprogram, it defaults to the language of the main program.

To complete this screen:

� Enter the link-name, offset, and length specifications as listed on the link-editmap. Observe the rules for monitor-names as described earlier in thissection.

� After entering the necessary information, press PF5 to process thespecifications.

Note: Remember, it is not necessary to enter information for subprograms youdo not plan to test separately.

Setting Monitoring for a Program with Subprograms

If you set monitoring for a program for which CA-InterTest has link-editinformation, a message will prompt you to press PF3 to access the CompositeSupport screen. This screen will contain the link-edit information. Press PF5 toprocess the specifications.

Page 214: CA-Intertest for CICS User Guide

Setting and Removing Composite Support

7�28 CA-InterTest for CICS User Guide

Assembler Programs with Multiple CSECTs

For Assembler composite modules, you can treat multiple CSECTs that wereassembled together as one subprogram. Enter a plus sign, +, in the field to theleft of the link-names, as illustrated below.

CA-InterTest MONITORING COMMAND BUILDER - COMPOSITE SUPPORT REQUESTSET Link options for PROG=ASMLINK as defined below:

Link-name Monitor-name Offset Length Language Comments

_ ASMLINK ASMLINK_ 48 2000 ASM_ ASM-A ASM-A 2048 68B ASM+ ASM-B ________ 2F98 1BC ASM+ ASM-C ________ 3B00 290 ASM

Enter Monitor-names for programs to be monitored and press PF5 to process1 Help 2 3 End 4 5 Submit 67 Backward 8 Forward 9 10 11 12MU5002 BOTTOM of data

In the previous figure, subprograms ASM-A, ASM-B, and ASM-C are treated asone program. Set breakpoints and other options for all three CSECTs under thename ASM-A, the monitor-name specified for subprogram ASM-A.

Note: The Composite Support screen might already have plus signs joiningAssembler CSECTs. That means the CSECTs were treated as one program in thepost-processor batch job step that provided symbolic information toCA-InterTest for CICS.

Removing Composite Support

From a Status Report To remove composite support, you must remove monitoring for the mainprogram. Access the Monitoring Status Report (2.4), scroll to the monitoringentry for the main program, type R to the left of the entry, and press Enter.

Note: Remember that removing monitoring from the main program alsoremoves monitoring from all subprograms. In other words, all breakpoints andoptions set for the main program and all subprograms are removed.

From the Menus Access the Program Monitoring menu (2.1), specify the main program name, tabto the Monitor option, and type R. Press Enter to remove monitoring for thatprogram.

Page 215: CA-Intertest for CICS User Guide

Disconnecting, Reconnecting, and Purging Active Tasks

Monitoring Menu Options 7�29

Disconnecting, Reconnecting, and Purging Active Tasks

Disconnecting a Task To disconnect a terminal from CA-InterTest while at a breakpoint, useBreakpoint Primary Menu Option 7 Disconnect. This option allows non-CA-InterTest or non-CICS functions to be performed at the terminal.

Reconnecting a Task To reconnect a terminal to the CA-InterTest for CICSbreakpoint, you can use the ITST Monitoring Menu to reconnect a task.Monitoring Menu Option 5 Active-Tasks, allows you to reconnect, disconnect,and purge active tasks. From CICS, just enter ITST 2.5 and the Active Tasksmenu, shown in the following figure, is displayed.

----------------------- CA-InterTest 6.x ACTIVE TASKS -----------------------COMMAND ===>

Type R to reconnect or P to purge tasks below.

Task Description Attributes_ 00093 Transaction, program DEMC, COBDEMO

Terminal X505Waiting at breakpoint SBP since 06:49 p.m.Breakpoint location Offset=0016FA, address=000D9B42Breakpoint reason Single-stepping breakpoint.*** End of data ***

PF1 Help 2 Refresh 3 End 4 Return 5 6PF7 Backward 8 Forward 9 10 11 12

The Active-Tasks menu allows you to type an R next to a task you want toreconnect to your terminal, or type a P next to a task you want to purge.

Note: MRO environments should consult the CA-InterTest for CICS GettingStartedfor reconnection considerations for tested transactions in implicit routingsessions.

Page 216: CA-Intertest for CICS User Guide

Viewing and Setting System-Wide Options

7�30 CA-InterTest for CICS User Guide

Viewing and Setting System-Wide Options

You can set certain options on a system-wide basis from the MonitoringSystem-Wide Options submenu (2.6). The System-Wide Options screen isdisplayed below.

------------------- CA-InterTest 6.x SYSTEM-WIDE OPTIONS --------------------COMMAND ===>

Type S to set or R to remove option(s) below.

Option Description Attributes_ ABP Automatic breakpointing Active_ CKPT Option checkpointing Inactive_ DUMP Dumping all abends Inactive_ GLOG Global logging Inactive_ ITTRACE CA-InterTest tracing Active_ PURGE Breakpointed task purging Inactive

*** End of data ***

Note: These options are password protected unless your site has removed thisrestriction.

Six options can be selected on this screen. The equivalent option used in single-line commands is specified in parentheses. Type S next to the option to select it,and then complete the following screen.. In many cases, you will enter ON to setan option and OFF to remove it.

ABP Option: Automatic breakpointing sets the Automatic Breakpoint Facilityfor the entire system; the default. Breakpoint displays are routed to the terminalwhere the program is running. Specify a terminal ID to indicate wherebreakpoint displays should be routed for non-terminal attached tasks and fortasks executing from non-3270 terminals.

------------------------ CA-InterTest 6.x ABP OPTION ------------------------COMMAND ===>

Modify below to set or remove the ABP option, then press ENTER.

ABP status . . ON_ Automatic breakpointing ( ON or OFF ).Terminal ID . ____ Terminal ID to receive breakpoint.

The ABP System-Wide Options Menu

If you specify OFF for the ABP option, you might want to use the Special Optionsfrom the Program Monitoring submenu (2.1) to set the local AutomaticBreakpoint option for one or more programs. The local Automatic Breakpointoption overrides the system Automatic Breakpoint option.

Page 217: CA-Intertest for CICS User Guide

Viewing and Setting System-Wide Options

Monitoring Menu Options 7�31

CKPT Option: Option Checkpointing instructs the Checkpoint RecordingFacility to record periodically the status of CA-InterTest for CICS monitoring sothat you can use the restart feature. The first checkpoint occurs when the optionis specified. Subsequent checkpoints occur at the end of the interval, specified inhours and minutes in this format hhmm. The minimal time interval is tenminutes.

----------------------- CA-InterTest 6.x CKPT OPTION ------------------------COMMAND ===>

Modify below to set or remove the CKPT option, then press ENTER.

CKPT status . OFF Checkpoint CA-InterTest tables ( ON or OFF ).Interval . . . ____ Checkpointing interval ( HHMM; minimum 0010 ).

The Ckpt (Checkpoint) System-Wide Options Menu

DUMP Option: Dumping all abends requests a dump be produced for allabends.

----------------------- CA-InterTest 6.x DUMP OPTION ------------------------COMMAND ===>

Modify below to set or remove the DUMP option, then press ENTER.

Dump status . OFF Dump all abends option ( ON or OFF ).

The Dump System-Wide Options Menu

GLOG: Global logging requests global logging of CA-InterTest for CICSactivity, most CNTL commands, and all changes to main storage.

------------------------ CA-InterTest 6.x GLOG OPTION ------------------------COMMAND ===>

Modify below to set or remove the GLOG option, then press ENTER.

GLOG status . OFF Global command logging ( ON or OFF ).TD queue . . : CSSL Log transient data destination queue.

The GLOG (Global Logging ) System-Wide Options Menu

ITTRACE Option: CA-InterTest for CICS tracing instructs CA-InterTest forCICS to write trace records to the CICS trace during monitoring.

Page 218: CA-Intertest for CICS User Guide

Viewing and Setting System-Wide Options

7�32 CA-InterTest for CICS User Guide

Purge breakpointed tasks (PURGE) instructs CA-InterTest for CICS toperiodically purge tasks halted at a breakpoint for longer than the specifiedinterval. The first purge occurs when the option is specified. Subsequent purgesoccur at the end of the interval, specified in hours and minutes in this formathhmm. The minimal time interval is 20 minutes.

Page 219: CA-Intertest for CICS User Guide

Special Monitoring Situations 8�1

Chapter

8 Special Monitoring Situations

This chapter guides users on how to use CA-InterTest for CICS in the followingspecial monitoring situations:

� Monitoring in a production environment

� Monitoring tasks that execute without terminals

� Monitoring tasks that execute at non-3270 terminals

� Using segmented monitoring to handle special situations

� Using CA-InterTest with IBM's EDF (EXEC Debugging Facility)

Note: Segmented monitoring is available with CA-InterTest for CICS Releases5.x only and applies to users of HOGAN Systems software, the MSACorporation's DCI interface, and LE/370 Condition Handler monitoring.

Special MonitoringSituations

The following sections discuss special monitoring situations, including:

� Monitoring programs with LE/370 condition handlers

� Monitoring dynamically called COBOL II and COBOL/370 programs

� Monitoring in a production environment

� Monitoring tasks that execute without terminals

� Monitoring tasks that execute at non-3270 terminals

� Using segmented monitoring to handle special situations

� Using programmed breakpoints

� Monitoring CICS/ESA 3.3 FEPI applications

Segmented monitoring applies to users of HOGAN Systems software and the MSACorporation's DCI Interface. Programmed breakpoints are used primarily by PL/Iusers who want to display data areas that CA-InterTest for CICS normally cannotdisplay or who do not have symbolic information for their programs.

Page 220: CA-Intertest for CICS User Guide

Monitoring Programs with LE/370 Condition Handlers

8�2 CA-InterTest User Guide

Monitoring Programs with LE/370 Condition Handlers

LE/370 condition handlers do not receive control in the same manner as anormal CICS COBOL program. Therefore, they must be monitored using theCA-InterTest for CICS Segmented Monitoring and ABI=OFF options. To monitorCOBOL/370 programs that contain calls to enable or disable LE/370 conditionhandlers:

1. Use normal monitoring.

2. Specify ABI=OFF for the main program, and if there is a composite module,for all subprograms.

Note: Do not specify ABI=OFF for the LE/370 condition handler module ifyou want CA-InterTest to intercept abends that occur within the LE/370condition handler. ABI=OFF is needed for all programs except the conditionhandler to prevent CA-InterTest from intercepting the abend before theLE/370 condition handler is invoked.

Because LE/370 condition handlers do not receive control the same way anormal CICS program does, you must start and stop monitoring for thecondition handler routine or program by using the Segmented Monitoringbreakpoint options (+ and -). For example, you can use the Source Listing facilityto display the condition handler routine or program, and then set a startmonitoring (+) breakpoint at the first statement number, which causesCA-InterTest for CICS to begin monitoring when the condition handler isinvoked by LE/370. You can also set normal breakpoints, such as unconditional,conditional and so on, in the condition handler program. Refer to the UsingSegmented Monitoring to Handle Special Situations section for details on segmentedmonitoring.

You must set a stop monitoring breakpoint (-) before or at the GOBACK statement ofthe condition handler or unpredictable results might occur.

Page 221: CA-Intertest for CICS User Guide

Monitoring Dynamically Called COBOL II and COBOL/370 Programs

Special Monitoring Situations 8�3

Monitoring Dynamically Called COBOL II and COBOL/370Programs

The monitoring and debugging of dynamically called COBOL II andCOBOL/370 programs can be handled either:

� In the same way as other CICS COBOL II and COBOL/370 programswithout necessarily monitoring higher level programs

� Using the FOL=PPT option

You can request monitoring for dynamically called COBOL programs throughthe Source Listing and CNTL facilities the same way you would requestmonitoring for first level CICS COBOL programs.

Note: For information on the FOL=PPT option, refer to the �How CA-InterTestfor CICS Uses the FOL= Option� appendix.

Monitoring in a Production Environment

At times, you can use CA-InterTest for CICS to monitor programs running in aproduction environment. For example, you might want to monitor recently installedor modified applications until you are sure they are free of errors, or you can evenmonitor the entire production system if you have errors that cannot otherwise beisolated.

When you use CA-InterTest for CICS in a production environment, you shouldconsider:

� Where to route automatic breakpoint displays

� How many times to monitor a program

� Whether to restrict monitoring to a single terminal or user ID

� What to do if you must monitor the entire system

Page 222: CA-Intertest for CICS User Guide

Monitoring in a Production Environment

8�4 CA-InterTest User Guide

Controlling Automatic Breakpoint Displays

When you monitor a program in a production environment, you usually do notwant the breakpoint display to appear at the operator's terminal because theinformation is meaningless. Instead, CA-InterTest for CICS can either abend thetask or route the Breakpoint Display.

Abend the Task If you want CA-InterTest to abend the task before it can damage CICS and write atransaction dump (INTE), deactivate the global Automatic Breakpoint facility. Thisfacility instructs CA-InterTest to generate a breakpoint each time it detects an error ina program that it is monitoring.

To deactivate this facility, select System-Wide Options from the Monitoring Menu(Primary Menu Option 2.6), and enter OFF in the Automatic Breakpoint field, orenter the command:

CNTL=ABP,OFF

When the global Automatic Breakpoint facility is deactivated, you might want tospecify the local Automatic Breakpoint option for certain programs, transactions,or terminals.

Route the BreakpointDisplay

To route breakpoint displays to a programmer's terminal, specify the localAutomatic Breakpoint option and direct the breakpoint displays to aprogrammer's terminal. The local Automatic Breakpoint option instructsCA-InterTest to generate a breakpoint each time it detects an error in thespecified program, transaction, or terminal, and it overrides the global AutomaticBreakpoint facility.

To specify this option, select Special Options from the Monitoring submenus (2.1,2.2, or 2.3) and specify the programs, transactions, or terminals. Then specify theterminal to which breakpoint displays should be routed. You could also enterthe command:

CNTL=ON,promid,ABP=termid

Controlling the Number of Times a Program Is Monitored

When a new or modified program goes into production, you can limit thenumber of times CA-InterTest for CICS monitors it. The MUS option lets youspecify the number of times CA-InterTest for CICS should monitor a program.To specify the MUS option, select Special Options from the Monitoringsubmenus (2.1, 2.2, or 2.3) and specify the programs, transactions, or terminals.On the Special Options menu, specify the number of times monitoring shouldoccur in the MUS field. You can also enter this command:

CNTL=ON,promid,MUS=nnn

Page 223: CA-Intertest for CICS User Guide

Monitoring in a Production Environment

Special Monitoring Situations 8�5

Monitoring a Program for a Single User ID

When a program fails in the production system, you can use CA-InterTest forCICS to monitor it so you can find and correct the error. In a secure CICS region,restricting monitoring to a single user ID means you can test the programthoroughly without interfering with the work of other users.

All monitoring methods let you specify a single CICS user ID when settingmonitoring. This limits monitoring to only that user, but permits the user to goto any terminal. Monitoring by user ID can be the default in your system; if it isnot, you must specify the user ID each time you set monitoring or a monitoringoption. If you are using the Source Listing facility or the menus to setmonitoring, press PF1 to get help on how to monitor by user ID. If you are usingCNTL commands, specify the USR option when you set monitoring, as follows:

CNTL=ON,promid,USR=userid

Monitoring a Program at a Single Terminal

When a program fails in the production system, you can use CA-InterTest forCICS to monitor it so you can find and correct the error. Restricting monitoringto a single terminal means you can test the program thoroughly withoutinterfering with the work of other users.

If you are using the CNTL Monitoring Command Builder menus, you can limitmonitoring to a single terminal on the Replacement Options, Protection Options,and Special Options screens. If you are using commands, specify the TONoption when you set monitoring, as follows:

CNTL=ON,promid,TON=termid

Monitoring the Entire Production System

Usually, you will want to avoid monitoring the entire production system becauseof the high overhead involved. But what if your production system has a seriouserror and you cannot isolate the problem program? In that case, you can instructCA-InterTest for CICS to monitor all the programs in the production system forevery user or for a specific user only.

If your system is experiencing sporadic problems that are difficult to isolate, youmight want to monitor all programs executed by the user experiencing the problems.In a secure CICS region, you can use the following global monitoring command withthe user ID option for the user experiencing the problem:

CNTL=ON,PROG=.ALL,USR=cics-userid

Note: Ensure each user signs on to CICS before executing programs.

Page 224: CA-Intertest for CICS User Guide

Monitoring Tasks That Execute Without Terminals

8�6 CA-InterTest User Guide

While CA-InterTest for CICS is monitoring all of the programs, use the ActiveTasks display (Primary Menu Option 2.5 Monitoring Active Tasks) to check forproblems. When CA-InterTest for CICS finds that a program is about to commitan error, it halts the program at an automatic breakpoint and automaticallycreates a Monitoring Table entry for that program. The monitoring status reportprovides that information. As soon as you see that CA-InterTest for CICS hasidentified the problem program, you can turn monitoring off for the system andmonitor the problem program for a single user or at a single terminal until youresolve the error.

Alternatively, you can monitor a certain percentage of your programs untilCA-InterTest for CICS finds the problem program. For example, you might monitor10 percent of your programs one week, another 10 percent the next week, and a third10 percent the following week. This approach minimizes overhead, and takesadvantage of the ability of CA-InterTest for CICS to track down problems thatare otherwise very difficult to resolve.

Monitoring Tasks That Execute Without Terminals

Special steps must be taken when CA-InterTest for CICS monitors tasks thatexecute without a terminal. This includes tasks that are automatically initiatedby an interval control request or a transient data trigger.

Unconditional, Conditional, and Request Breakpoints

If you set unconditional, conditional, and request breakpoints and you want tosee the breakpoint display, you must indicate that the task is running without aterminal. You can also specify the terminal to receive breakpoint displays.

If you specify .ANY for the terminal at which the task must be executing, thebreakpoint occurs at all terminals�even when the task runs without a terminal.If you specify .NO, the breakpoint occurs only when the task executes without aterminal.

You can also specify the ID of the terminal to receive breakpoint displays. Ifomitted, it defaults to the terminal at which the breakpoint was set. Do notspecify .ANY for the terminal to receive breakpoint displays.

Note: If you set a breakpoint, the local Automatic Breakpoint option isautomatically set for the program.

Page 225: CA-Intertest for CICS User Guide

Monitoring Tasks That Execute at Non-3270 Terminals

Special Monitoring Situations 8�7

Automatic Breakpoints

If the global Automatic Breakpoint facility is on and a program is executingwithout a terminal, the task will abend. To prevent this, route automaticbreakpoint displays to 3270-type terminals. Use the global or local AutomaticBreakpoint terminal options to identify the terminal to receive automaticbreakpoint displays.

To identify a terminal to receive breakpoint displays for a specific program ortransaction, select Special Options on the Monitoring Submenu for the Program(2.1) or Transaction (2.2). Specify a terminal ID for the Local AutomaticBreakpoint option on the Special Options menu. For details, see the chapter�Monitoring Menu Options.�

To identify a terminal to receive breakpoint displays for all non-terminalattached tasks and for tasks executing from non-3270 terminals, select System-Wide Options from the Monitoring Menu (Primary Menu Option 2.6, BreakpointMenu Option 1.2.6). On the System-Wide menu, specify a terminal ID for theGlobal Automatic Breakpoint option.

Setting Monitoring for Non-Terminal Execution

You can monitor a task only when it executes without a terminal. You canspecify this by selecting Replacement Options, Protection Options, or SpecialOptions from Monitoring submenus (2.1, 2.2, or 2.3). Specify .NO in the LimitMonitoring field. For details, see the �Monitoring Menu Options� chapter. Youcan also enter this command:

CNTL=ON,promid,TON=.NO

Monitoring Tasks That Execute at Non-3270 Terminals

Monitoring commands for tasks executing at non-3270 terminals must be enteredat 3270-type terminals.

Setting Monitoring for Non-Terminal Execution

You can monitor a task only when it executes without a terminal. You canspecify this by selecting Replacement Options, Protection Options, or SpecialOptions from the Monitoring submenus, and then specify .NO in the LimitMonitoring field. For details, see the �Monitoring Menu Options� chapter. Youcan also enter this command:

CNTL=ON,promid,TON=.NO

Page 226: CA-Intertest for CICS User Guide

Using Segmented Monitoring to Handle Special Situations

8�8 CA-InterTest User Guide

Automatic Breakpoints

When a task is running on a non-3270 terminal, route automatic breakpointdisplays to a 3270-type terminal. Use the global or local Automatic Breakpointterminal options, described in the section Monitoring Tasks That ExecuteWithout Terminals, to identify the terminal to receive automatic breakpointdisplays.

Unconditional, Conditional, and Request Breakpoints

If you set unconditional, conditional, and request breakpoints and you want toget the breakpoint display, you must specify .ANY or a terminal ID for theterminal at which the task must be executing for breakpoints to take effect.

Breakpoint displays can be routed to a specific terminal. To change the terminalID, use the Source Listing Profile and change the setting prior to setting anybreakpoints. For details, see the chapter �Source Listing Facility�. To see yourcurrent terminal�s ID, enter TERM on the command line of any Source Listing orBreakpoint display.

Terminal ID =.ANY is the default terminal setting if CA-InterTest for CICS wasinstalled with the DFLTUSER value in IN25OPTS set to SPECIFIC. When theDFLTUSER option is set to .ANY, the default terminal ID is the terminal used toset the breakpoint. To view your IN25OPTS settings, use the Primary MenuOption 7.12.

Using Segmented Monitoring to Handle Special Situations

Segmented monitoring is supported by CA-InterTest for CICS Releases 5.1 andabove, running on MVS/ESA systems.

Purpose of Segmented Monitoring

Users of the following might require segmented monitoring:

� HOGAN Systems

� DCI Interface of the MSA Corporation

� LE/370 condition handlers

� some composite programs

CA-InterTest for CICS normally controls whole application programs. Segmentedmonitoring provides a way for CA-InterTest for CICS to control only small portions(code segments) of application programs.

Page 227: CA-Intertest for CICS User Guide

Using Segmented Monitoring to Handle Special Situations

Special Monitoring Situations 8�9

Use segmented monitoring sparingly for special debugging needs, such as whenonly certain pieces of code should be monitored either because of excessiveoverhead or because they get control directly from programs (or interfaces) thatmust not be monitored by CA-InterTest for CICS. The following figure illustrateswhy segmented monitoring is used.

Normal monitoring incurstoo much overhead, orthe code must not bemonitored.

Segmented monitoringON and OFF options areused here:� for a segment of code that needs testing or monitoring� and may not receive control in the normal way.

CA-INTERTEST-SOURCE LISTING DISPLAYCA-INTERTEST-SOURCE LISTING DISPLAYCA-INTERTEST-SOURCE LISTING DISPLAYCA-INTERTEST-SOURCE LISTING DISPLAY

Program= COBDEMO Option # Statement # Program= COBDEMO Option # Statement # Program= COBDEMO Option # Statement # Program= COBDEMO Option # Statement #

Label/Search Arg= Label/Search Arg= Label/Search Arg= Label/Search Arg=OPTS 1 Procedure div 2 Working-storage 3 Linkage sect 4 D-map 5 Clist/PmapOPTS 1 Procedure div 2 Working-storage 3 Linkage sect 4 D-map 5 Clist/PmapOPTS 1 Procedure div 2 Working-storage 3 Linkage sect 4 D-map 5 Clist/PmapOPTS 1 Procedure div 2 Working-storage 3 Linkage sect 4 D-map 5 Clist/Pmap

6 Xref 7 Procedure name 8 Error msgs 9 Search fwd 10 Search bwd 6 Xref 7 Procedure name 8 Error msgs 9 Search fwd 10 Search bwd 6 Xref 7 Procedure name 8 Error msgs 9 Search fwd 10 Search bwd 6 Xref 7 Procedure name 8 Error msgs 9 Search fwd 10 Search bwd

PFKS 1 Help 2 Cntl Menu 3 End 4 List Profile 5 Set Monitor 6 Core MenuPFKS 1 Help 2 Cntl Menu 3 End 4 List Profile 5 Set Monitor 6 Core MenuPFKS 1 Help 2 Cntl Menu 3 End 4 List Profile 5 Set Monitor 6 Core MenuPFKS 1 Help 2 Cntl Menu 3 End 4 List Profile 5 Set Monitor 6 Core Menu

7 Backward 8 Forward 9 10 11 12 File 7 Backward 8 Forward 9 10 11 12 File 7 Backward 8 Forward 9 10 11 12 File 7 Backward 8 Forward 9 10 11 12 File

01057 MOVE ALL '*' TO TASK-TEXT OF TASK-STRUCTURE-2.

01058 GO TO SEND-MAP00.

01059 INITIALIZE-TABLE.

01060 MOVE SUB-1 TO STATE-NUMBER (SUB-1).

01061 COUNTY-NUM1 (SUB-1, SUB-2).01062 MOVE '*' TO COUNTY-COMM (SUB-1, SUB-2).

01063 MOVE SUB-2 TO COUNTY-NUM2 (SUB-1, SUB-2).

01064

01065 DATA-NAME.

01066 IF TASK-SWITCHS EQUAL SPACE01067 MOVE 'A' TO TASK-SWITCHS

+

-

WARNING! Improper use of segmented monitoring options could damage your CICSsystem because CA-InterTest places invalid machine instructions in applicationprograms at the segmented monitoring locations specified by the user. Review the Notesand Warnings section before using segmented monitoring.

Segmented Monitoring Situations

For users running CA-InterTest for CICS 5.x Releases on an MVS/ESA system,the monitoring problems that follow can be solved with segmented monitoring.

HOGAN Systems Users

Problem: Most of the HOGAN Systems code must not be monitored by CA-InterTest.However, you need to monitor and test the application code that you wrote.This code does not receive control from CICS in the usual way.

Solution: Place a MON option to start CA-InterTest monitoring at the beginning of yourapplication program's Procedure Division. Monitoring will begin at the MONlocation and continue until an activity #1 PEM call is encountered. TheCA-InterTest IN25UEX routine for HOGAN applications detects this call and stopsthe monitoring. You can set breakpoints within this segment of code. When youexecute the transaction, CA-InterTest will monitor the specified code segment.

Page 228: CA-Intertest for CICS User Guide

Using Segmented Monitoring to Handle Special Situations

8�10 CA-InterTest User Guide

You must also set the CA-InterTest for CICS option USH=ON to preventautomatic breakpoints from being triggered when your HOGAN Applicationprogram references CICS shared-storage areas.

MSA Programs with Special Interfaces

Problem: The application programs that hook into large packages such as MSA do notreceive control directly from CICS, and thus cannot be monitored independentlyfrom the MSA packages using standard CA-InterTest monitoring. Monitoringthe entire load module incurs too much overhead and often results in numerousabends because of non-standard CICS programming practices (such as passingcontrol using direct branches).

Solution: Monitor only the application program that you wrote by setting a MON optionnear the beginning of the program and a NOM at the end of the program. Youcan also set breakpoints within this segment of code. When you execute thetransaction, CA-InterTest monitors only the specified code segment.

Note: For MSA programs, set the MON after the secondary entry point.

The Segmented Monitoring Options Monitor (MON) and No Monitor (NOM)

Segmented monitoring consists of two independent monitoring options:

� MON, an option to turn monitoring on

� NOM, an option to turn monitoring off (No Monitor)

Monitor On Option(MON)

MON turns CA-InterTest monitoring on beginning with the machine instruction ofthe specified location (regardless of how this piece of application program gotcontrol). If CA-InterTest monitoring was already on, monitoring continues. After aMON entry, monitoring continues unless CA-InterTest encounters one of thefollowing:

� A NOM entry

� An XCTL

� A RETURN

No Monitor Option(NOM)

NOM stops CA-InterTest monitoring at the specified location and gives controlto the machine instruction on which the NOM option was specified. If the codewas not already being monitored, it will continue unmonitored. After a NOMentry, the program continues unmonitored unless CA-InterTest encounters aMON entry or a LINK/XCTL to another program already being monitored.

Page 229: CA-Intertest for CICS User Guide

Using Segmented Monitoring to Handle Special Situations

Special Monitoring Situations 8–11

Specify these options in your program at the same type of locations you use toset individual breakpoints, such as at COBOL paragraph names or statementnumbers. Each option takes effect as it is encountered during programexecution. Each MON and NOM option is an independent request to start orstop CA-InterTest for CICS monitoring, regardless of the current monitoringstatus.

Note: The MON and NOM options are not CICS user ID or terminal sensitive.An option set from one terminal applies when the program executes from anyterminal by any CICS user.

When using MON and NOM, you can specify breakpoints and other options inyour program. If you set a MON or NOM option at the same location as abreakpoint or other option, the MON or NOM option executes first. This meansthe MON option starts monitoring and hits the breakpoint, but since NOM dropsmonitoring before the breakpoint is encountered, you never receive thebreakpoint that is set where a NOM is also set.

Installation Requirements and Password Protection

The segmented monitoring option must be enabled as part of the installation andcustomization procedure. It can be enabled with or without CNTL menu support,and with or without password protection.

To check the status of the segmented monitoring option on your system, select PrimaryMenu Option 7 Status/Maintenance, and then Option 1.2 Global Options. The currentIN25OPTS values are displayed alphabetically. Look for the option MONOM.

The MONOM values are defined below:

MENU—Segmented monitoring is enabled for all methods: Source Listing,CNTL menus, and CNTL commands.

NOMENU—Segmented monitoring is enabled for Source Listing and CNTLcommand methods only.

NO—Segmented monitoring is disabled.

The MONOMSEC keyword option tells you if a password is required. IfMONOMSEC=YES, you need the password to set MON or NOM using any method.

Note: CA-InterTest for CICS releases below 5.1 do not support segmentedmonitoring.

Page 230: CA-Intertest for CICS User Guide

Using Segmented Monitoring to Handle Special Situations

8–12 CA-InterTest User Guide

Methods of Setting and Removing MON and NOM

There are three methods of setting and removing MON and NOM:

� Source Listing

� CNTL Menus

� CNTL one-line commands

Each method is discussed next. The Source Listing method is easiest to use.

Using Your Source Listing

Requirement: This method requires a listing version that corresponds to your load module. Ifyou use an old listing version, you can experience unpredictable results duringexecution—ranging from no effect, to unexpected abends, to data corruption.

Setting MON andNOM

To set a location for a MON option in your source listing, enter a plus sign, +, to theleft of the statement in your listing where you want monitoring to begin, and pressEnter. Likewise, to set a location for a NOM option, enter a minus sign, -, to the left ofthe statement in your listing where you want monitoring to stop, and press Enter. If apassword is required, enter the password at the prompt. The figure belowshows an example of setting MON and NOM in your source listing.

CA-InterTest - PROTDEM FILE SOURCE LISTING DISPLAY COMMAND ===> Program= COBDEMO Option # Stmt # Margin= 01 Label/Search Arg= OPTS 1 Proc div 2 Work-stor 3 Link sect 4 D-map 5 Clst/Pmap 6 Xref 7 Proc xref 8 Err msgs 9 Srch fwd 10 Srch bwd 11 Ind cmds 12 Bkp opts PFKS 1 Help 2 3 End 4 Profile 5 Monitor 6 Menu 7 Backward 8 Forward 9 10 11 12 Status ------------------------------------------------------------------------------- _ 01057 MOVE ALL '*' TO TASK-TEXT OF TASK-STRUCTURE-2. _ 01058 GO TO SEND-MAP00.����+ + + + 01059 INITIALIZE-TABLE. _ 01060 MOVE SUB-1 TO STATE-NUMBER (SUB-1), _ 01061 COUNTY-NUM1 (SUB-1, SUB-2). _ 01062 MOVE ',' TO COUNTY-COMM (SUB-1, SUB-2). _ 01063 MOVE SUB-2 TO COUNTY-NUM2 (SUB-1, SUB-2). _ 01064����- - - - 01065 DATA-NAME. _ 01066 IF TASK-SWITCH3 EQUAL SPACE _ 01067 MOVE 'A' TO TASK-SWITCH3 _ 01068 MOVE 'DMAP02' TO MAPNAME _ 01069 GO TO SEND-REWRITE-RETURN. _ 01070 GO TO SEND-MAP00. _ 1071 SET-VAR-REC.

You can set breakpoints within the execution path of the MON and the NOMlocations in the program.

Note: If you specify a MON or NOM option and a breakpoint at the samelocation, CA-InterTest for CICS displays the character for the first option entered incolumn 1, although both options are set. To obtain a status display of the options ineffect, enter STATUS in the Command line, and press Enter.

Page 231: CA-Intertest for CICS User Guide

Using Segmented Monitoring to Handle Special Situations

Special Monitoring Situations 8–13

Removing MON andNOM

To remove a MON or NOM option location, overtype the plus sign, +, or minussign, -, with an X. Press Enter,and the option is removed.

To quickly remove all segmented monitoring options for a program, simply turnmonitoring off for the program, remove the options from the Monitoring Statusdisplay, or use the .ALL entry on the CNTL Segmented Monitoring ON and OFFmenus.

You can access the specific CNTL menu directly from the Source Listing Displayby making the following entries in the Option # field:

Option # Entry CNTL Menu Function

=14S Set Segmented Monitoring On

=14R Remove Segmented Monitoring On

=15S Set Segmented Monitoring Off

=15R Remove Segmented Monitoring Off

Using the CNTL Menus

When segmented monitoring is enabled with MENU support, you can set andremove segmented monitoring for programs directly from the CNTL FunctionSelection Menu, below, using Options 14 (Segmented Monitoring On) and 15(Segmented Monitoring Off).

CA-InterTest MONITORING COMMAND BUILDER - FUNCTION SELECTION

Select function by number: __ � For functions 10-22, enter S to set or R to remove: _ �

10 Monitoring 20 Replace Options 30 Status Display 11 Unconditional Breakpoints 21 Protect Options 31 Utility Functions 12 Conditional Breakpoints 22 Special Options 32 System-Wide Functions 13 Request Breakpoints 23 Composite Support 33 Resume Task Execution 14 Segmented Monitoring On 24 Indirect Commands 15 Segmented Monitoring Off

For functions 10-30, enter Program Names or Transaction Codes or Terminal Names

Program Names � ________ ________ ________ ________ ________ ________ Transaction Codes ____ ____ ____ ____ ____ ____ ____ ____ ____ Terminal Names ____ ____ ____ ____ ____ ____ ____ ____ ____

user ID � ________ user ID (or .ANY) who will execute the program

Press ENTER key with data to process command or select PF key: 1 Help 2 3 End 4 Return 5 6 7 8 9 10 11 12 Status

� To set or remove a MON option, specify 14 in field �, S or R in field �, oneprogram name in field �, and press Enter. To limit the monitoring option toa single user, also enter the user ID in field � before pressing Enter.

Page 232: CA-Intertest for CICS User Guide

Using Segmented Monitoring to Handle Special Situations

8–14 CA-InterTest User Guide

� To set or remove a NOM option, specify 15 in field �, S or R in field �, oneprogram name in field �, and press Enter. To limit the monitoring option toa single user, also enter the user ID in field � before pressing Enter.

Note the following:

� If Options 14 and 15 do not display on the Function Selection Menu, menusupport for segmented monitoring is not available to you.

� If segmented monitoring is password protected, you are prompted to enterthe password.

� Specifying NOM options with the menus can be tricky because of doublenegatives:

– Use 15S to set a Segmented Monitoring Off, or NOM, location.

– Use 15R to remove a Segmented Monitoring Off, or NOM, location thatyou previously set.

Specify segmented monitoring locations like you would specify individualbreakpoint locations on the Segmented Monitoring On and Off screens.

CNTL Function 14S:Set Monitor OnScreen

The following screen is used to set the monitor on locations in COBOL programs.The sample entry � specifies that monitoring begins (or continues) whenever thefirst executable statement in the paragraph A-TEST is executed by userCARAR01.

CA-InterTest MONITORING COMMAND BUILDER - SEGMENTED MONITORING LOCATIONS 14

SET `monitor on' option for PROG=COBDEMO in any of the following fields: (For qualification by nested program name, specify 'Program-id:Label')� Paragraph A-TEST_______________________ _______________________________ Names: _______________________________ _______________________________ _______________________________ _______________________________ Statement Numbers: _____ _____ _____ _____ _____ _____ _____ _____

Offsets: _____ _____ _____ _____ _____ _____ _____ _____

user ID (or .ANY) who will execute the program: CARAR01

There are similar versions of this menu for Assembler and PL/I users. Specifymultiple monitor on locations on this menu. Valid locations are:

� COBOL (paragraph names, statement numbers, or hexadecimal offsets)

Note: You cannot specify COBOL data names as segmented monitoringlocations.

� Assembler (labels or hexadecimal offsets)

� PL/I (PL/I labels, statement numbers, or hexadecimal offsets)

Press Enter after specifying the locations.

Page 233: CA-Intertest for CICS User Guide

Using Segmented Monitoring to Handle Special Situations

Special Monitoring Situations 8�15

CNTL Function 14R:Remove Monitor OnScreen

You can remove any option directly from the Monitoring Status display, asdiscussed in the chapter �Menus and Displays.� Specify individual locations tobe removed exactly as you set them or by the ID number shown on theCA-InterTest status display. To quickly remove all locations at once, enter .ALLin the first field on the menu �, as shown below, and enter the same user ID (or.ANY) used to set the options.

The following screen is used to remove the monitor on locations that werepreviously set in the program for user ID CARAR01.

CA-InterTest MONITORING COMMAND BUILDER - SEGMENTED MONITORING LOCATIONS 14

REMOVE `monitor on' option for PROG=COBDEMO in any of the following fields:(For qualification by nested program name, specify 'Program-id:Label')

� Paragraph .ALL_________________________ _______________________________Names: _______________________________ _______________________________

_______________________________ _______________________________StatementNumbers: _____ _____ _____ _____ _____ _____ _____ _____

Offsets: _____ _____ _____ _____ _____ _____ _____ _____

user ID (or .ANY) who will execute the program: CARAR01To remove by ID # shown in status display enter ID #'s: __ __ __ __ __ __ __

Press Enter after specifying the locations.

CNTL Function 15S:Set Monitor OffScreen

The following screen is used to set locations for no monitoring in COBOLprograms. The figure below specifies two locations:

� Specifies the first executable statement in paragraph A-TEST-EXIT.

� Indicates statement number 125 in the program.

Program monitoring is dropped (or continues unmonitored) whenever theselocations are executed.

CA-InterTest MONITORING COMMAND BUILDER - SEGMENTED MONITORING LOCATIONS 14

SET `monitor off' option for PROG=COBDEMO in any of the following fields:(For qualification by nested program name, specify 'Program-id:Label')

� Paragraph A-TEST-EXIT___________________ _______________________________Names: _______________________________ _______________________________

_______________________________ _______________________________Statement �Numbers: 125__ _____ _____ _____ _____ _____ _____ _____

Offsets: _____ _____ _____ _____ _____ _____ _____ _____

user ID (or .ANY) who will execute the program: CARAR01

Note: There are similar versions of this menu for Assembler and PL/I users.

Page 234: CA-Intertest for CICS User Guide

Using Segmented Monitoring to Handle Special Situations

8�16 CA-InterTest User Guide

Specify multiple monitor off locations on this menu. Valid locations are:

� COBOL (paragraph names, statement numbers, or hex offsets)

Note: You cannot specify COBOL data names as segmented monitoringlocations.

� Assembler (labels or hex offsets)

� PL/I (PL/I labels, statement numbers, or hex offsets )

Press Enter after specifying the locations.

CNTL Function 15R:Remove Monitor OffScreen

Specify individual locations to be removed exactly as you set them, or by the IDnumber shown on the CA-InterTest status display. To quickly remove alllocations at once, enter .ALL in the first field on the menu and the same user ID(or .ANY) used to set the options. The following screen is used to remove themonitor off locations that were previously set in the program using the IDnumber shown in the status report.

CA-InterTest MONITORING COMMAND BUILDER - SEGMENTED MONITORING LOCATIONS 14

REMOVE `monitor off' option for PROG=COBDEMO in any of the following fields:(For qualification by nested program name, specify 'Program-id:Label')

Paragraph ______________________________ _______________________________Names: ______________________________ _______________________________

______________________________ _______________________________StatementNumbers: __ _____ _____ _____ _____ _____ _____ _____

Offsets: _____ _____ _____ _____ _____ _____ _____ _____

user ID (or .ANY) who will execute the program: CARAR01To remove by ID # shown in status display enter ID #'s: __ __ __ __ __ __ __

Press Enter after specifying the locations.

Using CNTL Commands

Review the section Notes and Warnings before using command syntax to specifysegmented monitoring.

Setting MON andNOM Options

To set one or more MON options, use either of the commands shown next. To setone or more NOM options, use NOM instead of MON in these commands.

CNTL=ON,PROG=progname,MON=locnCNTL=ON,PROG=progname,MON=(locn1,locn2, ...,locn9)

progname is one program.

locn can be specified as an address (from six to eight hexadecimal digits), offset(from one to five hexadecimal digits), statement number (a decimal number precededby #), COBOL paragraph name, Assembler or PL/I label (enclosed in apostrophes).To specify a location, use the same format as for breakpoints.

Page 235: CA-Intertest for CICS User Guide

Using Segmented Monitoring to Handle Special Situations

Special Monitoring Situations 8�17

At a breakpoint display, you can enter the abbreviated command form to refer tothis Monitor Table entry:

CNTL=ON*,MON=... or CNTL=ON*,NOM=...

Other options, including breakpoints, can precede or follow within the sameCNTL command.

Removing MON andNOM Options

To remove one or more MON options, use one of the following command forms.To remove all NOM options, use NOM instead of MON in these commands.

CNTL=OFF,PROG=progname,MON=ID=idCNTL=OFF,PROG=progname,MON=locnCNTL=OFF,PROG=progname,MON=ID=(id1,id2, ...,id9)CNTL=OFF,PROG=progname,MON=(locn1,locn2, ...,locn9)

progname is the name of one program.

id is the same number as the ID= number displayed by the CA-InterTest for CICSInquiry Report (obtained by CNTL=INQ or, at breakpoint, by pressing PF3).

locn can be specified as an address (from six to eight hexadecimal digits), offset(from one to five hexadecimal digits), statement number (a decimal numberpreceded by #), COBOL paragraph name, Assembler or PL/I label (enclosed inapostrophes). To specify a location, use the same format as for breakpoints.

You can specify up to nine IDs or locations, separated by commas and enclosedin parentheses.

To remove all MON options for a Monitor Table entry, use the form:

CNTL=OFF,PROG=progname,MON=.ALL

At a breakpoint, you can use the abbreviated command form to refer to thisMonitor Table entry:

CNTL=OFF*,MON=...CNTL=OFF*,NOM=...

Other options, including breakpoints, can precede or follow within the sameCNTL command.

Note: The command CNTL=OFF,PROG=progname does not remove the MONor NOM entries for a program. To remove the MON and NOM options, youmust specify them explicitly.

Examples The following are command examples of specifying MON and NOM options.

To selectively monitor the program COBPROGA from paragraph A-TEST to theparagraph name A-TEST-EXIT, specify the following:

CNTL=ON,PROG=COBPROGA,MON='A-TEST'

Page 236: CA-Intertest for CICS User Guide

Using Segmented Monitoring to Handle Special Situations

8�18 CA-InterTest User Guide

This command declares a MON option for the first machine instruction inA-TEST. CA-InterTest for CICS monitoring will start when the first machineinstruction at A-TEST is executed.

CNTL=ON,PROG=COBPROGA,NOM=#123

This command declares a NOM option for the first machine instruction instatement 123. CA-InterTest for CICS monitoring stops prior to the execution ofthis statement.

CNTL=ON,PROG=COBPROGA,NOM='A-TEST-EXIT'

This command declares a NOM option for the first machine instruction in theparagraph A-TEST-EXIT.

CNTL=ON,PROG=COBPROGA,MON='A-TEST',NOM=(#123,'A-TEST-EXIT')

This command declares the same options as the three preceding commands.

CNTL=OFF,PROG=COBPROGA,NOM=ID=(02,03)

This command selectively removes the two NOM options that were displayed byan Inquiry Report with ID= numbers 02 and 03.

CNTL=OFF,PROG=COBPROGA,MON=.ALL,NOM=.ALL,LET=.ALL

Note: Any non-sequential passing of control (such as PERFORM, GO TO, and soon), executed between the MON location at A-TEST and the NOM location atA-TEST-EXIT could result in CA-InterTest for CICS monitoring outside thedesignated range.

Notes and Warnings

Location Restrictions � Regardless of how they are set (Source Listing, Menu, or single-linecommand), each of these options must be placed on the first byte (theop-code) of a machine instruction that resides in non-store-protected virtualstorage. Because the code must not be store-protected, the application programsmust not reside in the LPA, ELPA, or ERDSA.

� Any piece of code with these options must remain resident at the samevirtual storage address until the options are removed.

� These options cannot be placed on sequential statement numbers orinstruction addresses; that is, these options must be separated by at least onemachine instruction.

� In Command Level CICS applications within code generated by an EXECCICS, these options must not be placed on the LOAD 15 that precedes theBALR 14,15 or on that BALR.

Usage Notes andRestrictions

� Other CA-InterTest options, such as breakpoints, bypasses, and so on, can bedeclared at the same locations as the MON and NOM options.

Page 237: CA-Intertest for CICS User Guide

Using Programmed Breakpoints

Special Monitoring Situations 8�19

� MON and NOM options are not remembered by the CA-InterTestcheckpoint, nor are they restored by the CA-InterTest restart(CNTL=RESTART).

� The CA-InterTest New Copy function will not work until all MON andNOM options are removed from the affected program. The CEMT SETPROG (xxxxxxxx) NEWCOPY must not be performed until all MON andNOM options have been removed.

� There is a limit of 255 MON or NOM options per CICS region.

� A MON option causes CA-InterTest monitoring, regardless of theCA-InterTest Exclusion Table.

� These options should be used to control application programs only.CA-InterTest will accept them outside the scope of applicationsprogramming, such as CICS Exits or subsystem interfaces, but the results areunpredictable.

� Do not place MON entries in programs that are used in PLT shutdownprocessing.

� CA-InterTest monitoring for a program cannot be removed until any MONand NOM options declared for the program are removed. To remove allMON and NOM options, specify:

CNTL=OFF,PROG=progname,MON=.ALL,NOM=.ALL.

Using Programmed Breakpoints

PL/I Users Programmed breakpoints (PBP) are intended primarily for users of PL/I whowant to display data areas that CA-InterTest normally cannot display or who donot have symbolic information for their programs. Programmed breakpointsalso can be incorporated into COBOL and Assembler code.

Programmed breakpoints differ from other CA-InterTest for CICS breakpointsbecause they are actually coded by the programmer into the tested program. Aprogrammed breakpoint occurs because it has been written into the monitoredprogram in the form of a special CALL statement that identifies the data areas tobe displayed. The Detailed Breakpoint display automatically shows, in dumpformat, up to three data areas named in the CALL statement parameters. Thereis no need to enter CORE commands to display these areas; however, if there aremore than three data areas, use the command CORE=ARGnn to display them.

If you are using the Source Listing Breakpoint facility, CA-InterTest for CICSstops the program at the programmed breakpoint. Press PF3 DET BKPT todisplay the Detailed Breakpoint screen to view the requested data areas.

Page 238: CA-Intertest for CICS User Guide

Using Programmed Breakpoints

8�20 CA-InterTest User Guide

The programmed breakpoint will not occur unless the automatic breakpointfacility is active. If this facility is not active, the programmed breakpoint CALLhas no effect on program execution. The programmed breakpoint also does notaffect program execution if the program is not monitored by CA-InterTest forCICS (the called routine only does a return). However, a small amount ofoverhead will be added to the program's execution. For this reason,programmed breakpoints should be removed before the program is put intoproduction.

Coding Programmed Breakpoints

To execute a programmed breakpoint, add a special CALL statement to theprogram source code at the location where you want the breakpoint to occur.The CALL statement passes control to an entry point named PBP. Code theCALL statement according to the rules of the programming language being used.It also can pass a number of arguments or parameters. Include a literal thatdescribes the location of the programmed breakpoint as the first parameter sothat the user, especially the PL/I user, can identify the breakpoint easily.

When control comes to the program location where the programmed breakpointshould occur, CA-InterTest for CICS executes the programmed breakpoint justlike an automatic breakpoint, except that in the data portion of the display 16bytes of the first three passed parameters are automatically displayed. Inaddition, a CORE command keyword is provided to display the parameters.

The small Assembler programmed breakpoint load module, which is identical for allprogramming languages, must be prepared by your systems programmer andassembled and link-edited into the proper language library so that it will beautomatically included in your module as a result of the CALL. The programfollows:

PBP CSECTSR 15,15BR 14DC C'PBPINTERTEST'ENDPBP

Page 239: CA-Intertest for CICS User Guide

Using Programmed Breakpoints

Special Monitoring Situations 8�21

Declaring a Programmed Breakpoint in a PL/I Program

A PL/I program with a programmed breakpoint must be coded to define theentry point as passing parameters in Assembler fashion, as shown below:

DCL PBP ENTRY OPTIONS(ASSEMBLER);

Once this is done, the calls can be coded in the usual manner. For example:

WRITE_RESPONSE:RESPONSE = ERROR CODE;CALL PBP ('WRITE_RESPONSE',RESPONSE,ADDR(REC_SIZE));

At this programmed breakpoint, the breakpoint display shows three data areas:

� The characters WRITE_RESPONSE that tell the user which programmedbreakpoint (if many have been coded) is being executed.

� The first 16 bytes of the field named RESPONSE.

� The fullword that contains the address of the field named REC_SIZE.

Note: If you do not include parameters in the CALL statement, a programmedbreakpoint still occurs but no data is displayed.

Declaring a Programmed Breakpoint in a COBOL Program

COBOL Users The CALL statement that sets up a programmed breakpoint in a COBOLprogram is coded in the standard manner as shown below:

WRITE-RESPONSE.MOVE ERROR-CODE TO RESPONSE.CALL 'PBP' USING RESPONSE.

At this programmed breakpoint, the breakpoint display shows the first 16 bytesof the field named RESPONSE.

Note: If you do not include parameters in the CALL statement, a programmedbreakpoint still occurs but no data is automatically displayed.

Declaring a Programmed Breakpoint in an Assembler Program

Assembler Users In Assembler you must use the CALL macro, either coded so that the lastparameter is marked as such, or without parameters. Because of the restrictionsof the CALL macro, it is often practical not to code parameters. The breakpointdisplay shows the location of the programmed breakpoint and the contents of theregisters.

If you do not include parameters in the CALL statement, a programmedbreakpoint still occurs but data is not automatically displayed.

Page 240: CA-Intertest for CICS User Guide

Monitoring CICS/ESA 3.3 FEPI Applications

8�22 CA-InterTest User Guide

Removing a Programmed Breakpoint

Once you have coded a programmed breakpoint CALL in a program, thebreakpoint occurs every time execution reaches the programmed breakpoint'slocation during an interactive session. The only way to deactivate theprogrammed breakpoint is to replace the BALR 14,15 instruction in the program,which is contained in the CALL statement, by a NOPR 0. When the task iswaiting at breakpoint, you can do this easily by issuing the command:

CORE=CURR=CHGX'0700'

However, since this modifies the program's code, the programmed breakpointwill not occur again until the program is reloaded by CICS.

After program testing is complete, the programmed breakpoint CALL statementsshould be removed for improved performance.

Monitoring CICS/ESA 3.3 FEPI Applications

The Front-End Programming Interface (FEPI) provides terminal emulation usingvirtual terminals defined to a CICS region. These virtual terminals, called nodes,then communicate with back-end processes, which run either in the same CICSregion or in a remote region. Front-end processes, which are coded with EXECCICS FEPI commands, communicate with both real and virtual terminals.

CA-InterTest Releases 5.2 and above allow both front-end and back-endprocesses to be tested. However, the terminal IDs must be properly specifiedwhen breakpoints are set.

Setting Monitoring and Breakpoints for a Front-End Process

Set monitoring and breakpoints as usual when testing only a front-end process.

Setting Monitoring and Breakpoints for a Back-End Process

Turn on monitoring as usual for a back-end process running in a local CICSregion.

To set breakpoints for a back-end process running in a local region, specify boththe terminal at which the process is running and the terminal to receivebreakpoints as follows:

� Term ID where breakpoints will take effect: (F=)

Page 241: CA-Intertest for CICS User Guide

Monitoring CICS/ESA 3.3 FEPI Applications

Special Monitoring Situations 8�23

The virtual terminal assigned by CICS. Specify either an actual virtualterminal name or .ANY if the terminal is assigned from a pool and its nameis not known.

� Term ID that will receive the breakpoints: (T=)

The real terminal to which breakpoints should be sent.

It is important that breakpoints not be sent to a virtual terminal because thiscould disrupt the application dialog screen flow.

If the back-end process is running in a remote CICS region, turn on monitoring inthe remote region and ensure that the terminal that receives breakpoints is a realterminal connected to the remote region.

Setting Breakpoints for Both Front-End and Back-End Processes

To set breakpoints for both front- and back-end processes running concurrently,follow the steps outlined in the previous sections. However, make sure that tworeal terminals are available for receiving breakpoint displays: one forbreakpoints from the front-end process, and one for breakpoints from the back-end process. For example, if both processes are running in the same CICS region,you might enter the following commands from TER1:

CNTL=ON,PROG=FRONTEND,UBP=#1CNTL=ON,PROG=BACKEND,UBP=((#1),F=VIR1,T=TER2)

Breakpoint displays for program FRONTEND are sent to TER1, the terminal atwhich the command was issued. Breakpoint displays for program BACKENDare sent to TER2.

If the back-end process is running in a remote CICS region, set monitoring andbreakpoints for the front-end process in the local region; set monitoring andbreakpoints for the back-end process in the remote region from any realterminal.

TIMEOUT Values

If a TIMEOUT(seconds) parameter is specified on an EXEC CICS FEPI commandwhen CA-InterTest for CICS is monitoring a back-end process, all breakpointactivity must be completed within the specified time. Otherwise, the front-endvirtual terminal session times out and the back-end process could abend. Toavoid this, it is strongly recommended that the FEPI TIMEOUT value be set tozero during testing. Change it to an appropriate value when testing iscompleted.

Page 242: CA-Intertest for CICS User Guide

Using CA-InterTest for CICS with IBM's EDF (EXEC Debugging Facility)

8�24 CA-InterTest User Guide

Using CA-InterTest for CICS with IBM's EDF (EXEC DebuggingFacility)

The EDF facility, which is activated by the CEDF transaction and described in theIBM CICS/VS Application Programmer's Guide Command Level, does not interferewith EDF, except when EDF presents the EDF breakpoint display of the programthat is being monitored by CA-InterTest, EDF incorrectly indicates the location ofthe command since commands are issued by CA-InterTest, not by the program.Additionally, CEDF will not be supported on transactions that contain programsthat use COMET.

Advantages of CA-InterTest for CICS Over EDF

CA-InterTest for CICS offers many advantages over the EDF facility, including:

� The ability to set breakpoints anywhere in the program (not just at EXECCICS commands).

� Data display/modification by symbolic names. This means the programmerdoes not need the most recent listing of the tested program, as long as thedata names or paragraph names (labels in Assembler) remain the same.

� Monitoring, such as the ability to detect any illegal action of the programbetween CICS commands. CICS abends will be intercepted by EDF, butdamage might have occurred on the way to the abend, and EDF might notgive any specifics on the problem.

� The ability to declare an unconditional or conditional breakpoint at a specificlocation�the EXEC CICS call at the point when the EXEC CICS callparameters have already been formatted. At that time you can change theparameters (for example, by issuing the CORE=ARGnn command) beforeyou let the command execute.

� The ability to set request breakpoints for a particular type of CICS command,regardless of where in the program it occurs, or for all EXEC CICScommands, or for all except some EXEC CICS commands. For example, withone specification you can set breakpoints at all File Control commands or atall READ or WRITE commands.

Using CA-InterTest for CICS with EDF

If you want to use CA-InterTest with EDF, you can turn on EDF before you beginmonitoring a program with CA-InterTest. Moreover, when a monitoredprogram is stopped at a request breakpoint for an EXEC CICS command, youcan activate EDF by entering any character in the field marked EDF in the lowerright corner of the Detailed Breakpoint display.

Page 243: CA-Intertest for CICS User Guide

Using CA-InterTest for CICS with IBM's EDF (EXEC Debugging Facility)

Special Monitoring Situations 8�25

When CA-InterTest for CICS and EDF are being used on the same task, be awareof the following:

1. If a CA-InterTest breakpoint is set at an EXEC CICS command, theCA-InterTest breakpoint occurs before the command is passed to CICS.

2. At the breakpoint, the programmer can review and change any parametersof the command before telling CA-InterTest to continue with the task.

3. CA-InterTest checks the parameters and, if necessary, can halt the task at anautomatic breakpoint.

4. If that does not happen, the command is passed by CA-InterTest to CICS forexecution; that is, to the EXEC Interface.

5. Subsequently, EDF presents the before a command breakpoint. The EDFfacility, however, is in control at that time and any changes by the userduring the EDF breakpoint cannot be checked by CA-InterTest.

6. Only after the command is executed, the after a command EDF breakpointdisplay appears, and EDF is told to continue with the task can CA-InterTestresume control and continue monitoring.

Page 244: CA-Intertest for CICS User Guide
Page 245: CA-Intertest for CICS User Guide

CNTL Commands and Menus 9�1

Chapter

9 CNTL Commands and Menus

The primary task of CA-InterTest is to monitor programs so it can detect andprevent errors. The CA-InterTest CNTL transaction performs all monitoringfunctions.

This chapter describes:

� How to specify single-line CNTL commands.

� How to use the CNTL Monitoring Command Builder menus and screens,which is an alternative to using the Primary Option Menu�s MonitoringMenu (Option 2 Monitoring).

Note: The CNTL Monitoring Command Builder menu topics are here as areference for CA-InterTest users familiar with this method of performingmonitoring functions from previous releases. New users generally prefer touse the methods discussed in the chapter, �Monitoring Menu Options.�

CNTL Monitoring Commands and Options

You can enter single-line commands instead of using menus and screens.Entering commands directly is often faster and more efficient for experiencedusers. The CA-InterTest CNTL transaction performs all monitoring functions.This topic teaches you what CNTL single-line commands can be used to specifymonitoring, monitoring options, and system-wide options. For example, to setmonitoring for the program COBDEMO when executed by the user IDBARNEY1, and also set a breakpoint at the beginning of the program, you canenter the single command from CICS:

CNTL=ON,PROG=COBDEMO,USR=BARNEY1,UBP=#1

Page 246: CA-Intertest for CICS User Guide

CNTL Monitoring Commands and Options

9�2 CA-InterTest for CICS User Guide

CNTL Commands at a Glance

The following table indicates the functions that can be specified with commandsand, where appropriate, the equivalent selections on the Primary Option Menu,Breakpoint Menu, and CNTL Function Selection Menu.

CNTL Command Description Menu Path CNTL Function

START, END Initializes and terminatesCA-InterTest.

Not available Not available.

RESTART Restarts CA-InterTest. Not available Not available.

ON, OFF Sets and removesmonitoring.

Primary2.1, 2.2, 2.3

10

ON, OFF Sets and removesmonitoring options.

Primary2.1, 2.2, 2.3

11 to 23

OFFALL Removes ALL monitoringoptions for ALLprograms/transactions/terminals set by a Userid orTerminal

Not available Not available

EXCL, INCL Excludes programs frommonitoring and endsprogram exclusion; appliesto all CICS user IDs.

Not available Not available.

GO Resumes task execution. Breakpoint 4 33

GO Abends a task. Breakpoint 3 33

INQ, LIST Produces CA-InterTestreports.

Type STATUS 30 and 31

NEW Loads a new copy of aprogram.

Primary2.1, 2.2, 2.3

31

ABP, GLOG,CKPT,PURGE

Sets system-wide options. Primary 2.6 32

EXEC Executes a module of CNTLcommands.

Not available Not available.

Note: Refer to the section CNTL Monitoring Options for more information onspecifying CNTL Monitoring Options.

Page 247: CA-Intertest for CICS User Guide

CNTL Monitoring Commands and Options

CNTL Commands and Menus 9�3

CNTL CommandPropagation in aCICSPlex Environment

For CICSPlex environments using the CA-InterTest CICSPLEX=YES installationoption, all CNTL functions which are checkpointed are propagated to allCICSPlex family members upon startup (CNTL=START) or restart(CNTL=RESTART). The following table summarizes which CNTL commandsare propagated and which are not.

Commands Propagatedto All Family Members

Commands NotPropagated

Comments

CNTL=ABP

CNTL=ADD

CNTL=CKPT

CNTL=DUMP

CNTL=EDIT

CNTL=END,{SCOPE=GLOBAL}

Propagated ifSCOPE=GLOBAL is specified.

CNTL=EXCL

CNTL=FOL

CNTL=GLOG

CNTL=INCL

CNTL=ITTRACE

CNTL=NEW

CNTL=OFF

CNTL=ON

CNTL=OFF,ALL

CNTL=EXEC Commands in the module arepropagated if they are eligiblefor propagation.

CNTL=GO

CNTL=INQ

CNTL=LIST

CNTL=MENU

CNTL=PURGE

CNTL=VRPT

Page 248: CA-Intertest for CICS User Guide

CNTL Monitoring Commands and Options

9�4 CA-InterTest for CICS User Guide

CNTL Command Syntax

CNTL command syntax uses the following conventions for notation:

� Uppercase words (such as CNTL) are CA-InterTest keywords that must beentered exactly as shown.

� Lowercase words (such as promid) represent user-supplied information andshould be replaced with the appropriate entries.

� Information in brackets is optional and can be omitted.

The following list contains the terms used in command syntax for which youmust substitute the appropriate information.

promid identifies one or more programs, transactions, or terminals. Use one ofthe following formats:

PROG=programPROG=(prog1,...,prog9)TRAN=trancodeTRAN=(tran1,...,tran9)TERM=terminalTERM=(term1,...,term9)PROG=.ALL to specify the entire system

Note: * can replace promid for the Monitoring Table entry currently at abreakpoint at your terminal.

progname identifies a program.

locn identifies a program location. Specify a location in one of the followingways:

� One to five digit hexadecimal displacement (offset) from the beginning of theprogram

� Six or eight digit hexadecimal address

� A COBOL paragraph name enclosed in single quotes

� A COBOL or PL/I statement number preceded by a # sign

� A PL/I or Assembler label enclosed in single quotes

options indicates one or more CNTL monitoring options. Separate multipleoptions with commas.

Enter CNTL commands directly on a clear screen or on the command line of aSource Listing, Breakpoint, or CORE display.

Page 249: CA-Intertest for CICS User Guide

CNTL Monitoring Commands and Options

CNTL Commands and Menus 9�5

Generic Specification of promid

You can specify asterisks, *, and plus signs, +, to replace characters in promid inthe following CNTL commands:

CNTL=ON,...CNTL=OFF,...CNTL=EXCL,...CNTL=INCL,...CNTL=INQ,...

Note: An asterisk, *, can specify any number of characters, including nocharacters.

These specifications are interpreted according to the rules for the CICS CEMTtransaction.

Examples To specify all programs that begin with ABC, including program name ABC,enter:

PROG=ABC*

To specify all programs that end with ABC, including program name ABC, enter:

PROG=*ABC

To specify all programs that begin with AB and end with C and all those thatcould have an unspecified number of characters in the middle, enter:

PROG=AB*C

Note: You can specify more than one asterisk in a promid. Do not specify anasterisk by itself; PROG=* is invalid.

To specify all four-character program names that begin with ABC followed byany one character, enter:

PROG=ABC+

Note: A plus sign, +, specifies just one character in a particular position.

To specify all four-character program names that begin with any characterfollowed by ABC, enter:

PROG=+ABC

To specify all four-character program names that begin with AB followed by anyone character and C, enter:

PROG=AB+C

Note: You can specify more than one plus sign in a promid. Do not specify aplus sign by itself; PROG=+ is invalid.

Page 250: CA-Intertest for CICS User Guide

CNTL Monitoring Commands and Options

9�6 CA-InterTest for CICS User Guide

To specify all programs that begin with AB followed by one character, C, and anunspecified number of characters, enter:

PROG=AB+C*

Note: You can combine asterisks and plus signs.

Hierarchy Rules for Monitored Entries

It is important to know the priorities CA-InterTest observes if more than oneentry in the Monitoring Table applies to the same program.

� The PROG=.OPTIONS specification overrides all other specifications.

� A program entry (specific or generic) overrides a transaction entry, aterminal entry, and an .ALL specification.

� A transaction entry (specific or generic) overrides a terminal entry and an.ALL specification.

� A terminal entry (specific or generic) overrides an .ALL specification.

� A specific user ID overrides a .ANY specification.

For example, suppose you specify monitoring options for program ABC1 anddifferent options for transaction TRN1. ABC1 executes as part of thattransaction. When ABC1 executes, the options specified for ABC1 will overridethe options specified for TRN1.

Similarly, it is important to understand the priorities CA-InterTest observeswhen a program, transaction, or terminal is specifically and generically declaredfor monitoring. In this case, a specific entry overrides a generic entry exceptwhen you issue the command CNTL=INQ,promid, whre the genericspecification takes precedence.

For example, suppose you specify monitoring options for program ABC1 anddifferent monitoring options for program ABC*. The options specified for ABC*will affect all programs whose names begin with ABC except for program ABC1(and any other programs beginning with ABC that have their own entries in theMonitoring Table). Monitoring for ABC1 is controlled by the specific entry forthat program. However, if you specify CNTL=INQ,PROG=ABC*, you will getmonitoring status reports for all programs that begin with ABC, includingprograms such as ABC1, which have separate Monitoring Table entries.

Page 251: CA-Intertest for CICS User Guide

CNTL Monitoring Commands and Options

CNTL Commands and Menus 9�7

Initializing and Terminating CA-InterTest

To initialize CA-InterTest, enter:

CNTL=START

To terminate CA-InterTest, enter:

CNTL=END

Caution! This command terminates CA-InterTest for all users and could be passwordprotected.

Restarting CA-InterTest

To restart CA-InterTest, enter:

CNTL=RESTART or CNTL=RESTART,TODAY=ONLY

This command restarts CA-InterTest from the last recorded checkpoint. IfTODAY=ONLY is specified, CA-InterTest is restarted only if the checkpointoccurred on the same day.

When CA-InterTest is restarted from a sequential terminal, it ignores all inputrecords following the RESTART command until it finds a record with this command:

CNTL=DUMMY

This terminates the CNTL transaction and permits the system to executetransactions from subsequent input records. However, if the restart isunsuccessful, the CNTL transaction terminates and all input records that followthe RESTART command are executed as usual by CICS.

Setting and Removing Monitoring

To set monitoring, enter:

CNTL=ON,promid

To set monitoring for all programs, all users, enter:

CNTL=ON,PROG=.ALL,USR=.ANY

To set monitoring for all programs executed by the user whose CICS user ID isBARNEY1, enter:

CNTL=ON,PROG=.ALL,USR=BARNEY1

To remove monitoring, enter:

CNTL=OFF,promid

Page 252: CA-Intertest for CICS User Guide

CNTL Monitoring Commands and Options

9�8 CA-InterTest for CICS User Guide

Examples To turn on monitoring for program COBDEMO, enter:

CNTL=ON,PROG=cobdemo

To turn off monitoring for programs COBDEMO and PAYPROG, enter:

CNTL=OFF,PROG=(cobdemo,payprog)

Automatic Creationof Monitoring TableEntries

If you set monitoring for a transaction or terminal and a program executing aspart of that transaction or at that terminal is stopped at an automatic breakpoint,CA-InterTest automatically creates an entry in the Monitoring Table for that program.This allows you to set breakpoints and monitoring options for that individualprogram. Similarly, if you specified CNTL=ON,PROG=.ALL or you specified ageneric program name, CA-InterTest creates an individual Monitoring Table entryfor any program monitored under that entry that CA-InterTest stops at anautomatic breakpoint.

Setting and Removing Monitoring Options

To set monitoring options, enter:

CNTL=ON,promid,options or CNTL=ON*,options

To set system-wide default monitoring options, enter:

CNTL=ON,PROG=.OPTIONS,USR=.ANY,options

Options specified on a system-wide basis take effect for all programs thatCA-InterTest monitors.

Notes: Only the following options can be specified on a system-wide basis: ABI,CSA, FOL, ICT, LET, MXR, MXS, NUP, PRO, RFC, RNT, RPC, RTD, RTS, SLB,STR.

To remove monitoring options, enter:

CNTL=OFF,promid,options OR CNTL=OFF*,options

Examples To set the Follow option for the task currently at a breakpoint at your terminal, enter:

CNTL=ON*,FOL=ON

To set the No Update option for all monitored tasks, enter:

CNTL=ON,PROG=.OPTIONS,NUP=ON

To remove the unconditional breakpoint at statement number 1 for programCOBDEMO, enter:

CNTL=OFF,PROG=cobdemo,UBP=#1

Page 253: CA-Intertest for CICS User Guide

CNTL Monitoring Commands and Options

CNTL Commands and Menus 9�9

Setting and Removing ALL Monitoring Options Set by a Userid or Terminal

To remove ALL monitoring options set by a specific Userid or for a specificTerminal, enter:

CNTL=OFF,ALL,USR=userid or CNTL=OFF,ALL,TTR=termid,FTR=termid

TTR= and FTR= must specify the same terminal id.

Use this command with caution because it will remove monitoring options formore than one program/transaction. This command can also be passed to theCNTL transaction as data on a CICS START command and could be used by aninstallation's AutoInstall exit when a terminal signs off to �automatically� removeall InterTest breakpoints set by the terminal or Userid.

Excluding Programs from Monitoring

To exclude a program from monitoring, enter:

CNTL=EXCL,promid

To remove the monitoring exclusion set by the CNTL=EXCL command, enter:

CNTL=INCL,promid

Note: INCL and EXCL are not sensitive to the monitoring user ID.

Examples To exclude all of transaction PYRLs programs from monitoring, enter:

CNTL=EXCL,TRAN=PYRL

To remove program PAYROLL1 from the exclusion list so it is again eligible formonitoring, enter:

CNTL=INCL,PROG=payroll1

Resuming Task Execution

To resume task execution at a breakpoint, enter:

CNTL=GO,TASK=taskid,C[,options]

taskid represents the number of the task at a breakpoint. Use the CNTL=INQcommand to determine the taskid.

C instructs CA-InterTest to continue execution.

To resume execution of the task currently at a breakpoint at your terminal, enter:

CNTL*C[,options]

Page 254: CA-Intertest for CICS User Guide

CNTL Monitoring Commands and Options

9�10 CA-InterTest for CICS User Guide

To resume task execution after taking a transaction dump, enter:

CNTL=GO,TASK=taskid,Ddddd[,options]

In Ddddd, dddd specifies a four-character transaction dump code.

Specify the following options with the CNTL commands for resuming execution:

AT=locn or AT=X

GO=locn

NOBREAK

S=#nnn[,I=nn][,N=CALL/xxxx]orS=nnn[,I=nn][,N=CALL/xxxx]

AT=locn moves the current breakpoint to a different location.

AT=X disables the breakpoint.

GO=locn specifies the location at which the task should resume execution.See the section Limitations of Using the GO=Element for details.

NOBREAK resumes execution from the current statement ignoring all presetbreakpoints and indirect commands until the task either abends or runs tonormal completion. Use the NOBREAK option on:

CNTL*C

or

CNTL=GO, TASK=xxxxx, C

S=#nnn[,I=nn][,N=CALL/xxxx] instructs CA-InterTest to halt programexecution after nnn COBOL verbs or PL/I statements have executed.

S=nnn[,I=nn][,N=CALL/xxxx] instructs CA-InterTest to halt programexecution after nnn machine instructions have executed.

� I=nn instructs CA-InterTest to repeat the single-stepping afterpausing for nn seconds.

� N=CALL halts automatic single-stepping at a CALL or CICScommand or macro.

� N=xxxx halts automatic single-stepping after a specified number (1-9999) of steps.

Note: S=1 can be specified as S.

Examples To specify that task 12345 resume at COBOL paragraph name TASK-NUMBER-FOR-MSG, enter:

CNTL=GO,TASK=12345,C,GO=`task-number-for-msg'

To specify that the task currently at a breakpoint at your terminal resume atstatement number 142 and that the program execute five COBOL verbs or PL/Istatements before being halted, enter:

CNTL*C,GO=#142,S=#5

Page 255: CA-Intertest for CICS User Guide

CNTL Monitoring Commands and Options

CNTL Commands and Menus 9�11

To specify that task 12345 resume execution after taking a dump and that thecurrent breakpoint be disabled, enter:

CNTL=GO,TASK=12345,Dhelp,AT=X

The transaction dump code is HELP.

To specify that task 777 resume execution at indirect command sequence number10, enter:

CNTL=GO,TASK=777,C,EXEC=0010

Limitation of Using theGO= Element

When changing the execution sequence of a high level program, especially COBOLor PL/I, you must take responsibility for securing proper addressability of the datathat will be processed in the piece of logic specified by GO= element.

In COBOL, before you can force a branch (GO TO) to the routine using GO=element, the BLLs and their corresponding registers must contain correctaddresses. You can accomplish this with CORE commands, especially the =SETelement of the CORE command. Symbolic names of BLL cells can be used. TheBLL cells are related to their data structures in the Data Division Map (DMAP) ofthe COBOL listing, while the related registers are found in the RegisterAssignment section of the Memory Map.

SERVICE RELOAD statements in the COBOL program are necessary to notifythe COBOL compiler that, at a specific time, the registers must be reloaded whenthe address of the base of a certain data structure has changed. If you force abranch (GO TO) to the intended routine using the GO= element and, in theprocess, you cross the boundaries of SERVICE RELOAD, then it will benecessary to set the addresses.

In PL/I, you not only must secure the proper addressability of data, but alsoremain within the same logical level (such as the same DO block or calledprocedure). Going to another logical level requires going through allintermediate epilogues and prologues.

Abending a Task Stopped at a Breakpoint

To abend a task with or without a transaction dump, enter:

CNTL=GO,TASK=taskid,Adddd[,options]

taskid represents the number of the task at a breakpoint. Use the CNTL=INQcommand to determine the taskid.

In Adddd, dddd specifies a four-character transaction dump code. Replace ddddwith XXXX to abend the task without a dump and disable exits.

Note: A dump code of XXXX is not allowed for tasks in a MRO session. SpecifyA by itself to abend the task without a dump and enable the exits.

Page 256: CA-Intertest for CICS User Guide

CNTL Monitoring Commands and Options

9�12 CA-InterTest for CICS User Guide

The following options may be specified:

AT=locn or AT=X

AT=locn moves the breakpoint to a different location

AT=X disables the breakpoint

Examples To abend task number 54321 with a dump, enter:

CNTL=GO,TASK=54321,Admp1

The transaction dump code is DMP1.

To abend task number 54321 without a dump, enter:

CNTL=GO,TASK=54321,AXXXX

To abend the current task with a dump and move the current breakpoint tostatement number 128, enter:

CNTL*Admp1,AT=#128

To abend the current task without a dump, enter:

CNTL*AXXXX

Producing CA-InterTest Reports

To produce a monitoring status report, enter:

CNTL=INQ,promid[,TODEST=destid]

To produce a monitoring status report for the task currently at a breakpoint atyour terminal, enter:

CNTL?

To produce a system-wide monitoring report, enter:

CNTL=INQ[,TODEST=destid]

To display the contents of CA-InterTest monitor tables, enter:

CNTL=LIST[,TODEST=destid]

To display the entire contents of the CA-InterTest Symbolic File, enter:

CNTL=INQ,SYM=ALL[,TODEST=destid]

To display information for one program in the CA-InterTest Symbolic File, enter:

CNTL=INQ,SYM=progname[,TODEST=destid]

Where destid represents the transient data destination. If omitted, the report isdisplayed on your terminal screen.

Page 257: CA-Intertest for CICS User Guide

CNTL Monitoring Commands and Options

CNTL Commands and Menus 9�13

Examples To request a monitoring status report for program COBDEMO, enter:

CNTL=INQ,PROG=cobdemo

This report is displayed on the terminal screen.

To request a monitoring status report for all programs, enter:

CNTL=INQ,TODEST=CSSL

This report is routed to the CSSL transient data queue.

To request a report listing information on all programs in the Symbolic File,enter:

CNTL=INQ,SYM=ALL,TODEST=CSSL

This report is routed to the CSSL transient data queue.

Loading a New Copy of a Program

To load a new copy of a program, reset symbolic breakpoints, and reset the entryin the PPT to the program's new library address, enter:

CNTL=NEW,PROG=progname

Note: The specified program is declared for monitoring before the breakpoints,if any, are reset. Monitoring and breakpoints are reset for all user IDs.

Example To load a new copy of program COBDEMO.

CNTL=NEW,PROG=COBDEMO

A SYM=.NOASK parameter can be optionally be specified which causesInterTest Symbolic File Date Checking module to bypass ASKing the terminaloperator to select a symbolic file member when a date/time mismatch isdetected for a COBOL or PL/I module being NEW copied or when an Assemblermodule being new copied has more that one member in the Symbolic Files. Thisparameter should be used with caution as it forces InterTest to use the 1st

Symbolic file member it finds for a program being NEW copied whenbreakpoints are reset after the new module has been copied.

Setting System-wide Options

To activate the Automatic Breakpoint Facility for the entire system, enter:

CNTL=ABP,ON,termid

Breakpoint displays are routed to the terminal where the program is running.Specify a terminal ID to indicate where breakpoint displays should be routed fornon-terminal attached tasks and for tasks executing from non-3270 terminals.

Page 258: CA-Intertest for CICS User Guide

CNTL Monitoring Commands and Options

9�14 CA-InterTest for CICS User Guide

Note: The delivered default is to activate the global Automatic BreakpointFacility when CA-InterTest is initialized.

To deactivate the global Automatic Breakpoint Facility, enter:

CNTL=ABP,OFF

If you deactivate the global Automatic Breakpoint Facility, you can set the localAutomatic Breakpoint option for one or more programs, transactions, orterminals. The local Automatic Breakpoint option overrides the systemAutomatic Breakpoint Facility.

To log all CNTL commands (except INQ and LIST) and all changes made to mainstorage, enter:

CNTL=GLOG,ON

To deactivate global logging of CA-InterTest commands, enter:

CNTL=GLOG,OFF

To activate checkpointing, enter:

CNTL=CKPT,INTRVAL=hhmm

This command periodically records the status of CA-InterTest monitoring so thatyou can use the restart feature. The first checkpoint occurs when the option isspecified; subsequent checkpoints occur at the end of the interval, specified inhours and minutes. The time interval must be at least ten minutes.

To terminate checkpointing, enter:

CNTL=CKPT,OFF

To periodically purge all tasks waiting at a breakpoint, enter:

CNTL=PURGE,INTRVAL=hhmm

The first purge occurs when the option is specified; subsequent purges occur atthe end of the interval, specified in hours and minutes. The time interval mustbe at least 20 minutes

To purge all tasks waiting at a breakpoint at once, enter:

CNTL=PURGE,ALL=ONCE

To deactivate the purge facility, enter:

CNTL=PURGE,OFF

Example To activate checkpointing with the first checkpoint occurring immediately andsubsequent checkpoints occurring at 50 minute intervals, enter:

CNTL=CKPT,INTRVAL=0050

Page 259: CA-Intertest for CICS User Guide

CNTL Monitoring Options

CNTL Commands and Menus 9�15

Executing a Module of CNTL Commands

You can assemble modules containing CNTL commands by using theCA-InterTest PROMMAC macros; see the CA-InterTest Getting Startedfor details.After CA-InterTest has been activated, enter the following command to executethe commands in the module:

CNTL=EXEC,MODULE=modulename

Note: The CNTL=LIST and CNTL=INQ commands cannot be specified in themodule.

You can construct as many of these modules as you want. Each should have itsown entry in the PPT.

CNTL Monitoring Options

The following tables describe the CNTL monitoring options and indicates thefunction to select from the Function Selection Menu to specify the same option.

Option Description CNTL Menu Function

ABI Intercepts all CICS abends. Not available

ABP Sets local automatic breakpoint. Function 22

BYP Bypasses storage protection, permit SVC,BALR 14,14 and BALR 14,15 instructions.

Function 21

CBP Sets or removes conditional breakpoints. Function 12

CMD Sets or removes indirect commandstatements for a program/terminal.

Function 24

CSA Unprotects area in CSA. Function 21

CWA Unprotects area in CWA. Not available

FEP Identifies instructions that read certainmain storage areas.

Not available

FOL Continues monitoring after branch toanother program.

Function 22

ICT Instruction counter for preventing AICAabends.

Not available

KEP Keeps data area in a Source Listing keepwindow.

Not available

Page 260: CA-Intertest for CICS User Guide

CNTL Monitoring Options

9�16 CA-InterTest for CICS User Guide

LET Allows modification of storage or loadmodule.

Function 21

LNK Sets composite support. Function 23

MON* Sets or removes monitoring on locationsfor segmented monitoring.

Function 14

MUS Limits number of times a program ismonitored.

Function 22

MXR Limits number of CICS requests. Function 22

MXS Limits storage usage. Function 22

NOM* Sets or removes monitor off locations forsegmented monitoring.

Function 15

NRB Prevents a read buffer before abreakpoint display.

Not available

NUP Prevents program from updating files. Function 22

OVR Overrides errors that trigger anautomatic breakpoint.

Not available

PRO Protects storage from being modified. Function 21

RBP Sets or removes request breakpoints. Function 13

RFC Replaces file name. Function 20

RNT Prevents program from modifying code. Function 22

RPC Replaces program name. Function 20

RTD Replaces transient data queue name. Function 20

RTS Replaces temporary storage ID. Function 20

SLB Activates Source Listing Breakpointdisplay.

Function 22

STR Saves CICS trace table. Not available

TAL Counts how often instruction is executedwithin loop.

Not available

TER Changes the terminal ID. Not available

TON Limits monitoring to single terminal. Functions 20,21,22

UBP Sets or removes unconditionalbreakpoints.

Function 11

Page 261: CA-Intertest for CICS User Guide

CNTL Monitoring Options

CNTL Commands and Menus 9�17

USH Removes storage protection fromSHARED storage subpool area.

Not available

USR** Sets monitoring for the CICS user IDspecified.

All monitoring and mostmonitoring options

* Release 5.1 and above only.

** Release 5.4 and above only.

CNTL Monitoring Option Syntax

To set CNTL options, enter:

CNTL=ON,promid,options or CNTL=ON*,options

To remove CNTL options, enter:

CNTL=OFF,promid,options or CNTL=OFF*,options

Note: To remove an option, specify it exactly as it was originally defined.

To remove an option that was specified more than once for a program, enter:

CNTL=OFF,promid,option=.ALL

The .ALL specification is valid for the following options: BYP, CBP, CSA, KEP,LET, MON, NOM, PRO, RFC, RPC, RTD, RTS, UBP

Examples To instruct CA-InterTest to limit the number of CICS requests made by programCOBDEMO to 40, enter:

CNTL=ON,PROG=cobdemo,MXR=40

To instruct CA-InterTest to stop limiting the number of CICS requests made byprogram COBDEMO for user ID BARNEY1, enter:

CNTL=OFF,PROG=cobdemo,MXR=40,USR=BARNEY1

To instruct CA-InterTest to remove all RFC options specified for programCOBDEMO, enter:

CNTL=OFF,PROG=cobdemo,RFC=.ALL

Multiple Specifications of the Same Option

Multiple specifications of the same option can be in effect for a program, transaction,or terminal. For example, you can specify the UBP option at various times to setunconditional breakpoints within a program. Each specification remains in effectuntil it is removed.

Page 262: CA-Intertest for CICS User Guide

CNTL Monitoring Options

9�18 CA-InterTest for CICS User Guide

The following options can be specified more than once: BYP, CBP, CSA, KEP,LET, MON, NOM, PRO, RFC, RPC, RTD, RTS, SLB, UBP. For other options, onlyone specification can be in effect at one time for a program, transaction, or terminal.The last specification is the one that CA-InterTest recognizes.

For the following options, only one specification can be in effect at a time: ABI,ABP, FOL, ICT, MUS, MXR, MXS, NUP, RNT, STR, TAL, TON.

ABI: Intercepting All CICS Abends

The ABI option will intercept CICS abends and produce Automatic Breakpointswith an error code and message explaining the reason for abend. You can thenchose to either continue execution (after, possibly, removing the error) or abendthe task with the same or different abend code. All abend codes are intercepted,except those generated into the IN25ABEN table by the user.

There are three ABI option values: ON OFF and FORCE.

ABI=ON is the default and will intercept all CICS abends and produceAutomatic Breakpoints for programs/tasks that DO NOT have an active CICSHANDLE ABEND. If you wish to intercept CICS abends for programs/taskswhich have an active CICS HANDLE ABEND command, use the ABI=FORCEoption.

ABI=OFF will cause Intertest to STOP intercepting CICS ABENDS for thespecified program.

Examples: CNTL=ON,PROG=ABC,ABI=ON

CNTL=ON,PROG=ABC,ABI=OFF

CNTL-ON,PROG=ABC,ABI=FORCE

ABP: Local Automatic Breakpoint Option

The local ABP option activates automatic breakpoints for a specified program,transaction, or terminal. To set the local automatic breakpoint option, enter:

ABP=termid or ABP=*

termid specifies the ID of the terminal to which automatic breakpoint displaysshould be routed.

* specifies that the current terminal should receive automatic breakpoint displays.

This option overrides the global Automatic Breakpoint Facility and is useful in asystem where the global Automatic Breakpoint Facility has been disabled.

Page 263: CA-Intertest for CICS User Guide

CNTL Monitoring Options

CNTL Commands and Menus 9�19

The local ABP option is also useful when you do not want the breakpoint displayrouted to the terminal where the program is running, or when the display cannot berouted to that terminal (for example, a non-terminal task or a task running on a non-3270 terminal). In those cases, specify the termid of the terminal to which breakpointdisplays should be routed.

Remove the ABP option to deactivate automatic breakpoints for a specified program,transaction, or terminal. If a monitoring violation occurs, CA-InterTest abendsthe task instead of halting it at an automatic breakpoint.

BYP: Bypassing Storage Protection

To bypass storage protection and allow SVC and BALR, BASSM, BASR 14,15 and14,14 instructions, enter:

BYP=(offset1,offset2) or BYP=(addr1,addr2)

offset specifies a one to five digit hexadecimal displacement from the beginning ofthe program.

addr specifies a six to eight digit hexadecimal address.

This BYP specification defines a section of program code that is allowed to:

� Modify any area of storage

� Issue SVC instructions

� Issue BALR, BASSM, and BASR 14,15 and 14,14 instructions

Specify the beginning and ending program locations either as offsets oraddresses.

WARNING! Use this option with great care! Specify BYP only for a small section ofcode, such as a CALL statement (that is, a BALR, BASSM, or BASR 14,15 or 14,14instruction). In that case, monitoring is suspended until control returns to theinstruction after the CALL statement. If control does not return, monitoring remains offfor the duration of the program's execution.

Use the following specification to bypass storage protection when a BALR,BASSM, or BASR 14,15 or 14,14 instruction passes control:

BYP=(.ANY,locn)

locn specifies a one to five digit hexadecimal displacement or a six to eight digithexadecimal address.

Page 264: CA-Intertest for CICS User Guide

CNTL Monitoring Options

9�20 CA-InterTest for CICS User Guide

This BYP specification suspends monitoring when a BALR, BASSM, or BASR14,15 or 14,14 instruction passes control to the specified location. It is usefulwhen a monitored program calls a non-standard interface from several differentlocations.

Use the following specification to bypass a current instruction at a breakpoint:

BYP=*

This BYP specification instructs CA-InterTest to allow the current instruction tomodify storage or issue an SVC, BALR, BASSM, or BASR 14,15 or 14,14instruction.

Note: Specify this option with great care. It could be password protected.

CBP: Specifying Conditional Breakpoints

To specify a conditional breakpoint, enter:

CBP=locn,IF=condition

A conditional breakpoint halts a program at a specified location only if aspecified condition is met. See the section Setting and Removing ConditionalBreakpoints for instructions on how to specify the location and the condition.

CMD: Setting Indirect Command Statements

To set an indirect command statement for a particular program/terminal, enter:

CMD=((number),F=termid),TEXT='command text'

number specifies the indirect command statement line number to be assigned tothe accompanying command text.

F=termid specifies the terminal where the program for which the indirectcommands are being set will execute from. This provides multiple users with thepotential for defining independent sets of indirect commands for each of theirdebugging sessions. In addition, a single set of commands can be shared by allusers if F=.ANY is specified.

Note: Indirect commands defined under a specific or .NO terminal takeprecedence over any existing F=.ANY command set.

TEXT specifies the actual indirect command text, which must be enclosed withinsingle or double quotation marks. For details and command syntax, refer to thesection Using Indirect Commands and to the appendix, �Indirect Commands.�

Page 265: CA-Intertest for CICS User Guide

CNTL Monitoring Options

CNTL Commands and Menus 9�21

CSA: Unprotecting an Area in the CSA

To unprotect an area in the CSA, enter:

CSA=(offset,length)

offset specifies a hexadecimal displacement from the beginning of the CSA.

length specifies the number of hexadecimal bytes in the CSA to be unprotected.

This option allows a program, transaction, or terminal to modify areas in theCSA.

Note: Specify this option with great care. It could be password protected.

CWA: Unprotecting an Area in the CWA

To unprotect an area in the CWA, enter:

CWA=(offset,length)

offset specifies a hexadecimal displacement from the beginning of the CWA.

length specifies the number of hexadecimal bytes in the CWA to be unprotected.

This option allows a program, transaction, or terminal to modify areas in theCWA.

FEP: Setting the FEP Option

To set the FEP option, enter:

FEP=(addr,len)FEP=(EX,addr,len)

addr is the six to eight digit hexadecimal address of the first byte of a mainstorage area.

len is the length of the area in hexadecimal.

EX prevents the program from reading all main storage areas except thosespecified in the option or owned by the program.

The FEP option lets you find program instructions that read from one or moremain storage areas specified in the option. The first format of the FEP optionidentifies main storage areas that a program might read; the second format(FEP=EX,...) prevents the program from reading all main storage areas except theones specified in the option and areas owned by the program.

Page 266: CA-Intertest for CICS User Guide

CNTL Monitoring Options

9�22 CA-InterTest for CICS User Guide

FOL: Continuing Monitoring after a Branch to Another Program

To continue monitoring after a branch, enter:

FOL=ON or FOL=name or FOL=NOPPT

This option instructs CA-InterTest to monitor a program even after it branchesdirectly to another program (wild branch). All monitoring options remain in effect.

Breakpoints can be specified in the load module to which control is passed, but theirlocations might have to be specified as hexadecimal addresses. Do not specify thisoption if control is passed using a LINK or XCTL instruction.

� Use FOL=ON when control passes to a program that does not have a PPT entry.

� Use FOL=name when control passes to a program that has a PPT entry.

� Use FOL=NOPPT instead of ON to reduce overhead.

ICT: Instruction Counter for Preventing AICA Abends

To set the instruction counter to prevent an AICA abend, enter:

ICT=nnnnn

nnnnn specifies the number of instructions. Replace nnnnn with a decimalnumber between 1 and 65,534.

This command instructs CA-InterTest to issue a DFHKC TYPE=WAIT,DCI=CICSmacro each time the specified program executes nnnnn instructions. Use thisoption to prevent incorrect AICA abends in high CPU-utilization programswhere overhead has been increased by the CA-InterTest monitoring activity.

KEP: Keeping Data Areas in a Keep Window

To keep data in a Keep Window, enter:

KEP=(request)KEP=((request),T=termid)request specifies one data area in CICS main storage to be displayed in a keepwindow. Use CORE syntax to specify the requested data area, but omit CORE=.

termid specifies the terminal that displays the requested area in a keep window.

T=.ANY specifies the data area that will display in a keep window on anyterminal that displays or executes the program using LIST.

The KEP= option allows you to specify one storage area to be kept in a keepwindow whenever the specified program is displayed or executed from theSource Listing facility. The Keep Window is not available on a DetailedBreakpoint display.

Page 267: CA-Intertest for CICS User Guide

CNTL Monitoring Options

CNTL Commands and Menus 9�23

Note: CORE syntax is described in the chapter �Accessing Main Storage:CORE.�

Up to six items can be displayed in a keep window at a time. If more than sixitems are kept, CA-InterTest initially displays the first six items that you selectedbut allows scrolling to other items through the PF19 and PF20 keys. When anitem is removed from the window, another item is displayed. The KEP= optionsyntax allows only one request at a time. For each item kept, CA-InterTestdisplays a single line identifying the keep request, followed by the first 12 bytesof storage in both hexadecimal and character format. For complete details aboutthe Keep Window display and functions, refer to the �Source Listing Facility�chapter.

LET: Allowing a Program to Modify Storage Or a Load Module

To allow a program to modify storage, enter:

LET=(address,length)

address specifies the starting address of the area of storage that can be modifiedas six to eight hexadecimal digits.

length specifies, in hexadecimal, the number of bytes that can be modified.

The storage area must lie entirely within the CICS Dynamic Storage Area.

To allow a program to modify a load module, enter:

LET=progname

Where progname specifies the load module that can be modified.

Note: Specify this option with great care. It could be password protected.

LNK: Setting Composite Support

To set composite support for a composite module, enter:

LNK=(composite module information)

Use LNK options to set composite support for a composite module. A compositemodule consists of separately compiled or assembled parts brought togetherwhen the module is link-edited.

The part of the composite module that receives control from CICS is referred toas the main program; the remaining parts are referred to as subprograms. Theseprograms can be written in the same or different languages.

Page 268: CA-Intertest for CICS User Guide

CNTL Monitoring Options

9�24 CA-InterTest for CICS User Guide

Composite support lets you test and debug a subprogram as if it were a separateprogram. Specify a separate LNK option for the main program and for eachsubprogram you want to test separately.

It is easier to set LNK options on the CNTL Composite Support screen than withsingle-line commands. Most of the necessary information can be supplied in aCA-InterTest batch job step. Refer to the �Monitoring Menu Options� chapterfor details.

MON: Setting Monitor ON Locations for Segmented Monitoring

WARNING! The segmented monitoring options MON and NOM may causeunpredictable damage to the CICS system if not used properly. Instructions for usingMON and NOM are in the chapter �Special Monitoring Situations.� MON andNOM pertain to all usesr and are not user ID sensitive.

Note: MON is supported only in Releases 5.1 and above.

Note: MON options are not user ID sensitive and pertain to all users.

To set monitor on locations for segmented monitoring, enter:

MON=locnMON=(locn1,locn2,...,locn9)

locn specifies a program location where CA-InterTest will start or continuemonitoring using the special segmented monitoring method. The location mustspecify the op-code of a machine instruction that resides in non-store-protectedvirtual storage.

Specify, in quotes, the location as a COBOL paragraph name or a PL/I orAssembler label; without quotes a COBOL or PL/I statement number (a decimalnumber preceded by a # sign), or a hexadecimal displacement from thebeginning of the program, or an address in main storage.

MUS: Limiting the Number of Times a Program Is Monitored

To limit the number of times a program is monitored, enter:

MUS=limit

Where limit specifies the number of times a program is monitored. Replace limitwith a decimal number from 1 to 65,534.

Page 269: CA-Intertest for CICS User Guide

CNTL Monitoring Options

CNTL Commands and Menus 9�25

MXR: Limiting the Number of CICS Requests

To limit the number of CICS request, enter:

MXR=nnnnnnn

Where nnnnnnn specifies the number of CICS requests a program can issue.Replace nnnnnnn with a decimal number up to one million.

The MXR option is useful when a program is in a loop that includes a CICSrequest and therefore will not time out.

MXS: Limiting Storage Usage

To limit storage usage, enter:

MXS=nnnnnnn

nnnnnnn specifies the amount of storage, including program storage, that aprogram can acquire. Replace nnnnnnn with a decimal number up to onemillion.

NOM: Setting NO Monitor Locations for Segmented Monitoring

WARNING! The segmented monitoring options MON and NOM might causeunpredictable damage to the CICS system if not used properly. Instructions for usingMON and NOM are in the chapter �Special Monitoring Situations.� MON andNOM pertain to all users and are not user ID -sensitive.

Notes:

1. NOM is supported in Releases 5.1 and above, only.

2. NOM is not user ID sensitive and pertains to all users.

To set no monitor locations for segmented monitoring, enter:

NOM=locnNOM=(locn1,locn2,...,locn9)

locn specifies a program location where CA-InterTest stops monitoring using thespecial segmented monitoring method. The location must specify the op-code ofa machine instruction that resides in non-store-protected virtual storage.

Specify the location as a COBOL paragraph name (in quotes), a PL/I orAssembler label (in quotes), a COBOL or PL/I statement number (a decimalnumber preceded by a # sign), or a hexadecimal displacement from thebeginning of the program. The location can also specify an address in mainstorage.

Page 270: CA-Intertest for CICS User Guide

CNTL Monitoring Options

9�26 CA-InterTest for CICS User Guide

NRB: Preventing a Read Buffer Before a Breakpoint Display

To prevent CA-InterTest from issuing a read buffer before displaying abreakpoint, enter:

NRB=ON

The read buffer request allows CA-InterTest to restore the screen when you arefinished with the breakpoint display. However, if the read buffer cannot beexecuted because the terminal or transmission network prevents it, you mustissue the NRB option to prevent the request.

NUP: Preventing a Program from Updating CICS Files

To prevent a program from updating CICS files, enter:

NUP=ON

The NUP option prevents a program from actually updating VSAM and BDAMCICS files. This option allows repeated tests of transactions without altering testrecords. The NUP option also prevents test programs from modifyingproduction files.

OVR: Overriding Error Conditions That Trigger an ABP

To override an error that could trigger an ABP, enter:

OVR=errcode or OVR=(errcode1,errcode2,...)

errcode specifies a hexadecimal CA-InterTest error code.

The OVR option instructs CA-InterTest to ignore error conditions that would otherwisetrigger an automatic breakpoint. See the appendix �Examining Dumps withCA-InterTest� for a list of error codes.

WARNING! Use caution in specifying this option. Remember, it forces CA-InterTestto ignore potentially dangerous conditions.

PRO: Protecting Storage from Being Modified

To protect storage from being modified, enter:

PRO=(address,length)

address specifies the starting address of the protected storage area as six to eighthexadecimal digits.

length specifies, in hexadecimal, the number of bytes that are protected.

Page 271: CA-Intertest for CICS User Guide

CNTL Monitoring Options

CNTL Commands and Menus 9�27

The PRO option generates an automatic breakpoint whenever the monitoredprogram attempts to modify the protected area. This is useful when you aretrying to determine how an area of storage is being modified.

Specify the PRO option while a program is at a breakpoint if the storage locationis different each time the program executes.

RBP: Specifying Request Breakpoints

To specify request breakpoints, use the following commands:

RBP=requestRBP=(request1,request2,...,request9)

RBP=((request),F=term1,T=term2)RBP=((request1,...,request9),F=term1,T=term2)

RBP=((request),F=term1,T=term2,L=loopnumber)RBP=((request1,...,request9),F=term1,T=term2,L=loopnumber)

request specifies where the request breakpoint should occur:

� ALLCOM prior to all CICS commands

� ALLMAC prior to all CICS macros

� ALLDLI prior to all DL/I calls

� ALLCAL prior to all calls to software CA-InterTest has been instructed torecognize at installation time

� code prior to the CICS commands or macros represented by the code

Refer to the Help facility for a list of valid codes.

term1 specifies the terminal at which the program must be executing for thebreakpoint to take effect. F=.ANY specifies that the breakpoint take effect at allterminals�even when the program executes without a terminal. F=.NOspecifies that the breakpoint take effect only when the program executes withouta terminal.

term2 specifies the terminal to which the breakpoint display is sent. T=.ANYspecifies that the breakpoint display be sent to the terminal at which the programis executing.

Note: If the F=term1 or T=term2 parameter is omitted, it defaults to the terminalthat issued the RBP option.

Page 272: CA-Intertest for CICS User Guide

CNTL Monitoring Options

9�28 CA-InterTest for CICS User Guide

loopnumber specifies how often the program should be halted at the breakpoint.For example, L=2 halts the program every other time it reaches the specifiedcommand; L=13 halts it every thirteenth time. If this parameter is omitted, thebreakpoint occurs every time the program reaches the specified command ormacro. This parameter is especially useful when a CICS command occurs withina loop; for example, during a browse.

The RBP option lets you halt a program prior to all CICS commands, macros, DL/Icalls, or calls to software recognized by CA-InterTest. This option also lets you halt aprogram prior to specific CICS commands, such as File Control or Program Controlcommands. Most users will find it easier to use the CNTL Command Builder menusrather than the RBP option to specify request breakpoints.

RFC: Replacing File Names

To replace file names, enter:

RFC=(file1,file2)

file1 specifies the file to be replaced.

file2 specifies the file that will replace file1.

The RFC option dynamically substitutes one file name for another duringprogram execution. This is useful when you want to use test files in a productionenvironment, or when you want to use several different files to test a program.

RNT: Preventing a Program from Modifying Its Own Code

To prevent a program from modifying its own code, enter:

RNT=ON

The RNT option allows you to test a program for reentrancy by preventing theprogram from modifying its own code.

RPC: Replacing Program Names

To replace program names, enter:

RPC=(prog1,prog2)

prog1 specifies the program to be replaced.

prog2 specifies the program to replace prog1.

Page 273: CA-Intertest for CICS User Guide

CNTL Monitoring Options

CNTL Commands and Menus 9�29

The RPC option dynamically substitutes one program name for another inLOAD, LINK, and XCTL requests made by a monitored program. This allowsmultiple copies of a program to coexist in one system, provided each has its ownPPT entry. Use the RPC option when you want to test a program using modulesother than the ones coded in the program.

RTD: Replacing Transient Data Queue Names

To replace transient data queue names, enter:

RTD=(name1,name2)

name1 specifies the transient data queue name to be replaced.

name2 specifies the transient data queue name to replace name1.

The RTD option dynamically substitutes one transient data queue name foranother during program execution so you can test a program using transientdata queues other than the ones coded in your program.

RTS: Replacing Temporary Storage Identifications

To replace temporary storage IDs, enter:

RTS=(mask1,mask2)

mask1 specifies the temporary storage ID to be replaced.

mask2 specifies the temporary storage ID to replace mask1.

Specify both masks as eight bytes in either character (C�data�) or hexadecimal(X�data�) format.

The RTS option dynamically substitutes one temporary storage identification foranother during program execution so you can test a program using temporarystorage identifications other than the ones coded in your program.

SLB: Activating the Source Listing Breakpoint Facility

To activate the Source Listing Breakpoint Facility, enter:

SLB=termidSLB=*

termid specifies the terminal to receive breakpoint displays.

* specifies the terminal from which the option is issued.

This option activates the Source Listing Breakpoint display for the specified terminal.

Page 274: CA-Intertest for CICS User Guide

CNTL Monitoring Options

9�30 CA-InterTest for CICS User Guide

STR: Saving the CICS Trace Table

To save the CICS trace table, enter:

STR=ON

The STR option instructs CA-InterTest to preserve a copy of the CICS trace tablewhen a program is stopped at a breakpoint. Issue the command CORE=STRA todisplay the table. The most recent table entries are displayed first; earlier entriescan be viewed by scrolling through the display.

TAL: Counting How Often an Instruction Is Executed

To count the number of times an instruction is executed, enter:

TAL=locn

Where locn specifies a program location as a COBOL paragraph name (inquotes), a PL/I or Assembler label (in quotes), a COBOL or PL/I statementnumber (preceded by a # sign), or a hexadecimal displacement from thebeginning of the program.

The TAL option counts the number of times a program reaches a specifiedlocation. This option is useful with a conditional breakpoint because it lets youspecify how often a program should be halted within a loop. Use the loopnumberparameter when specifying an unconditional breakpoint to perform the sametask.

TER: Changing the Terminal ID

To change the terminal ID, enter:

TER=(oldtrm,newtrm)

oldtrm specifies the old terminal ID.

newtrm specifies the new terminal ID.

The TER option changes all occurrences of the old terminal ID to the newterminal ID whenever a terminal ID is specified for an online option; forexample, in a UBP option. This is useful when you have set terminal-specificoptions, and then need to move to another terminal to continue testing.

Page 275: CA-Intertest for CICS User Guide

CNTL Monitoring Options

CNTL Commands and Menus 9�31

TON: Limit Monitoring to One Terminal

To limit monitoring to a single terminal, enter:

TON=termid or TON=* or TON=.NO

termid specifies the terminal the program must execute from to be monitored.

* specifies that the program must execute at the current terminal to be monitored.

.NO specifies that the program must execute without a terminal to be monitored.

The TON option instructs CA-InterTest to monitor a program or transaction onlywhen it executes at a specific terminal or without a terminal.

UBP: Specifying Unconditional Breakpoints

To specify unconditional breakpoints, use the following commands:

UBP=locnUBP=(locn1,locn2,...,locn9)

UBP=((locn),F=term1,T=term2)UBP=((locn1,...,locn9),F=term1,T=term2)

UBP=((locn),F=term1,T=term2,L=loopnumber)UBP=((locn1,...,locn9),F=term1,T=term2,L=loopnumber)

UBP=ALLPAR[,F=term1,T=term2,L=loopnumber]UBP=ALLLAB[,F=term1,T=term2,L=loopnumber]

locn specifies a program location as a COBOL paragraph name (in quotes), aPL/I or Assembler label (in quotes), a COBOL or PL/I statement number(preceded by a # sign), or a hexadecimal displacement from the beginning of theprogram. locn can also specify an address in main storage.

The following operands specify the terminal at which the program must beexecuting for the breakpoint to take effect.

� F=.ANY specifies that the breakpoint take effect at all terminals, even whenthe program executes without a terminal.

� F=.NO specifies that the breakpoint take effect only when the programexecutes without a terminal.

term2 specifies the terminal to which the breakpoint display is sent.

T=.ANY specifies that the breakpoint display be sent to the terminal at which theprogram is executing.

Note: If the F=term1 or T=term2 parameter is omitted, it defaults to the terminalthat issued the UBP option.

Page 276: CA-Intertest for CICS User Guide

CNTL Monitoring Options

9�32 CA-InterTest for CICS User Guide

loopnumber specifies how often the program should be halted when a breakpointis within a loop. For example, L=2 halts the program every other time it passesthrough the loop; L=3 halts it every third time. If this parameter is omitted, thebreakpoint occurs every time the program reaches the location.

ALLPAR specifies that breakpoints take effect at all COBOL paragraph names.

ALLLAB specifies that breakpoints take effect at all Assembler labels.

When you set unconditional breakpoints, CA-InterTest halts the program at thespecified locations.

USH: Unprotecting Shared Storage

To unprotect shared storage, enter:

USH=ON

The USH option removes storage protection from all main storage areas residingin the SHARED storage subpool. This option allows a program to change allCLASS=SHARED storage, and other storage areas in the SHARED subpool.FREEMAINs of these areas are permitted; however, the four-byte StorageAccounting Areas remain protected.

WARNING! Use this option with extreme caution.

USR: Limit Monitoring to a CICS User ID

For Releases 5.4 and above, to limit monitoring to a specific CICS user ID in asecure region, enter:

USR=userid

Where userid is a specific CICS user ID.

To monitor all users of the promid, enter:

USR=.ANY

When security is active in the region and the IN25OPTS global installation optionis set to DFLTUSR=SPECIFIC, a signed on user�s monitoring request defaults tousing the requester�s individual user ID (USR=userid). Otherwise, the defaultUSR= option is set to .ANY.

Monitoring options set for a specific user ID have advantages. The From and Toterminals automatically default to .ANY. This means that the user can switchterminals and continue to have monitoring, breakpoints, and options set for hisuser ID directed to the new terminal.

Page 277: CA-Intertest for CICS User Guide

CNTL Capabilities

CNTL Commands and Menus 9�33

CNTL Capabilities

Use the CNTL transaction to perform these functions:

� Monitoring

� Breakpoints

Monitoring Set and remove monitoring for one or more programs, all the programs executedby a transaction, or all the programs executed from a terminal.

Breakpoints Set and remove unconditional or conditional breakpoints.

Set and remove request breakpoints prior to CICS macros and commands, callsto DL/I or DB/2, and calls to database software.

Monitoring Options

With the CA-InterTest CNTL feature, you can:

� Dynamically replace one or more CICS resources (programs, files, temporarystorage, transient data queues) used by a program

� Override default protection rules

� Set and remove special monitoring options, such as limiting the number oftimes a program is monitored or preventing a program from updating a file

� Provide symbolic support for programs that consist of separately compiledmodules brought together when the program is link-edited (compositesupport)

Status Display, Utility, and System Options

With the CA-InterTest CNTL feature, you can:

� Display the status of monitored programs, transactions, or terminals

� Display the contents of CA-InterTest tables and files

� Reset monitoring for a recompiled program

� Establish monitoring options for the entire system

Page 278: CA-Intertest for CICS User Guide

Initiating Monitoring

9�34 CA-InterTest for CICS User Guide

Resuming Task Execution

With the CA-InterTest CNTL feature, you can resume execution of a task haltedat a breakpoint.

Note: You can use either the CNTL menus and screens or CNTL commands toperform all of the functions listed in the previous two sections. Additionaloptions, specified by commands, are available to perform more specializedfunctions.

Initiating Monitoring

CA-InterTest provides many ways of initiating monitoring and performing otherCNTL functions:

� Source Listing facility

� ITST menus and fill-in screens

� CNTL menus and fill-in screens

� CNTL commands

With the CNTL facility, you can use one method exclusively or you can mix-and-match methods�even during one test session�depending on your specific testingneeds. For example, you can use the Source Listing facility to initiate monitoringand set breakpoints, the CNTL menus and screens to set special options, and asingle-line command to resume execution of a task.

The easiest way to turn on monitoring and set breakpoints for a single programis to use the Source Listing facility. For a new or infrequent user, this method isstrongly recommended. You can turn on monitoring by pressing a PF key, andset a breakpoint by entering a single keystroke directly on your program's sourcelisting. The �Source Listing Facility� chapter discusses this facility and providesdetailed information on what you can do when your program is halted at abreakpoint.

To take advantage of the full range of CA-InterTest monitoring capabilities, usethe CNTL Monitoring Command Builder menus and screens or enter CNTLcommands. Nearly all the monitoring functions can be implemented either way,so select the method that suits you best.

The CNTL Monitoring Command Builder menus and screens make it easy foryou to specify the necessary information without worrying about commandsyntax. All you have to do is select the function you want and enter the data�CA-InterTest creates the right command for you. Online Help is available fromevery screen using PF1 for more information.

Page 279: CA-Intertest for CICS User Guide

Initiating Monitoring

CNTL Commands and Menus 9�35

If you prefer, you can enter single-line CNTL commands to specify monitoringfunctions. More experienced users often find it faster to enter commandsdirectly.

To access online Help when entering single-line commands, type Help on a clearscreen. CA-InterTest displays the Transaction Codes screen. Press Enter andCA-InterTest displays the Help facility master menu. Two main topics (ProgramMonitoring and Breakpoints) and their associated subtopics provide informationon CNTL commands.

Monitoring Command Building Menus and Screens

This section describes how to use the CNTL Monitoring Command Buildermenus and screens to perform the following CNTL functions. The order inwhich CNTL functions are described corresponds to their order on the FunctionSelection Menu.

Function Selection Menu�The main menu for selecting CNTL functions.

Setting and Removing Monitoring�Begin and end monitoring for programs,transactions, or terminals.

Setting and Removing Unconditional Breakpoints�Set and removeunconditional breakpoints.

Setting and Removing Conditional Breakpoints�Set and remove conditionalbreakpoints.

Setting and Removing Request Breakpoints�Set and remove requestbreakpoints before CICS macros and commands, calls to DL/I, DB2, andSQL/DS, and calls to database software.

Setting and Removing Replacement Options�Dynamically change CICSresources: programs, files, transient data queues, temporary storage.

Setting and Removing Protection Options�Bypass CA-InterTest rules thatprotect main storage, the CSA, and load modules.

Setting and Removing Special Options�Modify monitoring rules (for example,prevent a program from updating a file, allow a program to branch to anotherprogram, limit the number of times a program is monitored).

Setting and Removing Composite Support�Provide symbolic support for aprogram that consists of separately compiled modules.

Status Display�Display the monitoring status of a program, transaction, orterminal.

Utility Options�Display the contents of CA-InterTest tables and files, and resetmonitoring for a recompiled program.

System-Wide Options�Request monitoring options on a system-wide basis.

Resume Task Execution�Resume execution of a task stopped at a breakpoint.

Page 280: CA-Intertest for CICS User Guide

Initiating Monitoring

9�36 CA-InterTest for CICS User Guide

Accessing the Monitoring Command Builder Main Menu

To display the Monitoring Command Builder main menu (the Function SelectionMenu), enter CNTL on a clear screen, or enter CNTL on the Command line ofany Source Listing, Detailed Breakpoint, or CORE screen.

Note: All CNTL functions can be accessed using the Monitoring menus of thePrimary Option Menu. For details, see the chapter �Monitoring Menu Options.�

The Function Selection Menu

The Function Selection Menu shown below is the main menu for the MonitoringCommand Builder. This menu lists the different CNTL functions described indetail later in this chapter.

CA-InterTest MONITORING COMMAND BUILDER - FUNCTION SELECTION

Select function by number: __ �For functions 10-22, enter S to set or R to remove: _ �

10 Monitoring 20 Replace Options 30 Status Display11 Unconditional Breakpoints 21 Protect Options 31 Utility Functions12 Conditional Breakpoints 22 Special Options 32 System-Wide Functions13 Request Breakpoints 23 Composite Support 33 Resume Task Execution14 Segmented Monitoring On 24 Indirect Commands15 Segmented Monitoring Off

For functions 10-30, enter Program Names or Transaction Codes or Terminal Names

� Program Names COBDEMO ________ ________ ________ ________ ________Transaction Codes ____ ____ ____ ____ ____ ____ ____ ____ ____Terminal Names ____ ____ ____ ____ ____ ____ ____ ____ ____

� user ID ________ user ID (or .ANY) who will execute the program

Press ENTER key with data to process command or select PF key:1 Help 2 3 End 4 Return 5 67 8 9 10 11 12

Figure 9.1 Function Selection Menu

To select a function, first enter the number of the desired function in field �.

Page 281: CA-Intertest for CICS User Guide

Initiating Monitoring

CNTL Commands and Menus 9�37

If this function selected: Also enter this:

10 through 22 In field �, enter S or R to specify SET or REMOVE. Ifleft blank, it defaults to S.

10, 13, 20, 21, 22, 24, or 30 In area �, enter the program names, transaction codes,or terminal names. You can specify from one to sixprograms, one to nine transactions, or one to nineterminals, but you cannot combine different types ofentries. You can specify .ALL to indicate all programs,transactions, or terminals. You can also specify.OPTIONS in the Program Names field to set optionsfor all programs. Optionally, override the user IDdefault in area �. You can specify a CICS user ID,such as MARY01, or .ANY.

11, 12, 14, 15,or 23 In the Program Names field, enter one program name.Optionally, override the user ID default in area �. Youcan specify a CICS user ID, such as MARY01, or .ANY.

31, 32, or 33 Do not enter anything in areas � or �.

Note: If a program is stopped at a breakpoint and you type CNTL in theCommand line to access the Function Selection Menu, CA-InterTest displays thename of the monitored entry (program, transaction, or terminal) on this screen.

When you have entered all the necessary information, press Enter. In most cases,a second screen is displayed. If you have specified multiple programs,transactions, or terminals, the names of all the entries will appear on subsequentscreens.

When you set breakpoints, replacement, protection, special options, or compositesupport, you automatically set monitoring for the programs, transactions orterminals that you specify. So, for example, it is not necessary to set monitoringand set breakpoints; simply setting breakpoints accomplishes both functions.

However, when you remove breakpoints, replacement, protection, specialoptions, or composite support, you do not remove monitoring for the programs,transactions, or terminals that you specify. Monitoring remains in effect untilyou explicitly instruct CA-InterTest to remove monitoring.

Page 282: CA-Intertest for CICS User Guide

Initiating Monitoring

9�38 CA-InterTest for CICS User Guide

Generic Specification of Programs, Transactions, or Terminals

When you set monitoring or monitoring options for a specific program,transaction, or terminal, CA-InterTest creates an entry for that program,transaction, or terminal in the Monitoring Table. You can also set monitoring ormonitoring options generically by specifying asterisks, *, and plus signs, +, toreplace characters in a program name, transaction code, or terminal name. Thesespecifications are interpreted according to the rules for the CICS CEMTtransaction.

� An asterisk can specify any number of characters, including no characters.You can specify more than one asterisk in a program name, transaction code,or terminal name. Do not, however, specify an asterisk by itself.

� A plus sign specifies just one character in a particular position. You canspecify more than one plus sign in a name or code. Do not, however, specifya plus sign by itself.

� You can combine asterisks and plus signs.

Examples Here is how the following specifications would be processed:

ABC* Specifies all names or codes that begin with ABC, includingABC.

*ABC Specifies all names or codes that end with ABC, includingABC.

AB*C Specifies all names or codes that begin with AB and end withC with an unspecified number of characters in the middle.

ABC+ Specifies all four-character names or codes that begin withABC followed by any one character.

+ABC Specifies all four-character names or codes that begin withany character followed by ABC.

AB+C Specifies all four-character names or codes that begin with ABfollowed by any one character and C.

AB+C* Specifies all names or codes that begin with AB followed byone character, C, and an unspecified number of characters.

Page 283: CA-Intertest for CICS User Guide

Initiating Monitoring

CNTL Commands and Menus 9�39

Hierarchy Rules for Monitored Entries

It is important to know the priorities CA-InterTest observes if more than oneentry in the Monitoring Table applies to the same program.

� A specific or generic program entry overrides a transaction entry, a terminalentry, and an .ALL specification.

� A transaction entry overrides a terminal entry and an .ALL specification.

� A terminal entry (specific or generic) overrides an .ALL specification.

Example Suppose you specify monitoring options for program ABC1 and differentoptions for transaction TRN1. ABC1 executes as part of that transaction. WhenABC1 executes, the options specified for ABC1 will override the options specifiedfor TRN1. Similarly, it is important to understand the priorities CA-InterTestobserves when a program, transaction, or terminal is specifically and genericallydeclared for monitoring. A specific entry overrides a generic entry except whenyou request Status Display. In that case, the generic specification takesprecedence.

Suppose you specify monitoring options for program ABC1 and differentmonitoring options for program ABC*. The options specified for ABC* willaffect all programs whose names begin with ABC except for program ABC1 (andany other programs beginning with ABC that have their own entries in theMonitoring Table). Monitoring for ABC1 is controlled by the specific entry forthat program. However, if you request a Status Display for program ABC*, youwill get monitoring status reports for all programs that begin with ABC,including program ABC1 that has a separate Monitoring Table entry.

Page 284: CA-Intertest for CICS User Guide

Initiating Monitoring

9�40 CA-InterTest for CICS User Guide

PF Keys

You can exit from the Function Selection Menu by pressing a PF key. Most ofthese PF keys are also in effect on other Monitoring Command Builder screens.The following table describes the function of each PF key.

PF Key Function

PF1 or 13 Initiates the CA-InterTest online Help facility.

PF2 or 14 Unassigned

PF3 or 15 Terminates the Function Selection Menu screen and returns to theactive breakpoint, if appropriate. Pressing Clear does the samething.

PF4 or 16 Returns to the Source Listing Display facility.

PF5 or 17 Unassigned

PF6 or 18 Unassigned

PF7 Unassigned

PF8 Displays your previous CNTL Monitoring Command Builderscreen with the specified data.

PF9 to end Unassigned

Note: For information about CORE Command Builder screens, seethe chapter �Accessing Main Storage: CORE.�; for information on the FILEtransaction, see the chapter �Accessing Auxiliary Storage: FILE.�

Setting and Removing Monitoring

You can set and remove monitoring for programs, transactions, or terminalsdirectly from the Function Selection Menu. Specify function 10, S or R, and theprogram names, transaction codes, or terminal names, and press Enter. Refer tothe section Function Selection Menu for detailed instructions. This is the onlyscreen you need to complete.

Page 285: CA-Intertest for CICS User Guide

Initiating Monitoring

CNTL Commands and Menus 9�41

Setting Monitoring

When you set monitoring for a:

Program�CA-InterTest detects and prevents errors before they occur. Thatmeans monitored programs will not abend or commit storage violations.CA-InterTest monitors the program from whatever terminal it executes, even if itexecutes as part of a non-terminal owning task. Use the replacement, protection,or special options screen if you want to restrict monitoring to a specific terminal.

Transaction�CA-InterTest monitors all of the transaction�s programs.

Terminal�CA-InterTest monitors every program that executes at that terminal.

Note: CA-InterTest will not monitor programs that begin with the prefix DFH(IBM CICS programs) or IN25 (CA-InterTest programs).

If you set monitoring for a transaction or terminal, and a program executing aspart of that transaction or at that terminal is stopped at an automatic breakpoint,CA-InterTest automatically creates an individual entry in the Monitoring Tablefor that program. This allows you to set breakpoints and monitoring optionsspecifically for that program. Similarly, if you specify .ALL in the ProgramNames field on the Function Selection Menu or if you specify a generic programname, CA-InterTest creates an individual Monitoring Table entry for anyprogram monitored under that entry when it stops at an automatic breakpoint.

Setting the User ID for Monitoring

Monitoring is sensitive to CICS user IDs. Read the section Understanding theuser ID Monitoring Option in the chapter �Monitoring Menu Options� for moreinformation.

Removing Monitoring

Before you remove monitoring, you might want to produce a report of allCA-InterTest monitoring activity to make sure other users are not currentlytesting the same programs. Press PF12 Status to produce a monitoring report.

When you remove monitoring, you also remove all breakpoints and monitoringoptions specified for that program, transaction, or terminal. A quick way ofcreating a new testing scenario for a program is to remove and then resetmonitoring with different breakpoints and options.

Note: Remember that you can also set monitoring by setting breakpoints,replacement, protection, special options, or composite support. However, if youremove breakpoints, options or composite support, monitoring remains in effectfor the specified programs until you specifically instruct CA-InterTest to stopmonitoring.

Page 286: CA-Intertest for CICS User Guide

Initiating Monitoring

9�42 CA-InterTest for CICS User Guide

Setting and Removing Unconditional Breakpoints

When you set unconditional breakpoints, CA-InterTest halts the program at thespecified locations. CA-InterTest also automatically monitors that program.

To set or remove unconditional breakpoints, specify function 11, S or R, and theprogram name on the Function Selection Menu, and press Enter. Refer to thesection Function Selection Menu for detailed instructions.

Setting Unconditional Breakpoints

If you want to set unconditional breakpoints, the Breakpoint Locations screen isdisplayed. COBOL, PL/I, and Assembler versions of the Breakpoint Locationsscreen are available. The screen illustrated below is the COBOL version.

CA-InterTest MONITORING COMMAND BUILDER - COBOL BREAKPOINT LOCATIONS 11

SET breakpoint locations for PROG=COBDEMO in any of the following fields:(For qualification by nested program name, specify 'Program-ID:Label')

�Para/Data ___________________________ _______________________________Names: ___________________________ _______________________________

___________________________ _______________________________Statement

� Numbers: ____ _____ _____ _____ _____ _____ _____ _____

� Offsets: ____ _____ _____ _____ _____ _____ _____ _____

All paragraph names: _ �

Enter 'n' to stop only every n'th time: ____�Term ID (or .ANY or .NO) where breakpoints will take effect: ____�Term ID (or .ANY) that will receive the breakpoints: ____Statement no. of indirect command(s) to be executed: ____

user ID (or .ANY) who will execute the program ________ �

PF1 Help 2 3 End 4 Return 5 6PF7 8 9 10 11 12

To set breakpoints, enter the following:

Specify up to nine breakpoint locations in fields � through �.

COBOL For a COBOL program, this can be a paragraph name or data name �, astatement number �, or the hexadecimal displacement (offset) from thebeginning of the program �.

Assembler For an Assembler program, breakpoint locations can be Assembler labels, datanames, or offsets.

PL/I For a PL/I program, breakpoint locations can be offsets or, if you have the PL/Isymbolic option, PL/I labels or statement numbers. For information on usingoffsets, refer to the chapter �Main Storage: CORE.�

Page 287: CA-Intertest for CICS User Guide

Initiating Monitoring

CNTL Commands and Menus 9�43

Follow these rules when specifying information:

� If you specify statement #1, CA-InterTest sets a breakpoint at the firstexecutable instruction in a COBOL Procedure Division, Assembler CSECT,or PL/I procedure.

� COBOL statements can contain more than one verb. In specifying statementnumbers, you can indicate the verb at which the breakpoint should occur. Astatement number of nnn or nnn.0 indicates the first verb in the statement,nnn.1 indicates the second verb, nnn.2 indicates the third verb, and so on.For example, a statement number entered as 503.3 specifies a breakpoint atthe fourth verb in statement number 503.

� If you specify a COBOL or Assembler data name, breakpoints are set at everyreference to that data name.

� Enter an X in the All paragraph names field (COBOL) � or All Assemblerlabels field to set breakpoints at all paragraph names or all labels.

The following specifications are optional:

� If you set a breakpoint within a loop, specify in field � how often theprogram should be halted. For example, if you specify 3, the breakpoint willoccur every third time the program passes through the loop.

� Specify in field � the ID of the terminal where the program must beexecuting for breakpoints to take effect. If you leave this field blank, itdefaults to your current terminal. Enter .ANY to have breakpoints take effectat all terminals, even when the program executes without a terminal. Enter.NO to have breakpoints take effect only when the program executes withouta terminal.

� Specify in field the ID of the terminal to receive breakpoint displays. Ifyou leave this field blank, it defaults to your current terminal. Enter .ANY tohave breakpoint screens displayed at the terminal where the program isexecuting when breakpoints occur.

� Specify in field the statement number of the indirect command that youwant to invoke at the breakpoint you have set.

� Specify in field the user ID who must be executing the program for thebreakpoint to take effect. Valid entries are .ANY or a specific CICS user ID.

� When you have entered all the necessary information, press Enter.

Page 288: CA-Intertest for CICS User Guide

Initiating Monitoring

9�44 CA-InterTest for CICS User Guide

Example The following example illustrates how to set unconditional breakpoints at fourlocations in the COBOL program COBDEMO.

CA-InterTest MONITORING COMMAND BUILDER - COBOL BREAKPOINT LOCATIONS 11

SET breakpoint locations for PROG=COBDEMO in any of the following fields:(For qualification by nested program name, specify 'Program-ID:Label')

�ara/Data return-transid_________________ _______________________________Names: _______________________________ _______________________________

_______________________________ _______________________________Statement � � �Numbers: 1____ 136__ 174.2 _____ _____ _____ _____ _____

Offsets: _____ _____ _____ _____ _____ _____ _____ _____

All paragraph names: _

Enter 'n' to stop only every n'th time: ____Term ID (or .ANY or .NO) where breakpoints will take effect: ____Term ID (or .ANY) that will receive the breakpoints: ____Statement no. of indirect command(s) to be executed: ________user ID (or .ANY) who will execute the program MARY01___

The information in the previous example will cause breakpoints to occur at:

� Paragraph RETURN-TRANSID

� Statement 1 (the beginning of the Procedure Division)

� First verb in statement 136

� Third verb in statement 174

Because the user ID field specifies a single user and the terminal ID fields are leftblank, the breakpoints will take effect at any terminal under which UserMARY01 is executing COBDEMO.

Page 289: CA-Intertest for CICS User Guide

Initiating Monitoring

CNTL Commands and Menus 9�45

Removing Unconditional Breakpoints

If you indicated that you want to remove unconditional breakpoints, the RemoveBreakpoint Locations screen is displayed. COBOL, PL/I, and Assemblerversions of the Breakpoint Locations screen are available. The screen displayedbelow is the COBOL version.

CA-InterTest MONITORING COMMAND BUILDER - COBOL BREAKPOINT LOCATIONS 11

REMOVE breakpoint locations for PROG=COBDEMO in any of the following fields:(For qualification by nested program name, specify 'Program-ID:Label')

�Para/Data _______________________________ _______________________________Names: _______________________________ _______________________________

_______________________________ _______________________________Statement

� Numbers: _____ _____ _____ _____ _____ _____ _____ _____

� Offsets: _____ _____ _____ _____ _____ _____ _____ _____

All paragraph names: _ �

Term ID (or .ANY or .NO) where breakpoints will take effect: ____�Term ID (or .ANY) that will receive the breakpoints: ____�

user ID (or .ANY) who will execute the program ______ To remove by ID # shown in status display enter ID #'s: __ __ __ __ __ __ __

To remove a breakpoint, specify the information that you originally defined infields � through on the Set Breakpoint Locations screen, or you can enter itsID number in field .

The ID number appears on the Detailed Breakpoint display. You can press PF12Status to request a status report for the program. This report lists the ID of eachbreakpoint.

Note: To remove all unconditional breakpoints from a program, enter .ALL infield �, and press Enter.

Setting and Removing Conditional Breakpoints

When you set conditional breakpoints, CA-InterTest halts the program at thespecified locations only if a condition is met. Conditional breakpoints can bevery useful in isolating complex problems.

To set or remove conditional breakpoints, specify function 12, S or R, and theprogram name on the Function Selection Menu, and press Enter. Refer to thesection Function Selection Menu for detailed instructions.

Page 290: CA-Intertest for CICS User Guide

Initiating Monitoring

9�46 CA-InterTest for CICS User Guide

Setting Conditional Breakpoints

First, CA-InterTest displays the Conditional Locations screen illustrated below.

CA-InterTest MONITORING COMMAND BUILDER - COBOL CONDITIONAL LOCATIONS 12

SET breakpoint locations for PROG=COBDEMO in any of the following fields:(For qualification by nested program name, specify 'Program-ID:Label')Para/Data _______________________________ _______________________________

Names: _______________________________ ______________________________________________________________ _______________________________

StatementNumbers: _____ _____ _____ _____ _____ _____ _____ _____

Offsets: _____ _____ _____ _____ _____ _____ _____ _____�

All paragraph names: _ All instructions: x

Enter 'n' to stop only every n'th time: ____Term ID (or .ANY or .NO) where breakpoints will take effect: ____Term ID (or .ANY) that will receive the breakpoints: ____Statement no. of indirect command(s) to be executed: _____user ID (or .ANY) who will execute the program ______

This screen is similar to the screen used to specify unconditional breakpoints,and you should enter the information in the same way. Refer to the sectionSetting Unconditional Breakpoints for details.

One special feature lets you set a conditional breakpoint at all instructions. Enteran x in the All Instructions field to request this option, as illustrated in thisexample. If you request the All Instructions option and set a variable-changebreakpoint, the breakpoint takes effect whenever the value of the variablechanges.

After specifying the breakpoint locations, press Enter to display the ConditionalBreakpoint screen. On this screen specify the condition that must be satisfied forthe breakpoint to take effect.

There are two versions of the Conditional Breakpoint screen: a simplifiedversion for COBOL users, and a detailed version for PL/I and Assembler usersand for those COBOL users who prefer this version. On either version you willspecify a condition in this format:

left side relational operator right side

Page 291: CA-Intertest for CICS User Guide

Initiating Monitoring

CNTL Commands and Menus 9�47

If you are a COBOL user, the following screen is displayed.

CA-InterTest MONITORING COMMAND BUILDER - CONDITIONAL BREAKPOINT

� Enter LEFT SIDEData Name task-switch________________________________________________

Enter OPERATOR (EQ, NE, GT, LT, GE, LE): eq �

Enter RIGHT SIDEData Name ____________________________________________________________

OR� Literal 3_____________________________________________________________

Press PF9 to go to complex conditional screen if necessary

� Field � specifies the left side of the comparison, which is a data name.

� Field � specifies the relational operator:

EQ for equal

NE for not equal

GT for greater than

LT for less than

GE for greater than or equal to

LE for less than or equal to

� Field � specifies the right side of the comparison, which can be a data name,literal, or figurative constant.

Variable-Change Breakpoints

� COBOL and Assembler users can set a conditional breakpoint to take effectwhenever the value of a variable changes. To do this, type x in the AllInstructions field on the Conditional Locations screen.

� COBOL users must then specify the variable name in fields � and � on theConditional Breakpoint screen.

� Assembler users must then specify the variable name in fields � and � onthe Detailed Conditional Breakpoint screen, as discussed in the section Usingthe Detailed Conditional Breakpoint Screen.

The operator entered in field � determines whether the breakpoint occurswhenever the value of the variable changes (NE) or only when the valueincreases, decreases, or does not change. Whenever you reexecute the program,the initial value of the variable is reset to its value at the beginning of programexecution.

Page 292: CA-Intertest for CICS User Guide

Initiating Monitoring

9�48 CA-InterTest for CICS User Guide

Literal Formats

Four types of literals can be specified for the right side of the comparison:

Character Specify character literals for comparisons with any field except aCOBOL data name defined as COMP or COMP-3. Enter the literalas C�character data�, X�hexadecimal data�, or a combination ofboth. For example, C�ABC�, X�0102�, or C�ABC�X�0102�.

Packed Specify packed decimal literals for comparisons only with COBOLdata names defined as COMP-3. Enter the literal as P�number�.The number can be preceded by a minus sign. For example, P�123�or P�-123�.

Halfword Specify halfword literals for comparisons with COBOL data namesdefined as COMP with a length of four, as in S9(4) COMP. Enterthe literal as H�number�. The number can be preceded by a minussign. For example, H�12�or H�-12�.

Fullword Specify fullword literals for comparisons with COBOL data itemsdefined as COMP with a length of eight, as in S9(8) COMP. Enterthe literal as F�number�. The number can be preceded by a minussign. For example, F�100�or F�-100�.

Figurative Constants

The following figurative constants can be specified for the right side of thecomparison.

Valid Right side Specifications for the Comparison

ZERO numeric value 0

ZEROSZEROES

HIGH-VALUE character value X�FF�

HIGH-VALUES

SPACE blank (X�40�)SPACES

LOW-VALUE character value X�00�

LOW-VALUES

Page 293: CA-Intertest for CICS User Guide

Initiating Monitoring

CNTL Commands and Menus 9�49

Example The sample screen below illustrates how to set a conditional breakpoint in aCOBOL program.

CA-InterTest MONITORING COMMAND BUILDER - CONDITIONAL BREAKPOINT

Enter LEFT SIDE �Data Name tolen ___________________________________________________________

�Enter OPERATOR (EQ, NE, GT, LT, GE, LE): lt

Enter RIGHT SIDEData Name _________________________________________________________________

OR �Literal 80_________________________________________________________________

Press PF9 to go to complex conditional screen if necessary

� The left side of the comparison specifies the data name TOLEN.

� The relational operator is LT (less than).

� The righ side of the comparison specifies the literal 80.

This breakpoint will take effect only if the value in the data name TOLEN is lessthan 80. The breakpoint locations are all the instructions, as previously specifiedon the Conditional Locations screen.

Removing Conditional Breakpoints

When you specify that you want to remove conditional breakpoints, the RemoveConditional Locations screen illustrated below is displayed.

CA-InterTest MONITORING COMMAND BUILDER - COBOL CONDITIONAL LOCATIONS 12

REMOVE breakpoint locations for PROG=COBDEMO in any of the following fields:(For qualification by nested program name, specify 'Program-ID:Label')

� Para/Data _____________________________________________________________Names: _____________________________________________________________

_____________________________________________________________Statement

� Numbers: _____ _____ _____ _____ _____ _____ _____ _____

� Offsets: _____ _____ _____ _____ _____ _____ _____ _____

All paragraph names: _ � All instructions: _�

Term ID (or .ANY or .NO) where breakpoints will take effect: ____�Term ID (or .ANY) that will receive the breakpoints: ____

user ID (or .ANY) who will execute the program _____

The easiest way to remove a conditional breakpoint is from the MonitoringStatus display, as discussed in the chapter �Menus and Displays.�To remove allconditional breakpoints from a program, enter .ALL in field � of this screen, andpress Enter.

Page 294: CA-Intertest for CICS User Guide

Initiating Monitoring

9–50 CA-InterTest for CICS User Guide

Using the Detailed Conditional Breakpoint Screen

When Assembler and PL/I users who want to specify conditional breakpointscomplete the Conditional Locations screen and press PF9, the screen below isdisplayed. COBOL users can access this screen by pressing PF9 from the COBOLConditional Breakpoint screen illustrated in the preceding section.

CA-InterTest MONITORING COMMAND BUILDER - CONDITIONAL BREAKPOINT

� Enter LEFT SIDE of condition (select one): Data Name _________________________________________________________________ Special keywords: ______ Register # __ COBOL BLL # __

Enter OPERATOR (EQ, NE, GT, LT, GE, LE): __� Length: Left ___� Right ___�

� Enter RIGHT SIDE of condition (select one): Data Name _________________________________________________________________ Special keywords: ______ Register # __ COBOL BLL # __ Literal ___________________________________________________________________

� Optional offset: Enter + - @ OR % followed by a value. Left side _________________________ Right side _________________________

Press PF9 to go to simple conditional screen

A Detailed Conditional Breakpoint

� Specifies the left side of the comparison that must be an area of core. Enterinformation in one of these four fields:

� Data name

� Register

� COBOL BLL cell

� Area identified by a CORE keyword

� Specifies the relational operator:

EQ for equal

NE for not equal

GT for greater than

LT for less than

GE for greater than or equal to

LE for less than or equal to

�/� Optionally define the length of the left side or right side of thecomparison. (See the section Length of the Comparison for details.)

� Specifies the right side of the comparison, which can be an area of core or aliteral. Enter information in one of these five fields: a data name, a register, aCOBOL BLL cell, an area identified by a CORE keyword, or a literal. See thesection CORE Keywords and Literal Formats for details.

Page 295: CA-Intertest for CICS User Guide

Initiating Monitoring

CNTL Commands and Menus 9–51

� Optionally adjusts a CORE location by specifying offsets (displacements). Eachoffset must be preceded by one of the following operands:

� +

� -

� @ (indirect addressing below the 16-megabyte line)

� % (indirect addressing above the 16-megabyte line; XA systems only)

Literals cannot be modified by offsets.

Length of the Comparison

You can explicitly define how many bytes of either the left side or right sidespecification should be compared. Certain storage locations have implicitlengths:

� A register or COBOL BLL cell has an implicit length of four bytes.

� The storage locations referred to by the CORE keywords MXR, MXS, andTAL have implicit lengths of four bytes.

� The implicit length of a COBOL data name is its field length as defined in theDMAP.

� The length of a literal is the number of bytes it contains; any lengthspecification is ignored.

Define both left side and right side lengths for a packed decimal (COMP-3)comparison. For all other comparisons, define only one length. If you defineboth lengths, the smaller length is used.

The maximum permissible length for the left side or right side is 16 bytes forpacked decimal data and 255 bytes for all other data types.

Literal Formats

Refer to the section Figurative Constants for details on specifying literals.

Page 296: CA-Intertest for CICS User Guide

Initiating Monitoring

9–52 CA-InterTest for CICS User Guide

CORE Keywords

The following CORE keywords can be specified on the left side or right side ofthe comparison:

Keyword Function

CMAR First byte of the EXEC CICS Communications Area for the task

CSA First byte of the CSA

CURR Next Assembler instruction to be executed

CWA First byte of the CWA

CWK First byte of the COBOL program's Working-storage

ITBE First byte of the next instruction to be executed

MXR CA-InterTest maximum CICS request counter (implicit length = 4)

MXS CA-InterTest maximum storage counter (implicit length = 4)

OPFL First byte of the Optional Features List

PGM=* First byte of the monitored program

PREV Last Assembler instruction that was executed

Rnn A register (nn is a decimal from 1 to 15) (implicit length = 4)

TAL CA-InterTest tally fullword (implicit length = 4)

TERM=* First byte of the terminal table entry of the current terminal

TGT First byte of the COBOL TGT for the monitored task

TIOA First byte of the first TIOA of the task

TWA First byte of the TWA of the monitored task

Page 297: CA-Intertest for CICS User Guide

Initiating Monitoring

CNTL Commands and Menus 9–53

Setting and Removing Request Breakpoints

You can set request breakpoints to halt a program prior to CICS commands,macros, and other program calls, such as calls to DL/I, DB2, or SQL/DS. Youcan instruct CA-InterTest to halt the program before every CICS command, or atype of CICS command, such as File Control or Program Control commands.You can even specify that the program be halted before specific commands, suchas all READ or WRITE commands. Once the program is halted, you can use all ofthe CA-InterTest facilities to inspect and modify main storage or auxiliarystorage or to set additional options.

To set or remove request breakpoints, specify function 13, S or R, and theprogram names, transaction codes, or terminal names on the Function SelectionMenu, and press Enter. Refer to the section Function Selection Menu for detailedinstructions. CA-InterTest displays the Request Breakpoint Selection menu. Enteran x next to the options you want to select.

CA-InterTest MONITORING COMMAND BUILDER - REQUEST BREAKPOINT SELECTION 13

Set one or more types of Request Breakpoints in: PROG=COBDEMO

� _ ALL commands �_ ALL macros �_ DL/I �_ DB2 �_CALLS

_ Address, Assign, _ Storage Control _ BMS Handles, Push, Pop _ Program Control _ Trace Control _ Terminal Control _ Interval Control _ Dump Control� x File Control _ Task Control _ Batch Data Interchange _ TD Control _ Journal Control _ Built-In Functions _ TS Control _ Syncpoints _ Sys Prog Functions

Enter 'n' to stop only every n'th time: ____� Term ID (or .ANY or .NO) where breakpoints will take effect: ____� Term ID (or .ANY) that will receive the breakpoints: ____ Statement no. of indirect command(s) to be executed: ____ user ID (or .ANY) who will execute the program _____�

Request Breakpoint Selection Menu

Note: SQL/DS instead of DB2 will appear on this menu for VSE users.

� The program is halted prior to all CICS commands.

� The program is halted prior to all CICS macros.

� The program is halted prior to all DL/I calls.

� The program is halted prior to all calls to DSNHLI (for DB2 users), or prior to allcalls to ARIPRDI (for SQL/DS users).

� The program is halted prior to calls to software that CA-InterTest has beeninstructed to recognize at installation time. A second screen is displayed for youto specify the calls.

Page 298: CA-Intertest for CICS User Guide

Initiating Monitoring

9–54 CA-InterTest for CICS User Guide

� If you select a type of CICS command, CA-InterTest displays a second screen.For example, if you select File Control, CA-InterTest displays the File Controlscreen.

� If you do not want the program to be halted before every occurrence of acommand, specify how often the program should be halted. For example, if youspecify 3, the breakpoint occurs every third time the program reaches thecommand. This feature is especially useful when a CICS command occurs withina loop; for example, during a browse.

� Specify the ID of the terminal where the program must be executing forbreakpoints to take effect. If you leave this field blank, it defaults to your currentterminal. Enter .ANY to have breakpoints take effect at all terminals, even whenthe program executes without a terminal. Enter .NO to have breakpoints takeeffect only when the program executes without a terminal.

Specify the ID of the terminal to receive breakpoint displays. If you leave thisfield blank, it defaults to your current terminal. Enter .ANY to have breakpointscreens displayed at the terminal where the program is executing whenbreakpoints occur.

Specify the first indirect command statement number to take effect at thisbreakpoint.

� Specify the CICS user ID of the user (or .ANY) who must be executing theprogram for the breakpoint to take effect.

Note: Your version of this screen might differ slightly, depending onCA-InterTest installation options.

Page 299: CA-Intertest for CICS User Guide

Initiating Monitoring

CNTL Commands and Menus 9–55

When you have entered all necessary information, press Enter. If you entered anx next to a type of command, CA-InterTest displays a second screen. Forexample, if you selected File Control as the previous screen illustrates,CA-InterTest displays the screen shown below.

CA-InterTest MONITORING COMMAND BUILDER - REQUEST BREAKPOINT SELECTION

Set one or more types of File Control commands/macros in: PROG=COBDEMO

_ All commands _ All macros

� x READ � x WRITE _ REWRITE _ DELETE _ UNLOCK _ STARTBR _ READNEXT _ READPREV _ ENDBR _ RESETBR

Enter 'n' to stop only every n'th time ____

File Control Request Breakpoint Selection Screen

On this screen you can specify that the program be halted at all File Controlcommands or macros, or you can select specific File Control commands. In thisexample, the user has specified that program COBDEMO be halted at all READand WRITE commands.

To remove request breakpoints, use the Monitoring Status display. See thechapter “Menus and Displays” for details. Alternatively, you can enter theinformation exactly as you originally defined it.

Setting and Removing Replacement Options

You can set replacement options to dynamically change the names of CICSresources (programs, files, transient data queues, and temporary storage)specified in CICS CALLS by a monitored program. Remove the replacementoptions when you want the program to use the resources defined in the program.

When you specify replacement options for a transaction, the resources arereplaced in all its programs. When you specify replacement options for aterminal, the resources are replaced in all programs executing from that terminal.

Page 300: CA-Intertest for CICS User Guide

Initiating Monitoring

9–56 CA-InterTest for CICS User Guide

To set or remove replacement options, specify function 20, S or R, and theprogram names, transaction codes, or terminal names on the Function SelectionMenu, and press Enter. The Replacement Options screen is displayed. Refer tothe Function Selection Menu section for detailed instructions.

CA-InterTest MONITORING COMMAND BUILDER - REPLACEMENT OPTIONS

SET one or more options to replace one CICS resource name with another in: PROG=COBDEMO

Replace program name: ________ with ________ Replace file name: pfile___ with tfile___ Replace TD queue name: ____ with ____ TS selection mask: ____________________________________ TS replacement mask: ____________________________________

Limit monitoring to your terminal - '*' or TERMID: ____ user ID (or .ANY) who will execute the program _____

Sample Replacement Options

Five options can be specified on this screen. The equivalent option used insingle-line commands is specified in parentheses.

Replace program name (RPC)—Allows a program name to be replaced. Specifythe original program name and the new name.

Replace file name (RFC)—Allows a file name to be replaced. Specify the originalfile name and the new name. The sample screen shown previously specifies thatprogram COBDEMO use file TFILE instead of PFILE.

Replace TD queue name (RTD)—Allows a transient data queue name to bereplaced. Specify the original TD queue name and the new name.

TS selection mask; TS replacement mask (RTS)—Allows a temporary storageID to be replaced. Specify the original temporary storage ID in the TS selectionmask field, and the new temporary storage ID in the TS replacement mask field.Specify both masks as eight bytes in either character (C‘data‘) or hexadecimal(X‘data‘) format. In the following example, STORAGE2 replaces STORAGE1 inall temporary storage requests issued by the program.

TS selection mask: C'STORAGE1'TS replacement mask: C'STORAGE2'

Limit monitoring (TON)—Specifies that the program be monitored and thatreplacement options, if specified, take effect only when the program executes atthe current terminal (*), a specific terminal (termid), or without a terminal (.NO).

When you have specified the necessary information, press Enter.

Page 301: CA-Intertest for CICS User Guide

Initiating Monitoring

CNTL Commands and Menus 9–57

Removing Replacement Options

To remove a replacement option, specify the information exactly as you enteredit. To remove all replacement options of a specific type, enter .ALL in theappropriate field. For example, to remove all file replacement options, enter.ALL in the Replace file name field.

Setting and Removing Protection Options

You can set options to override the CA-InterTest default protection rules formodifying main storage, the CSA, and load modules. Remove the protectionoptions to reinstate the default protection rules.

Important! Because the protection options can potentially damage your CICS system ifmisused, exercise caution in specifying them. These options are password protectedunless your site has removed this restriction.

To set or remove protection options, specify function 21, S or R, and the programname on the Function Selection Menu, and press Enter. The Protection Optionsscreen illustrated below is displayed. Refer to the Function Selection Menusection for detailed instructions.

CA-InterTest MONITORING COMMAND BUILDER - PROTECTION OPTIONS 21

SET one or more options to override the default protection rules in: PROG=COBDEMO

Bypass storage protection: From ________ To ________ Unprotect CSA: Offset ____ Length ___ Unprotect CWA: Offset ____ Length ___ Unprotect main storage area: Address ________ Length _____ Unprotect load module: Name ________ Protect main storage area: Address ________ Length _____

Limit monitoring to your TERMINAL - '*' or TERMID: ____ user ID (or .ANY) who will execute the program _____

The following options can be specified on this screen. In the descriptions, thecommand syntax equivalent for each monitoring option is specified inparentheses.

Bypass storage protection (BYP)—Permits a specified section of program code tomodify any area of main storage, issue SVC instructions, or issue BALR, BASSM.or BASR 14,15 or 14,14 instructions.

Specify either the beginning and ending program addresses or program offsets.Specify addresses as six to eight hexadecimal digits, and offsets as one to fivehexadecimal digits.

Page 302: CA-Intertest for CICS User Guide

Initiating Monitoring

9–58 CA-InterTest for CICS User Guide

If you specify .ANY in the From field and an address or offset in the To field,CA-InterTest suspends monitoring when any BALR, BASSM, or BASR 14,15 or14,14 instruction passes control to the specified location. Monitoring resumeswhen the routine executed by the instruction returns control to the next byteafter the instruction.

At a breakpoint, you can specify * in the From field and leave the To field blankto instruct CA-InterTest to bypass the current instruction.

Unprotect CSA (CSA)—Permits a program to modify areas in the CSA. Specifythe offset and the length in hexadecimal.

Unprotect CWA (CWA)—Permits a program to modify areas in the CWA.Specify the offset and the length in hexadecimal.

Unprotect main storage area (LET)—Permits a program to modify a designatedarea of storage. Specify the beginning address as six to eight hexadecimal digits.Specify the length of the area in hexadecimal.

Unprotect load module (LET)—Permits a program to modify a load module.

Protect main storage area (PRO)—Prevents a program from modifying adesignated area of storage not protected by CA-InterTest. Specify the beginningaddress as six to eight hexadecimal digits. Specify the length of the area inhexadecimal.

Limit monitoring (TON)—Specifies that the program be monitored and that theprotection options, if specified, take effect only when the program executes at thecurrent terminal (*), a specific terminal (termid), or without a terminal (.NO).

Removing ProtectionOptions

To remove protection options, enter the information exactly as you originallydefined it. To remove all options of a specific type, enter .ALL in the appropriatefield. For example, to remove all Bypass Storage Protection options, enter .ALLin that field.

Page 303: CA-Intertest for CICS User Guide

Initiating Monitoring

CNTL Commands and Menus 9–59

Setting and Removing Special Options

You can set special options to alter the CA-InterTest standard monitoring procedures.Remove the special options to reinstate the default monitoring rules.

To set or remove special options, specify function 22, S or R, and the programnames, transaction codes, or terminal names on the Function Selection Menu,and press Enter. The Special Options screen, illustrated next, is displayed. Referto the Function Selection Menu section for detailed instructions.

CA-InterTest MONITORING COMMAND BUILDER - SPECIAL OPTIONS 22

SET one or more options to override the default monitoring rules in: PROG=COBDEMO

Enter X next to each option desired:

Source Listing Breakpoint (SLB) _ No file updating (NUP) _ Reentrancy check (RNT) _

Follow monitoring (ON, name, NOPPT) (FOL) ________ Number of times to be monitored (MUS) _____ Limit total size of CICS storage (MXS) _______ Limit total number of CICS requests (MXR) _______

Set local automatic breakpoint ('*', TERMID, .ANY, OFF) ____ Limit monitoring to your TERMINAL - '*' or TERMID: ____ user ID (or .ANY) who will execute the program _____

The following options can be specified on this screen. The equivalent optionused in single-line commands is specified in parentheses.

Source Listing Breakpoint (SLB)—Specifies that the Source Listing Breakpointscreen be displayed rather than the full breakpoint display screen. For moreinformation, refer to the “Source Listing Facility” chapter.

No file updating (NUP)—Specifies that a monitored program not update any files.This option only affects VSAM and BDAM files; databases are unaffected.

Reentrancy check (RNT)—Prevents a program from modifying its own code.

Follow monitoring (FOL)—Instructs CA-InterTest to continue monitoring aprogram even if it branches directly to another program (wild branch). Allmonitoring options remain in effect. Specify the following:

���� ON when control passes to a program that does not have a PPT entry

���� the name of the program when control passes to a program that has a PPTentry

���� NOPPT instead of ON to reduce overhead when a program often branches toa program that does not have a PPT entry

Note: This option should not be specified if control is passed to a program by aLINK or XCTL instruction. Such a program is monitored only if monitoring hasbeen specified for it.

Page 304: CA-Intertest for CICS User Guide

Initiating Monitoring

9–60 CA-InterTest for CICS User Guide

Number of times to be monitored (MUS)—Limits the number of times aprogram should be monitored.

Limit total size of CICS storage (MXS)—Limits the amount of storage, includingprogram storage, that a program can acquire.

Limit total number of CICS requests (MXR)—Limits the number of requests atransaction can issue. This option is useful when a program is in a loop thatincludes a CICS request.

Set local automatic breakpoint (ABP)—Activates the automatic breakpointfacility for a particular program, transaction, or terminal.

Specify the terminal to receive automatic breakpoint displays. An asterisk, *,routes the display to the current terminal. A termid routes the display to aparticular terminal. .ANY routes the display to all terminals. OFF instructsCA-InterTest to abend the task instead of halting it at an automatic breakpoint.

Note: This option is useful when you do not want the breakpoint display routedto the terminal where the program is running, or when the display cannot berouted to that terminal (for example, a non-terminal task or a task running on anon-3270 terminal). In those cases, specify the terminal to which breakpointdisplays should be routed. The local automatic breakpoint option is also usefulin a production environment when the global Automatic Breakpoint facility hasbeen disabled and you want to monitor a specific program, transaction, orterminal.

Limit monitoring (TON)—Specifies that the program be monitored and that thespecial options, if specified, take effect only when the program executes at thecurrent terminal (*), a specific terminal (termid), or without a terminal (.NO).

Removing SpecialOptions

To remove special options, enter an x next to the options you want to remove ,orenter the information exactly as you originally defined it.

Setting and Removing Composite Support

The CA-InterTest composite support feature lets you take advantage of all of theCA-InterTest capabilities when you test and debug composite modules. Acomposite module is a load module defined in the PPT that consists of separatelycompiled or assembled parts brought together when the module is link-edited.The part of the composite module that receives control from CICS is referred toas the main program; the remaining parts are referred to as subprograms. The mainprogram and subprograms can be written in the same or different languages.

Composite support lets you test and debug a subprogram as if it were a separateprogram. This means you can set breakpoints and other monitoring optionsindividually for any subprogram. For a full discussion of composite support,refer to the “Monitoring Menu Options” chapter.

Page 305: CA-Intertest for CICS User Guide

Initiating Monitoring

CNTL Commands and Menus 9–61

CA-InterTest provides full symbolic support for the main program andsubprograms if you provide that information when the programs are compiledor assembled. See the chapter, “Source Listing Facility” for instructions.

Function 23 on the CNTL Function Selection Menu is one method of accessingthe Composite Support screen, illustrated below. An alternative method ofaccessing this screen is from the ITST monitoring menus.

CA-InterTest MONITORING COMMAND BUILDER - COMPOSITE SUPPORT REQUEST SET Link options for PROG=BIGMOD as defined below:

Link-name Monitor-name Offset Length Language Comments

_ MAINMOD BIGMOD 160 78A8 COB _ SUBMOD-A ASMMOD-A 7CA0 1200 ASM_ _ SUBMOD-B ASMMOD-B 8EA0 1001 ASM_ _ SUBMOD-C ASMMOD-C 9EA1 93A ASM_ _ SUBMOD-D _______ A8DB A11 ____ symbolics not available

Enter Monitor-names for programs to be monitored and press PF5 to process 1 Help 2 3 End 4 5 Process 6 7 Backward 8 Forward 9 10 11 12 MU5002 BOTTOM of data

Using Indirect Commands

The CA-InterTest Indirect Commands facility allows you to define a set ofcommands to be executed automatically or indirectly at a predeterminedlocation in a monitored COBOL or PL/I program. These commands can beinvoked from an unconditional, conditional, or request breakpoint.

In effect, indirect commands are executed at breakpoints within your programjust as other CA-InterTest line commands issued from the Source ListingDisplay, such as MOVE and GO, are used to alter the flow of your program’slogic. The difference is that indirect commands are executed automaticallywithout issuing a breakpoint display. Once the indirect commands areperformed, your program continues to execute normally.

Indirect commands save you from having to recompile a program or manuallycorrect an area of code every time it is encountered during a debugging session.With the Indirect Commands facility, you can:

� Change the flow of control in your program

� Test conditions based on specified variables

� Change the value of specified variables

� Create and execute commands as a group, like adding a new subroutine

Page 306: CA-Intertest for CICS User Guide

Initiating Monitoring

9–62 CA-InterTest for CICS User Guide

� Automatically resume execution of your program at the same or differentlocation

� Define abbreviations for variables with long names

Note: Indirect commands are not available for Assembler programs.

How Can IndirectCommands Be Used?

Indirect commands can be used to correct the following sample programproblems:

� A variable is not being initialized during processing. Using indirectcommands you can initialize the variable every time the program is run andcontinue execution without recompiling.

� A new routine is needed in your program. You can insert the code usingindirect commands and continue executing your program withoutrecompiling.

� A section of code is bad. To continue executing or testing withoutrecompiling, you can write and invoke indirect commands to directCA-InterTest to go around the bad source code or execute a new series ofindirect command statements.

Overview of Steps Refer to the “Breakpoint Activities” chapter for a complete discussion of how tocode indirect commands and attach them to breakpoints. For users familiar withthe CNTL menus, use Function 24 of the CNTL Function Selection Menu toaccess the Indirect Commands facility when you are coding the commands.

Status Display

You can determine the monitoring status of one or more programs, transactions,or terminals by specifying Function 30 and the program names, transactioncodes, or terminal names on the Function Selection Menu, and pressing Enter.(Refer to the Function Selection Menu section for detailed instructions.) If youspecify multiple programs, transactions, or terminals, CA-InterTest displays themonitoring reports in the order in which you specified the entries.

Note: The status display accessed from the CNTL menu does not include thesame formatting as the Monitoring status report discussed in other areas of thisguide. To access the formatted status display, see the chapter “Menus andDisplays”

It is advisable to determine the monitoring status of a program, transaction, orterminal before altering it.

Page 307: CA-Intertest for CICS User Guide

Initiating Monitoring

CNTL Commands and Menus 9–63

Example The following screen illustrates a status report for the program COBDEMO.

CA-InterTest x.x.x Activity Report, 11:39 a.m at terminal L905 CICS Trace for InterTest internals is on. No currently monitored tasks found. � Automatic BreakPoint feature is globally active. � Automatic BreakPoint default terminal is not declared. � CKPT intrval=00:10 hh:mm � CKPT done at 11:37 a.m.� COBDEMO Symbolic file is PROTDEM UBP offset= +01B44 id=56A7D208 at=#898 from=L903 to=L903 UBP offset= +016C2 id=B903CE24 at=#1 � from=L903 to=L903 SLB terminal is L903 - Source Listing Breakpoints are off. Listing view profile: Default. Single-step no less than 002 statements. � * Entry not active * End of Report *

-------------------------------------------------------------------------------PF1:Top PF7:Up PF8 or Enter:Down PF3 or Clear:End PF4:Refresh. Page 001

This report provides the following information:

� The global ABP (Automatic Breakpoint) facility is active. This means monitoredprograms will receive breakpoint displays when an error triggers an automaticbreakpoint.

� There is no global ABP terminal.

� The checkpoint recording facility is in effect. The interval between checkpoints is30 minutes.

� The last checkpoint occurred at 9:45 a.m.

� The next line identifies the program for which the status report was generated asCOBDEMO.

Page 308: CA-Intertest for CICS User Guide

Initiating Monitoring

9–64 CA-InterTest for CICS User Guide

� The rest of the report indicates the options currently active for COBDEMO. Inthis example, only Unconditional Breakpoints (UBP) are active for this program.For each breakpoint, the report provides the information shown in the followingtable.

Field Information

offset= The breakpoint location is defined as a hexadecimal offset fromthe beginning of the program.

id=hhhhhhhh The breakpoint ID number assigned by CA-InterTest.

at=location The symbolic location specified when the breakpoint was set. Anumber preceded by a # sign refers to a statement number,except for #1, which refers to the first executable instruction.

from=termid The ID of the terminal where the program must be executing forthe breakpoint to take effect.

to=termid The ID of the terminal that will receive the breakpoint display.

Note: If you do not see the message, End of Report, the report is too long to fiton one screen. Press Enter to display more of the report.

� *Entry not active*. This indicates that CA-InterTest is not currently monitoringthe program.

Utility Functions

You can use the utility functions to produce CA-InterTest reports and to resetmonitoring for a recompiled program. To select utility functions, specifyFunction 31 on the Function Selection Menu, and press Enter. Refer to theFunction Selection Menu section for detailed instructions. The Utility Options screenis displayed, as illustrated below:

CA-InterTest MONITORING COMMAND BUILDER - UTILITY OPTIONS 31

ENTER X NEXT TO EACH DESIRED KEYWORD:

FUNCTION KEYWORD OPTIONAL HARDCOPY PRINTOUT

List CA-InterTest tables LIST _ TD queue ____ List programs in symbolic file SYM _ TD queue ____ Global monitoring report INQ _ TD queue ____ List program in symbolic file SYM _ Program name ________ New program copy NEW _ Program name ________

Page 309: CA-Intertest for CICS User Guide

Initiating Monitoring

CNTL Commands and Menus 9–65

The following functions can be specified on this screen. The equivalent functionused in single-line commands is specified in parentheses.

List CA-InterTest tables (LIST)—Requests a list of all the programs,transactions, and terminals CA-InterTest has been instructed to monitor or not tomonitor. The report also lists the programs CA-InterTest will monitor as a resultof the FOL special option.

List programs in symbolic file (SYM)—Requests a list of all the programs inCA-InterTest's symbolic file. For each program, this report lists its date and timeof compilation, the number of records it occupies in the file, whether it can bepurged, and whether it was compiled with the LISTER option.

Global monitoring report (INQ)—Requests a report of all CA-InterTestmonitoring activity.

List one program in symbolic file (SYM)—Requests information for oneprogram in the CA-InterTest symbolic file. It lists the date and time ofcompilation, the number of records it occupies in the file, whether it can bepurged, and whether it was compiled with the LISTER option.

New program copy (NEW)—Resets symbolically specified breakpoints and othermonitoring options for a recompiled program. Also resets the entry in the PPTTable to the program's new library address.

Note: The reports produced by the options LIST, SYM, and INQ might be toolong to fit on one screen. Press Enter to display more of the report. To write areport to a transient data queue, enter the name of the TD queue.

Setting System-Wide Options

You can set certain options on a system-wide basis. Specify Function 32 on theFunction Selection Menu, and press Enter. Refer to the Function Selection Menusection for detailed instructions. The System-Wide Options screen is displayedas illustrated below:

CA-InterTest MONITORING COMMAND BUILDER - SYSTEM-WIDE OPTIONS 32

Select one or more of the following actions:

FUNCTION KEYWORD ACTION (ON / OFF)

Automatic breakpoint ABP ___ Terminal to receive breakpoint ____ Global logging GLOG ___ System-wide monitoring ALL ___

Select one of the following options:

Purge breakpointed tasks PURGE ___ Interval in format HHMM ____ Checkpoint CA-InterTest tables CKPT ___ Interval in format HHMM ____

Page 310: CA-Intertest for CICS User Guide

Initiating Monitoring

9–66 CA-InterTest for CICS User Guide

The following options can be specified on this screen. The equivalent optionused in single-line commands is specified in parentheses. Enter ON to set anoption and OFF to remove it.

Automatic breakpoint (ABP)—Sets the Automatic Breakpoint Facility for theentire system; the default. Breakpoint displays are routed to the terminal wherethe program is running. Specify a terminal ID to indicate where breakpointdisplays should be routed for non-terminal attached tasks and for tasksexecuting from non-3270 terminals.

If you specify OFF for the ABP option, you might want to use the Special Optionsscreen (Function 22) to set the local Automatic Breakpoint option for one or moreprograms. The local Automatic Breakpoint option overrides the systemAutomatic Breakpoint option.

Global logging (GLOG)—Requests global logging of CA-InterTest activity: mostCNTL commands and all changes to main storage.

System-wide monitoring (ALL)—Instructs CA-InterTest to monitor allapplication programs in the system, except those with the prefix DFH (IBM CICSprograms) or IN25 (CA-InterTest programs).

Only one of the following two options can be specified at one time. To set bothfacilities, return to the Function Selection Menu and specify Function 32 again.

Purge breakpointed tasks (PURGE)—Instructs CA-InterTest to periodicallypurge tasks halted at a breakpoint for longer than the specified interval. The firstpurge occurs when the option is specified. Subsequent purges occur at the endof the interval, specified in hours and minutes in this format hhmm. Theminimum time interval is 20 minutes.

Checkpoint CA-InterTest (CKPT)—Instructs the Checkpoint Recording Facilityto record periodically the status of CA-InterTest monitoring so that you can usethe restart feature. The first checkpoint occurs when the option is specified.Subsequent checkpoints occur at the end of the interval, specified in hours andminutes in this format hhmm. The minimum time interval is 10 minutes.

Note: These options are password protected unless your site has removed thisrestriction.

Page 311: CA-Intertest for CICS User Guide

Initiating Monitoring

CNTL Commands and Menus 9–67

Resuming Task Execution

When a task is halted at a breakpoint, you can request that execution of the taskresume. Specify Function 33 on the Function Selection Menu and press Enter.Refer to the Function Selection Menu section for detailed instructions. Thefollowing screen is displayed:

CA-InterTest MONITORING COMMAND BUILDER - RESUME TASK EXECUTION 33

Press ENTER without options to resume execution of the breakpointed task _____�

OR enter one or more of the following options:

To RESUME EXECUTION at a different location, enter ONE new location:

COBOL paragraph, Assembler or PL/1 label: _______________________________ �COBOL or PL/1 statement number: _____ � Offset: _____ �

To MOVE this breakpoint enter ONE new location, OR enter X to DISABLE it:____ �

COBOL paragraph, Assembler or PL/1 label: _______________________________ �

COBOL or PL/1 statement number: _____ � Offset: _____ �

To AUTO STEP, enter #n for COBOL verbs or PL/1 STMTS or n for instrucs: with a n second WAIT between breakpoints: to HALT at a CALL, enter X � OR after n steps are reached:

To take a DUMP before continuing, enter a 1 to 4 digit dump code: � To ABEND transaction, enter dump code or XXXX if no dump is desired: �

Complete this screen as follows:

� Field � contains the number of the task (if any) waiting at a breakpoint thatmost recently sent a breakpoint display to your terminal. To resume executionof this task, simply press Enter. To resume execution of a different task, enterits task number in this field, and then press Enter.

You can also specify one or more of the following options:

� Resume task execution at a new location by specifying the COBOL paragraphname, Assembler or PL/I label in field �, the COBOL or PL/I statementnumber in field �, or the COBOL, PL/I, or Assembler offset in field �.

WARNING! Do not resume execution at a new location in optimized code. In PL/Iprograms, do not resume execution at a new location if it results in a jump betweenPROCS/BLOCKS.

� To disable (cancel) the current breakpoint, enter an X in field �.

Page 312: CA-Intertest for CICS User Guide

Initiating Monitoring

9–68 CA-InterTest for CICS User Guide

� Resume task execution and move the current breakpoint to a new location byspecifying the new COBOL paragraph name, Assembler label, or PL/I label infield �, the COBOL or PL/I statement number in field �, or the COBOL, PL/I,or Assembler offset in field �.

� To execute a specified number of COBOL verbs, PL/I statements, orinstructions before halting the task again, specify the number in field .

� To automatically repeat single-stepping after a specified number of seconds,enter a number from 1 to 59 in field .

� To halt automatic single-stepping at a CALL or CICS command or macro,enter X in field �.

� To halt automatic single-stepping after a specified number of steps, enter anumber from 1 to 9999 in Field .

� To take a dump before continuing, enter a one- to four-digit dump code in field�. This code cannot begin with an A.

� To abend the task, enter a one- to four-digit dump code or XXXX (if no dumpis desired) in field �. This code cannot begin with an A. Do not specify thisoption in conjunction with options 2, 3, 4, 9, or 10.

Example The following screen illustrates how to specify task resumption.

CA-InterTest MONITORING COMMAND BUILDER - RESUME TASK EXECUTION 33

Press ENTER without options to resume execution of the breakpointed task _____ OR enter one or more of the following options:

To RESUME EXECUTION at a different location, enter ONE new location: COBOL paragraph, Assembler or PL/1 label: task-number-for-msg____________ COBOL or PL/1 statement number: _____ Offset: _____

To MOVE this breakpoint enter ONE new location, OR enter X to DISABLE it: _ COBOL paragraph, Assembler or PL/1 label: _______________________________ COBOL or PL/1 statement number: _____ Offset: _____ To AUTO STEP, enter #n for COBOL verbs or PL/1 STMTS or n for instrucs: #3___ with a n second WAIT between breakpoints:____ to HALT at a CALL, enter XOR after n steps are reached:____

To take a DUMP before continuing, enter a 1 to 4 digit dump code: ____ To ABEND transaction, enter dump code or XXXX if no dump is desired: ____

Resume Task Execution Screen

This screen specifies that the task:

� Resume at a new location: TASK-NUMBER-FOR-MSG.

� Execute three COBOL verbs before halting again.

Page 313: CA-Intertest for CICS User Guide

Accessing Main Storage: CORE 10�1

Chapter

10 Accessing Main Storage: CORE

This chapter includes the following topics:

� Using the main storage facilities (CORE), both structured and dump storagedisplays

� Using the menus to access storage areas. Submenus include:

� Breakpoint Areas Menu

� System Areas Menu

� Task Areas Menu

� Using the CORE commands to display and modify storage areas

� CORE commands for PL/I users

Using the Main Storage Facilities (CORE)

CORE is the CICS transaction supplied with CA-InterTest for CICS that givesyou access to main storage areas both before and during a test session.Application programmers typically use CORE interactively to examine andmodify areas of main storage while their program is stopped at a breakpoint.You also can use CORE to examine and change (subject to password restriction)the contents of CICS tables and control blocks with or without a program at abreakpoint. CORE is independent of the rest of CA-InterTest for CICS and canbe used when the CA-InterTest for CICS monitor is not active.

You can use CORE in three ways:

� Source Listing Facility action characters: Use a d or m on the Source ListingBreakpoint screen to display or modify breakpoint-related storage. Thismethod is discussed in the �The Source Listing Facility� chapter.

� Main Storage Menus: Use Option 3 Main Storage from the Primary OptionMenu to access the Main Storage menu for CORE facilities. From abreakpoint, just type CORE on the command line to go directly to the MainStorage menu.

Page 314: CA-Intertest for CICS User Guide

Main Storage Capabilities

10�2 CA-InterTest User Guide

The Main Storage menu lets you access storage related to CICS system, task,and breakpoint areas without using any command syntax. (The menus buildCORE commands for you.) Instructions on how to access and complete themenus are discussed later in this chapter.

� CORE commands: Once you become familiar with CA-InterTest, you canuse the CORE command formats and advanced options. You can enterCORE commands at the bottom of a CORE facility display, in the commandline of any breakpoint or Source Listing display, or directly from CICS.

Main Storage Capabilities

Using Main Storage facilities of CA-InterTest for CICS, you can do any of thesefunctions:

� Display areas of CICS main storage

� Program-related areas such as data items or the COMMAREA

� Task-related areas such as the TCA or FWA

� System-related areas such as the CSA, CICS tables, or BMS maps

� Qualified, indexed, or subscripted COBOL data names

� Display a data structure in COBOL DMAP sequence, Assembler DSECTsequence, or CICS areas in DSECT sequence

� Modify areas of CICS main storage by

� Directly typing over the displayed data

� Filling in a pre-formatted MOVE command

� Moving data from one location to another

� Scan backward and forward through CICS main storage for specified datastrings

� Load or delete a program load module

� Dynamically acquire CICS main storage

� Dump a specified area to the dump data set

If you display a COBOL data item when your program is at a breakpoint,CA-InterTest for CICS formats the field according to its definition anddetermines whether the field's current value is valid. For example, if you useCORE to display the contents of a COMP-3 field that contains low-values such asbinary zeros, CA-InterTest for CICS automatically informs you that the fieldcontains invalid data. In addition, if the field is numeric, such as hexadecimal orpacked decimal, CA-InterTest for CICS displays its decimal value.

Page 315: CA-Intertest for CICS User Guide

The Structured Format

Accessing Main Storage: CORE 10�3

CORE Main StorageDisplays

The CORE facility provides two storage display formats: structured and dump.When available, the structured format is the default.

The structured format gives field names and displays storage field-by-field,which makes it easy to read and modify. The structured format displays aCOBOL data structure in DMAP (OS/390) or SYM MAP (VSE) sequence, anAssembler data structure in DSECT sequence, and common CICS areas inDSECT sequence. You do not have to know or remember field lengths todetermine their contents. The basic format of the structured display is:

field hexadecimal value character value

By contrast, the traditional dump format starts from a given point (which you specify)and is a continuous stream of values. You have to remember field lengths to knowwhere one field stops and the next one starts.

Both formats provide similar functional capabilities, including:

� Full-screen edit permits you to dynamically modify displayed storage

� CORE command line displays the last CORE command executed. You canchange this command to any CORE or CNTL command.

� Message line notifies you of: invalid storage values, the values of numeric data,additional CORE requests queued for display, or if the requested storage areawas not found.

� PF keys allow you to scroll, switch the format displayed, access help, and returnto a menu or breakpoint.

The Structured Format

There are two versions of the structured format:

� One for COBOL and PL/I

� One for Assembler and CICS data structures

The COBOL and PL/I Structured Display

You obtain a structured display by default when accessing main storage from:

� Source Listing Breakpoint screens

� Main Storage menus

To obtain a structured display when using CORE commands at the bottom of acurrent storage display, enter the command and press PF12 Structure.

Page 316: CA-Intertest for CICS User Guide

The Structured Format

10�4 CA-InterTest User Guide

Note: If you request a storage display and a structured format is not available,the dump format and a message are displayed.

The following figure illustrates the structured format for a COBOL datastructure.

{�

��

CA-InterTest - MAIN STORAGE UTILITY - Termid = X520

Starting at Address = 213BC4 Hexadecimal Character

01 TASK-STRUCTURE � �02 TASK-SWITCH | 40 |

02 TASK-SWITCH2 | F0F0 | 00

02 TASK-SWITCH3 | 40 |

02 TASKNUM | 000000 | ...

02 TASK-TEXT | 00000000 00000000 00000000 | ............

| 00000000 00000000 00000000 | ............

| 00000000 00000000 | ........

______________________________________________________________________________

PF1 Help 2 3 End 4 Return 5 6

PF7 Backward 8 Forward 9 Caps Off 10 11 Redisplay 12 Structure

CORE='TASK-STRUCTURE'

CORE067 AT LAST ENTRY IN STRUCTURE

A COBOL Structured Display of Main Storage

The structured format displays COBOL data in DMAP (OS/390) or SYM MAP(VSE) sequence. The structure of a PL/I variable is presented similarly. Eachfield is discussed next.

� Starting Address of the first item displayed. This is calculated from the contentsof the BL and BLL cell and displacement for the requested data name.

� DMAP or SYM MAP data levels and names for the requested structure.A 77-level item is displayed individually; other structured displays begin withthe requested data item and include any items below it in the same 01 level.

� Hexadecimal display area gives the storage contents of each field named on theleft. Each byte is displayed as two hexadecimal digits, with spaces inserted afterevery four bytes. Up to 12 bytes are displayed per line. Fields longer than 12bytes have multiple lines of hexadecimal display. This area is unprotected andcan be overtyped to dynamically modify the data values displayed.

Note: Data areas defined in the DMAP or SYM MAP with a length of zero (forexample, 0F or 0C13) will not be displayed.

� Character display area gives the character representation of each displayablebyte for the field on the left. Hexadecimal 40s display as spaces; non-displayablebytes are indicated by periods. This area is unprotected and can be overtyped todynamically modify the data values displayed.

Page 317: CA-Intertest for CICS User Guide

The Structured Format

Accessing Main Storage: CORE 10�5

� PF keys are listed below the storage display. Each is defined in the sectionPF Keys with the Structured Displays.

� CORE command line displays the CORE command entered or generated from aSource Listing Breakpoint storage request or a CORE menu. To request anotherstructured display, modify the CORE command and press PF12. To request adump format of a CORE display or to enter a CNTL command, modify thecommand and press Enter.

Message line. Always check the message line on a CORE display. This messagestates that the end of the requested data structure has been reached. (You canalways page backward to display the beginning of a data structure or pageforward when you are not at the end of the structure.) However, this messageline also tells you if the requested area could not be found (the display shows thelast area pointed to by CORE or the CSA), or if a COBOL field or PL/I variabledisplayed from a breakpoint contains valid data. An error message indicateswhen a field is invalid.

The Assembler and CICS Areas Structured Display

You obtain a structured display by default when accessing Assembler mainstorage from:

� Source Listing Breakpoint screens

� Main Storage menus

To obtain a structured display when executing a CORE command from anexisting CORE display, type the command and press PF12 instead of Enter.

Note: If a structured format is not available for the requested area or data, thedump format and a message are displayed.

Page 318: CA-Intertest for CICS User Guide

The Structured Format

10�6 CA-InterTest User Guide

The following figure gives the structured format for Assembler and CICS areas.The fields are displayed in DSECT sequence.

��

CA-InterTest - MAIN STORAGE UTILITY - Termid = X520

� � � �Starting at Address = 181AA8 Disp Hexadecimal Character

TASKNUM 101 |00000C |...

TSTEXT 104 |00000000 00000000 00000000 |............

|00000000 00000000 00000000 |............

|00000000 00000000 |........

MSGNAME 124 |00000000 |....

MSGLEN 128 |01D5 |.N

RECRBA 12A |00000000 0000 |......

RECPONT 130 |00000000 |....

134 |00 |.

DMAP04AS 134 | |

134 |00000000 00000000 00000000 |............

RECOUT1L 140 |0000 |..

RECOUT1F 142 |00 |.

RECOUT1A 142 |00 |.

RECOUT1I 143 |00000000 00000000 00000000 |............

|00000000 00000000 00000000 |............

------------------------------------------------------------------------------

PF1 Help 2 3 End 4 Return 5 6

PF7 Backward 8 Forward 9 Caps Off 10 11 Redisplay 12 Structure

CORE='R13.TASKNUM'

Assembler Structured Display of Main Storage

Each field is discussed below:

� Individual field names as defined in the DSECT.

� CICS address of each field.

� Displacement column is the field's relative hexadecimal displacement within theDSECT.

� Hexadecimal display area gives the storage contents of each field named on theleft. Each byte is displayed as two hexadecimal digits with spaces inserted afterevery four bytes. Up to 16 bytes are displayed per line. Fields longer than 16bytes have multiple lines of hexadecimal display. This area is unprotected andcan be overtyped to dynamically modify the data values displayed.

� Character display area gives the character representation of each displayablebyte for the field on the left. Hexadecimal 40s display as spaces; non-displayablebytes are indicated by periods. Overtype this area to dynamically modify thedata values displayed.

� PF keys are listed below the storage display. Each is defined in the sectionPF Keys with the Structured Displays.

Page 319: CA-Intertest for CICS User Guide

The Structured Format

Accessing Main Storage: CORE 10�7

CORE command line displays the CORE command entered or generated from aSource Listing Breakpoint storage request or a CORE menu. To request anotherstructured display, modify the CORE command and press PF12. To request adump format of a CORE display or to enter a CNTL command, modify thecommand and press Enter.

Message line. Always check the message line on a CORE display. If therequested area could not be found (the display shows the last area pointed to byCORE or the CSA), a message on this line states this.

Using Another Program's Data Definitions (USE Option)

Structured display is normally used to format an application's storage area withits own data definitions. However, any CICS storage area can be formatted withany program's data definitions. To use another program's data definitions, addone of the following specifications as the last element in a CORE command:

=USE=progname.dataname or =USE=*.dataname

progname specifies the name of the program that contains the structuredinformation.

dataname specifies the name of the data item that is to be used as the startingpoint for the structured display.

* specifies the program currently stopped at a breakpoint.

Examples Each command is preceded by an explanation of how it works.

� To display the area pointed to by register 1 according to the data definitionof COMAREA in the program that is stopped at a breakpoint, enter:

CORE@R1=USE=*.COMAREA

� To display the first FWA area according to the data definition of RECORD1,which is in the TESTMAST program, enter:

CORE=FWA=USE=TESTMAST.RECORD1

Page 320: CA-Intertest for CICS User Guide

The Structured Format

10�8 CA-InterTest User Guide

Structured Displays of DSECTs in PRINT OFF Areas

To obtain a structured display for a DSECT in a PRINT OFF area:

1. Create an Assembler job containing your common DSECT layouts and usethe CA-InterTest post-processor step. To save space in the CA-InterTestSymbolic File:

� Do not specify the LISTER option.

� Do not link-edit the module.

� No PPT entry is necessary.

The module name must be unique in the CA-InterTest Symbolic File, orcreate one program containing all the common DSECTs and have themprinted in the Assembler listing.

2. To reference the module created in Step 1, add the following USE option toyour CORE commands:

CORE=USE=modulename

This command instructs CORE to use the named module instead of theprogram stopped at a breakpoint when interpreting any symbolic names inthe command.

Example To obtain a structured display of the USER TCA, which is the DFHTCADSDSECT whose address is in register 12 and is saved in the module TESTMAST,enter:

CORE='R12.DFHTCADS'=USE=TESTMAST

Page 321: CA-Intertest for CICS User Guide

The Structured Format

Accessing Main Storage: CORE 10�9

Structured Displays of Common CICS Areas

The common CICS Areas that can be displayed in a structured format(Assembler DSECT layout) depend on your CA-InterTest for CICS installation.The default system areas available in a structured format are listed below.

CORE Keyword CICS Area

CLOT CICS Life-Of-Task Block (OS/390 only)

CSA Common System Area

DCA Destination Control Area

DCT Destination Control Table

DDIR DL/I DBD Directory

EIB EXEC Interface Block

EIS EXEC Interface Structure

FCT File Control Table

FWA File Work Area

FIOA File I/O Area

OPFL Optional Features List

PCT * Program Control Table

PDIR DL/I PSB Directory

PPT * Program Processing Table

RCT Resource Control Table (OS/390 only)

RDIIN Application Invocation Parameter List (OS/390 only)

SIT System Initialization Table

SQLCA SQL Communication Area (OS/390 only)

TACB Transaction Abend Control Block

TCA Transaction Control Area

TCT Transaction Control Table

VSWA VSAM Work Area

*Not available with CICS Release 4.1.

� To add or subtract areas from the above list, consult the CA-InterTest GettingStarted.

Page 322: CA-Intertest for CICS User Guide

The Structured Format

10�10 CA-InterTest User Guide

� To obtain a structured display of system areas, use the System Areas Menuor enter a CORE command, and press PF12.

PF Keys with the Structured Displays

PF Key Function

PF1 Help Initiates the CA-InterTest online Help facility.

PF2 Unassigned

PF3 End Exits the current menu or CORE display. If at a breakpoint,returns to the breakpoint display. Clear performs the samefunction.

PF4 Return Returns to the Primary Option Menu or exits to CICS.

PF5 Unassigned

PF6 Unassigned

PF7 Backward Scrolls the current CORE display one page backward.

PF8 Forward Scrolls the current CORE display one page forward.

PF9 Caps Off orCaps On

Sets the mode of translation when changing data in thecharacter area of the display. When Caps Off is displayed, allcharacter data on the line is translated to uppercase. WhenCaps On is displayed, all character data is accepted as typed.To change from one mode to the other, simply press PF9.

Note: Translation to uppercase will not occur if an existinglowercase character on that line would be affected; a message isissued instead.

PF10 Varies according to what is displayed.

PF11 Redisplay Redisplays the current screen with only the contents of storagebeing refreshed.

PF12 Structure Displays requested fields in a structured format.

Note: You can use PF13 to PF24 to perform the same functions as PF1 to PF12.

Page 323: CA-Intertest for CICS User Guide

The Dump Format

Accessing Main Storage: CORE 10�11

The Dump Format

The dump format is similar to a transaction dump printout, with a hexadecimaldisplay area on the left and a character display area on the right. You can obtaina dump format in the following ways:

� Use the Source Listing Breakpoint screen to display or modify a data item orarea without a structure such as object code.

� Press Enter when completing a CORE menu or executing a CORE command.

The following figure illustrates the dump format display of the CICS CSA(Common System Area).

CA-InterTest - MAIN STORAGE UTILITY - Termid = X520 ��Offset � � Address Task+ 0 00000000 00104FA8 001056F0 504CC492 * ......y....0&<Dk * 55EAE0 921+ 10 00BA8000 004CEA90 00203004 9054A00C * .....<.......... * 55EAF0+ 20 0000001B 001FD48A 405499DA 4054D400 * ......M. .r. .M. * 55EB00 Page�+ 30 0054A9DA 001FD480 00203004 004EA410 * ..z...M......+u. * 55EB10 +000+ 40 004CE800 0021F140 0010999C 0021F140 * .<Y...1 ..r...1 * 55EB20+ 50 1858387F 001FE6E0 03E80100 00000000 * ..."..W..Y...... * 55EB30 CSA+ 60 00683F03 00012C00 007F9308 000095BC * ........."l...n. * 55EB40+ 70 0000A000 00105800 00569000 0087362F * .............g.. * 55EB50+ 80 00560190 E0FFFFBE 0000004B 00561438 * ................ * 55EB60+ 90 0000007B 00000000 00382030 D438C616 * ...#........M.F. * 55EB70+ A0 00000000 001FE580 001FE240 001FE190 * ......V...S .... * 55EB80+ B0 001FE300 0055F1B8 0055F388 C500FF00 * ..T...1...3hE... * 55EB90+ C0 000A0004 00000400 0055EEE0 00000000 * ................ * 55EBA0+ D0 00000000 00000000 007F9308 00000000 * ........."l..... * 55EBB0+ E0 40558718 004CC010 004BF9C0 00551CB0 * .g..<....9..... * 55EBC0+ F0 00492556 004CEF30 004BA0B8 004AC100 * .....<.......cA. * 55EBD0+ 100 004AEE94 0049E10A 0048AF74 0047ABD0 * .c.m............ * 55EBE0______________________________________________________________________________

�PF1 Help 2 3 End 4 Return 5 6PF7 Backward 8 Forward 9 Caps Off 10 11 12 StructureCORE=CSA

Each field in the display is defined below:

� Offset gives the hexadecimal displacement of the first byte of data on that linerelative to the first byte of data on page number 0. Page number 0 is the firstscreen of a CORE display.

� Hexadecimal display area shows each byte of data as two hexadecimal digits.Data is displayed 16 bytes per line, with spaces inserted after every four bytes(eight hexadecimal digits). The maximum size of a single CORE display is 17lines, or 272 (hexadecimal 110) bytes of data.

� Character display area gives the character representation for each displayablebyte. Hexadecimal 40s display as spaces; non-displayable bytes are indicated byperiods. The columns of asterisks are not part of the data.

� Address is the CICS hexadecimal address of the first byte of the line.

Page 324: CA-Intertest for CICS User Guide

The Dump Format

10�12 CA-InterTest User Guide

� Task gives the task number of the breakpointed task for breakpoint-relatedstorage displays. For task-related storage displays, gives the task numberspecified. (The default for task-related storage is also the task number of thebreakpointed task.)

� Page. Page numbers are relative to the initial screen display. Paging forwardwith PF8 increases the page count; paging backward with PF7 decreases the pagecount.

The area below the display area includes the following:

� PF Key list.

� The command line in the Dump Format of CICS CSA displays the last COREcommand entered or generated for the current display. To request astructured format of the current CORE display, press PF12. To requestanother CORE display or to enter a CNTL command, modify the commandand press Enter (for a dump format or a CNTL command) or PF12 (for astructured format).

� The message line follows the command line and can contain valuableinformation. Always read the message line on a CORE display.

If CA-InterTest could not locate a requested display area, the error messageindicates that the requested area was not found. When this occurs,CA-InterTest displays the dump format of the last or default CORE pointerlocation. The default area is the CSA.

Some messages can help you troubleshoot problems in storage. For example,whenever you are stopped at a breakpoint and request a COBOL storagedisplay, CA-InterTest automatically checks that the fields in the displaycontain valid data (according to their definitions). An error message tellsyou which fields are invalid and why.

Page 325: CA-Intertest for CICS User Guide

The Dump Format

Accessing Main Storage: CORE 10�13

Dump Display PF Keys The following table explains what each key on the Dump Display does.

PF Key Function

PF1 Help Initiates the CA-InterTest online Help facility.

PF2 Unassigned

PF3 End Terminates the current menu or CORE display. If at abreakpoint, returns to the breakpoint display. Clear performsthe same function.

PF4 Return Returns to the Primary Option Menu or exits to CICS.

PF5 Unassigned

PF6 Unassigned

PF7Backward

Scrolls the current CORE display one page backward.

PF8 Forward Scrolls the current CORE display one page forward.

PF9 Caps Offor Caps On

Sets the mode of translation when changing data in the characterarea of the display. When Caps Off is displayed, all characterdata on the line is translated to uppercase. When Caps On isdisplayed, all character data is accepted as typed. To changefrom one mode to the other, simply press PF9.

Note: Translation to uppercase will not occur if an existinglowercase character on that line would be affected; a message isissued instead.

PF10 Unassigned

PF11 Unassigned

PF12Structure

Displays requested fields in a structured format.

Note: You can use PF13 to PF24 to perform the same functions as PF1 to PF12.

Page 326: CA-Intertest for CICS User Guide

Accessing Storage from the Menus

10�14 CA-InterTest User Guide

Accessing Storage from the Menus

Access the Main Storage (CORE) menus as follows:

� From a Source Listing breakpoint or display, enter CORE on the topCommand line and press Enter.

� From the Primary Option Menu, enter Option 3 Main Storage.

CA-InterTest for CICS displays the Main Storage Menu. The submenus availablefrom the Main Storage Menu are illustrated below.

System Areas Breakpoint areas

MENU

ComplexCOBOL

Data Names

PF 9

Task Areas

Option 1 Option 2 Option 3

Menu

Main Storage

Menu Menu Menu

Breakpoint Access to CORE Menus

After completing a CORE menu, press Enter to obtain a structured display ofmain storage. From a structured display, press Enter if you want the dumpformat. The two formats are discussed in the section CORE Main StorageDisplays.

Note: The following section explain how to complete the menus.

Page 327: CA-Intertest for CICS User Guide

Accessing Storage from the Menus

Accessing Main Storage: CORE 10�15

The table below summarizes what you can do from each Main Storage menu.

Main Storage Option Functions

1 System Areas Display, change, or scan: CICS system areas (ADCH,ATRT, CSA, DCT, FCT, OPFL, PAM, PPT *, PCT *, SDCH,TCT, TRT); individual table entries in the PPT *, FCT,PCT *, TCT, or DCT; CICS addresses.

Display, load, or delete program load modules and BMSmaps.

Change functions can be password-protected.

2 Task Areas Get storage for a task. Display, change, or scan storage forthese task-related CICS areas: CLOT, DWE, FBWA, FIOA,FWA, JCA, LLA, PLCB, PTA, SQLCA, SQLRCODE,RDIIN, RSA, SMX, STCA, TACB, TASKENT, TCA, TDIA,TDOA, TIOA, TSIOA, TWA, USER, VWSA, XMTXN.

3 Breakpoint areas Display, change, scan, or verify the following breakpoint-related data: data items, registers, or program locations;special elements (includes Breakpoint Message, COBOLBLL cells, COMMAREA, Facility Control Area, COBOLTGT, Saved Screen Image, COBOL Working-storage, ExecInterface Block, TCT User Area); access the Complex datamenu to display qualified, indexed, and subscriptedCOBOL data names when at a breakpoint.

*Not available with CICS Release 4.1.

Note: Additional keywords can be used to access other areas. See the Help Filefor an expanded list.

Page 328: CA-Intertest for CICS User Guide

Accessing Storage from the Menus

10�16 CA-InterTest User Guide

PF Key Use at a COREMenu

To access another CORE menu or exit from a CORE menu, use any of the PF keyslisted in the following table.

PF Key Function

PF1 Help Initiates the CA-InterTest online Help facility.

PF2 Unassigned

PF3 End * Exits the CORE menu or display. When stopped at abreakpoint, use PF3 or Clear to restore the currentbreakpoint display. You might need to use the key morethan once.

PF4 Return Returns to the Primary Option Menu.

PF5 Unassigned

PF6 Unassigned

PF7 Unassigned

PF8 Unassigned

PF9 Complex Data From the Breakpoint menu, displays the menu for viewingqualified, indexed, and subscripted COBOL data; from theSystem and Task menus, PF9 is unassigned.

PF10 Unassigned

PF11 Unassigned

PF12 Structure Displays requested fields in a structured format.

Note: PF13 to PF24 perform the same functions as PF1 to PF12, respectively.

Page 329: CA-Intertest for CICS User Guide

Breakpoint-Related Areas Menu

Accessing Main Storage: CORE 10�17

Breakpoint-Related Areas Menu

When your task is stopped at a breakpoint, you can display, change, or scanstorage relating to the current program or task. From any breakpoint, enterCORE on the command line. From the Main Storage menu, select 3 Breakpointareas.

CA-InterTest for CICS responds by displaying one of three Breakpoint menus,depending on whether your program is written in COBOL, Assembler, or PL/I.The COBOL menu is shown below. Menus used for PL/I and Assemblerprograms are similar and are described next.

CA-InterTest CORE COMMAND BUILDER - BREAKPOINT-RELATED AREAS (CORE=Bkpt)

Specify area to be displayed, changed or moved: Task number: 00136

COBOL name: ______________________________

Special element: ________ (Enter highlighted keyword)SSCR Saved screen image BMSG Breakpoint message CMAR CommareaFCAR Facility cntl area EIB Exec interface block TUAR TCT user areaBLLS COBOL BLL CELLS CWK COBOL WORKING STORAGE TGT COBOL TGT

SCAN VALUE: _________________________________________ DATA FORMATSSCAN RANGE: ______ B to scan backwards: _ -----------------

| P' ' = Packed |To VERIFY and/or CHANGE Data: | X' ' = Hex |Existing data: ______________________________________ | C' ' = Char |

New data: ______________________________________ -----------------

MOVE From ______________________________ To ______________________________

PF1 Help 2 3 End 4 Return 5 6PF7 8 9 Complex 10 11 12

You can use this menu to:

� Display storage

� Dynamically modify storage

� Verify the contents of storage

� Search storage (scan) for a data string

All storage areas relate to your current task, which is indicated by the number inthe upper-right corner of the screen. You can overtype the task number to accessstorage relating to another task stopped at a breakpoint.

Page 330: CA-Intertest for CICS User Guide

Breakpoint-Related Areas Menu

10�18 CA-InterTest User Guide

Displaying Storage

Use the COBOL name or Special element field to specify the starting location (thefirst byte) of the area to be displayed.

Note: To display qualified, indexed, or subscripted COBOL data names, do notenter a COBOL name on this screen. Instead, press PF9 to access theCORE=Complex COBOL Data Names screen.

COBOL name Specify a COBOL variable, a data item, or a paragraph name. (If you enter aCOBOL paragraph name, CA-InterTest displays the program code at thatlocation.)

Special Element Specify one of the CORE keywords highlighted on the screen to display a specialelement. Most special elements are familiar storage areas, such as theCOMMAREA and COBOL WORKING-STORAGE. The SSCR (Saved screenimage) is a special CA-InterTest area that lets you view the last screen displayedby your program before it was stopped at the current breakpoint.

After specifying a COBOL name or Special element, press Enter to obtain astructured display in COBOL DMAP sequence. To obtain a dump display, pressEnter a second time.

Examples To display the contents of the data item TASKNUM in a structured format,specify the following, and press PF12.

COBOL name: TASKNUM

To display the COBOL Working-Storage area for the task currently stopped at abreakpoint, specify the following, and press PF12 for a structured display.

Special element: CWK

To display the EXEC Interface Block (EIB) in a COBOL DMAP sequence, specifythe following, and press PF12.

Special element: EIB

Page 331: CA-Intertest for CICS User Guide

Breakpoint-Related Areas Menu

Accessing Main Storage: CORE 10�19

Displaying Qualified, Indexed, or Subscripted COBOL Data Names

To display qualified, indexed, or subscripted COBOL data names, press PF9while you are viewing the Breakpoint-Related Areas Menu (CORE=Bkpt).CA-InterTest for CICS displays the Complex COBOL Data Names screen.Parentheses and commas are not used in the COBOL Complex data menu.

The example below requests a display of TASKNUM OF TASK-TEXT.

CA-InterTest CORE COMMAND BUILDER - COMPLEX COBOL DATA NAMES

Specify area to be Indexed or Subscripted with or without Qualification:

Task number: 00136

Data name: tasknum_______________________OF

� Data name: task-text_____________________

� Index or Subscript1: ______________________________Index or Subscript2: ______________________________Index or Subscript3: ______________________________

PF1 Help 2 3 End 4 Return 5 6PF7 8 9 Complex 10 11 12

Displaying Complex COBOL Data Names

Note: An alternative method of displaying complex data names is to use a d andthe cursor on the Source Listing Breakpoint display. This method saves you fromhaving to type long names. To obtain a Source Listing Breakpoint display, pressPF4, and then follow the instructions in �The Source Listing Facility� chapter.

To display the contents of a qualified data name, specify:

� Field name in the top Data name field

� Group name in the OF Data name field

To display the contents of an indexed or subscripted data name, specify:

� Field name in the top Data name field

� Qualifying group name in the OF Data name field, if applicable

� Indexes or subscripts in the bottom three fields. Specify one index or subscript perfield. Subscripts can be designated either numerically or as data names.

Note: You cannot mix indexes and subscripts.

Page 332: CA-Intertest for CICS User Guide

Breakpoint-Related Areas Menu

10�20 CA-InterTest User Guide

Examples These examples illustrate how to complete the Complex COBOL Data Names Menu.

� To display the subscripted item LEVEL-NAME (SUB-1, SUB-2) where thevalue of SUB-2 is 30, enter:

Data name: level-nameOF Data name:

Index or subscript1: sub-1Index or subscript2: 30Index or subscript3:

� To display the indexed item TABLE-ITEM (INDX-1, INDX-2, INDX-3), enter:

Data name: table-itemOF Data name:

Index or subscript1: indx-1Index or subscript2: indx-1Index or subscript3: indx-3

Dynamically Modifying Storage

To modify storage, use the MOVE line on the Breakpoint-Related Areas Menu.The example below gives TASKNUM a value of zero through the entries shownin the MOVE From and To fields below.

CA-InterTest CORE COMMAND BUILDER - BREAKPOINT-RELATED AREAS (CORE=Bkpt)

Specify area to be displayed, changed or moved: Task number: 00136

COBOL name: ______________________________

Special element: ________ (Enter highlighted keyword)SSCR Saved screen image BMSG Breakpoint message CMAR CommareaFCAR Facility cntl area EIB Exec interface block TUAR TCT user areaBLLS COBOL BLL CELLS CWK COBOL WORKING STORAGE TGT COBOL TGT

SCAN VALUE: _________________________________________ DATA FORMATSSCAN RANGE: ______ B to scan backwards: _ -----------------

| P' ' = Packed |To VERIFY and/or CHANGE Data: | X' ' = Hex |Existing data: ______________________________________ | C' ' = Char |

New data: ______________________________________ -----------------

� MOVE From zeros_______________________ To tasknum_______________________

PF1 Help 2 3 End 4 Return 5 6PF7 8 9 Complex 10 11 12

A COBOL-like MOVE Operation

Note: CA-InterTest for CICS specifies the field's length and data type.

For COBOL programmers, using this menu is the easiest way to modify storagebecause it requires no knowledge of data formats, hexadecimal values, orinternal storage representations.

Page 333: CA-Intertest for CICS User Guide

Breakpoint-Related Areas Menu

Accessing Main Storage: CORE 10�21

To move data into a field, enter:

� Receiving field name in the To field

� Sending field name or a literal value in the From field

Defining Literals The previous figure illustrates how to move a literal keyword into the To field.

� Numeric literals can be decimal strings of up to 18 digits, optionallypreceded by a plus or minus sign.

� Non-numeric literals can be any string of EBCDIC characters enclosed insingle quotes.

� The character string cannot contain a quotation mark.

To specify a keyword in the From field, use any of the keywords listed in thefollowing table.

From Field Keyword Actual Value

ZERO(S) 0

SPACE(S) One or more blanks (X'40')

HIGH-VALUE(S) One or more occurrences of the hexadecimal string FF

LOW-VALUE(S) One or more occurrences of the hexadecimal string 00

QUOTE(S) one or more occurrences of the hexadecimal string 7D (theEBCDIC representation of a quotation mark)

ALL �xx� or ALL nn fills the receiving field with a character string or a decimaldigit.

Examples The following examples demonstrate how to fill a field with a literal.

� To fill the data item FLAG with high-values, enter:

From HIGH-VALUES To FLAG

� To fill COUNTER with low-values (binary zeros), enter:

From LOW-VALUES To COUNTER

� To move the three-byte character string ABC into the DEPT field, enter:

From 'ABC' To DEPT

� To fill the field INITIALS with the character string SF, enter:

From ALL 'SF' To INITIALS

Page 334: CA-Intertest for CICS User Guide

Breakpoint-Related Areas Menu

10�22 CA-InterTest User Guide

Other Ways of Changing Storage

Full-screen edit provides an alternate method of changing storage. It allows you tochange any displayed data by overtyping the hexadecimal or character portions ofdisplayed data with new data. You can overwrite any number of displayed byteswhenever the bytes are contiguous or separate.

Overtyping Data � Hexadecimal display fields can be overtyped with the characters A-F and 0-9.

� Character fields can be overtyped with any character.

� If you overtype the same data on both the hexadecimal and character displayfields, the change made in the character field is done first.

� When overtyping the character portion, the data is either accepted as entered orconverted to uppercase, depending on which mode the CORE transaction is in.

� Uppercase translation occurs when the PF9 key says Caps Off. No translationoccurs when it says Caps On. To change the mode, press the PF9 key beforeentering any data.

� If you enter commands together with changes, the changes are made beforethe commands are executed.

Using Verify and Another way of changing storage is to specify the starting byte of the area youChange Data want to change using the COBOL name or Special element field. Enter the new

data in the New data field. It is a good idea, though not required, to enter the currentdata in the Existing data field. If you do, CORE verifies the field contents beforemaking the data change. If the verification fails, CA-InterTest informs you, andthe change is not made.

Existing and New data can be specified as follows: as a character string (C'...'),hexadecimal value (X'...'), packed data (P'value'), a binary fullword (F'value'), ora binary halfword (H'value') where the value is a decimal number optionallypreceded by a plus (+) or minus (-) sign. If no sign is specified, it defaults to +.

Page 335: CA-Intertest for CICS User Guide

Breakpoint-Related Areas Menu

Accessing Main Storage: CORE 10�23

Example 1. The entries on the following screen illustrate how to change the contents ofthe CUST-NAME field from JIMMY to RONALD.

CA-InterTest CORE COMMAND BUILDER - BREAKPOINT-RELATED AREAS (CORE=Bkpt)

Specify area to be displayed, changed or moved: Task number: 00136

COBOL name: CUST-NAME_____________________

Special element: ________ (Enter highlighted keyword)

SSCR Saved screen image BMSG Breakpoint message CMAR Commarea

FCAR Facility cntl area EIB Exec interface block TUAR TCT user area

BLLS COBOL BLL CELLS CWK COBOL WORKING STORAGE TGT COBOL TGT

SCAN VALUE: _________________________________________ DATA FORMATS

SCAN RANGE: ______ B to scan backwards: _ -----------------

| P' ' = Packed |

To VERIFY and/or CHANGE Data: | X' ' = Hex |

Existing data: C'JIMMY'______________________________ | C' ' = Char |

New data: C'RONALD'_____________________________ -----------------

MOVE From ______________________________ To ______________________________

PF1 Help 2 3 End 4 Return 5 6

PF7 8 9 Complex 10 11 12

Executing the Verify and Change Operation

CA-InterTest performs the requested change only if it verifies that thecurrent contents of CUST-NAME are JIMMY. If CA-InterTest does not findJIMMY in CUST-NAME, it will not perform the change and displays amessage to that effect.

2. To change the contents of CUST-NAME to RONALD regardless of its currentcontents, enter nothing in the Existing data field, and in the New data field enter:

Existing Data:New data: C'RONALD'

3. To confirm the contents of CUST-NAME without changing them, enternothing in the New data field, and in the Existing data field enter:

Existing data: C'JIMMY'New Data:

CA-InterTest informs you whether the prescribed data was found in thedesignated field.

4. You can combine data formats in a single expression. For example, to specifyNew data as the character string KEY-CODE followed by two bytes of binaryzeros, enter:

Existing data:New data: C'KEY-CODE'X'0000'

Page 336: CA-Intertest for CICS User Guide

Breakpoint-Related Areas Menu

10�24 CA-InterTest User Guide

Searching for Data

The Breakpoint-Related Areas Menu also can help you search for data, asillustrated in the following figure.

CA-InterTest CORE COMMAND BUILDER - BREAKPOINT-RELATED AREAS (CORE=Bkpt)

Specify area to be displayed, changed or moved: Task number: 00136

COBOL name: TABLE1________________________

� Special element: ________ (Enter highlighted keyword)SSCR Saved screen image BMSG Breakpoint message CMAR CommareaFCAR Facility cntl area EIB Exec interface block TUAR TCT user areaBLLS COBOL BLL CELLS CWK COBOL WORKING STORAGE TGT COBOL TGT

� SCAN VALUE: C'STEVE F'_______________________________�

DATA FORMATS� SCAN RANGE: 1000__ B to scan backwards: _ -----------------

| P' ' = Packed |To VERIFY and/or CHANGE Data: | X' ' = Hex |Existing data: ______________________________________ | C' ' = Char |

New data: ______________________________________ -----------------

MOVE From ______________________________ To _____________________________

PF1 Help 2 3 End 4 Return 5 6PF7 8 9 Complex 10 11 12

Searching for a Data String

To search for data, make the following entries:

� Specify the starting address of the area to be searched by making anappropriate entry in field � or �.

� In field �, enter the data string you want to search for. The data can bespecified in character (C'character string') or hexadecimal (X'hex data')format. Combined formats are allowed, such as:

C`KEY-CODE'X'FFFF'

� In field �, specify the maximum number of bytes of storage you wantsearched. You can specify it in hexadecimal format or as a decimal numberfollowed by the letter T.

� To search backward from the starting location, enter B in field �. If youleave this field blank, the default is to search forward.

Example The previous figure is set up to search for the character string STEVE F, beginning at theprogram location TABLE1, and searching for 1000 hexadecimal bytes at most.

Page 337: CA-Intertest for CICS User Guide

Assembler Version of the Breakpoint Areas Menu

Accessing Main Storage: CORE 10�25

Assembler Version of the Breakpoint Areas Menu

You can access the CORE Breakpoint-Related Areas Menu for an Assemblerprogram stopped at a breakpoint. From any breakpoint, enter CORE on thecommand line. From the Main Storage menu, select 3 Breakpoint areas.

CA-InterTest CORE COMMAND BUILDER - BREAKPOINT-RELATED AREAS (CORE=Bkpt)

Specify area to be DISPLAYED, CHANGED OR MOVED: Task number: 00676

�Assembler base: ________ Assembler Label: ______________________________

Register # __ � Argument # __ �

Special element: ________ (Enter highlighted keyword)SSCR Saved screen image BMSG Breakpoint message CMAR CommareaFCAR Facility cntl area EIB Exec interface block TUAR TCT user area

Optional offset: ____________________________________

Scan value: _________________________________________ Data FormatsScan range: ______ B to scan backwards: _ -----------------

| P' ' = Packed |To VERIFY and/or CHANGE Data: | X' ' = Hex |Existing data: ______________________________________ | C' ' = Char |

New data: ______________________________________ -----------------

PF1 Help 2 3 End 4 Return 5 6PF7 8 9 10 11 12

CORE=Bkpt Menu for an Assembler Program

You can use the CORE=Bkpt Menu screen to display or change storage relatingto the task that is currently stopped at a breakpoint. All fields, except thenumbered ones, operate the same as for the CORE=Bkpt menu displayed for aCOBOL program stopped at a breakpoint.

To display the contents of a register, a program location, or a data location, makethe appropriate entries in fields �, �, and � as described below.

� To display the program code at a particular location, enter its label in field �.

� To display the contents of a data field, specify its location by entering thename of the base register in field�, and its displacement (from the address inthe base register) in field �.

� To display the contents of register n (a decimal number from 0 to 15), enterthe desired register number in field �.

� To display an argument on your program's Argument List, enter a decimalnumber from 0 to 99 in field �.

Examples To display the program code at SCANLOOP, enter:

Assembler Label: SCANLOOP

Page 338: CA-Intertest for CICS User Guide

PL/I Version of the Breakpoint Areas Menu

10�26 CA-InterTest User Guide

To display the area at displacement TIOADBA from the address in the registerequated to TIOABAR, enter:

Assembler base: TIOABAR Assembler Label: TIOADBA

To display the contents of register 8, enter:

Register #: 8

Note: The address of the Argument List must be in register 1.

To display the second argument in the program's Argument List, enter:

Argument: 2

PL/I Version of the Breakpoint Areas Menu

You can access the CORE Breakpoint-Related Areas Menu for a PL/I programstopped at a breakpoint by typing the command: CORE on any Breakpoint display.From the Main Storage menu, choose Option 3 Breakpoint areas to display the menushown below.

CA-InterTest CORE COMMAND BUILDER - BREAKPOINT-RELATED AREAS (CORE=Bkpt)

Specify area to be displayed, changed or moved: Task number: 01699

PL/1 data name: _______________________________

Special element: ________ (Enter highlighted keyword)SSCR Saved screen image BMSG Breakpoint message CMAR CommareaFCAR Facility cntl area EIB Exec interface block TUAR TCT user area

Optional offset: ____________________________________

Scan value: _________________________________________ Data FormatsScan range: ______ B to scan backwards: _ -----------------

| P' ' = Packed |To VERIFY and/or CHANGE Data: | X' ' = Hex |Existing data: ______________________________________ | C' ' = Char |

New data: ______________________________________ -----------------

PF1 Help 2 3 End 4 Return 5 6PF7 8 9 10 11 12

You can use this screen to display or change storage relating to the task that iscurrently stopped at a breakpoint. All fields operate the same as for theCORE=Bkpt menu displayed for a COBOL program stopped at a breakpoint, exceptyou enter a PL/I data name in the first field instead of a COBOL data name. See thesection Breakpoint-Related Areas Menu for a description of that screen.

Page 339: CA-Intertest for CICS User Guide

System-Related Areas Menu

Accessing Main Storage: CORE 10�27

System-Related Areas Menu

To display the System-Related Areas menu, enter CORE on a clear screen or from thecommand line of any Source Listing display or breakpoint. This displays the MainStorage menu. Choose option 1 System areas.

The System-Related Areas menu can be used to display or change (subject topassword protection) areas of storage relating to CICS. You can also load and deleteprogram modules and search for data strings.

CA-InterTest CORE COMMAND BUILDER - SYSTEM-RELATED AREAS (CORE=Syst)

Specify AREA, ADDRESS, TABLE or PROGRAM to be displayed or changed:

�CICS AREA: ________ CSA, FCT, TCT, DCT, SIT ADDRESS: ________CWA, DLP, DDIR, PDIR, OPFL, ABND, RCT

CICS TABLE entry: � FCT ________ TCT ____ DCT ____

To display PROGRAM: ________� ENTER L to load, D to delete or M for map: �

�Optional offset: ____________________________________

�Scan value: _________________________________________ Data Formats�Scan range: ______ B to scan backwards: _ -----------------

| P' ' = Packed |To VERIFY and/or CHANGE data: | X' ' = Hex |Existing data: ______________________________________ | C' ' = Char |

New data: ______________________________________ -----------------

PF1 Help 2 3 End 4 Return 5 6PF7 8 9 10 11 12

System-Related Areas Menu

Displaying System-Related Areas

The System-Related Areas Menu allows you to display the following, either fromthe beginning or from a specified offset or scan value:

� CICS area listed on the menu (field �)

� Any CICS hexadecimal address (field �)

� Single table entry (field �)

� Program load module or BMS map (fields � and �)

Page 340: CA-Intertest for CICS User Guide

System-Related Areas Menu

10�28 CA-InterTest User Guide

Follow these entry instructions:

1. Specify the area to be displayed using one of the following entries:

CICS AREA: � To obtain an entire area or table, specify any CORE keyarea, such as CSA.

ADDRESS: � To obtain a CICS address, specify one to eight hexadecimaldigits.

CICS TABLEentry:

� To obtain a single table entry, specify the entry next to theappropriate table.

Note: To display the entire table, use the CICS AREA field.

PROGRAM: � To obtain a program load module, specify a program name.

PROGRAMand M:

� To display a BMS MAP, specify the mapname in thePROGRAM field, and specify M in the field to the right.

2. After specifying the system areas for display, you can also specify where tobegin the display using the Optional offset and/or Scan fields.Optionaloffset:

� Specify a hexadecimal offset or sequence of offsets.Each offset must begin with either + (a positivehexadecimal displacement), - (a negative hexadecimaldisplacement), @ (an indirect address), or % (an indirectXA address). Offsets also can be calculated. For example:@32*4.

Scan Value andRange:

CA-InterTest searches for the value you specify in the rangeof hexadecimal or decimal bytes you specify.

3. To obtain the requested display, press Enter for a structured display.(Structured displays give field names and main storage contents in DSECTsequence.)From the structured display, you can press Enter for a dump display. (Dumpdisplays give main storage contents with 16 hexadecimal and character bytesper line.)

Loading or DeletingProgram Modules inMain Storage

To load a program into main storage, enter the program name in field �, and L infield �. Press Enter for a structured display. Press Enter a second time for a dumpdisplay.

To display the program from other than the beginning after it is loaded, specifyan Optional Offset in field �. Press Enter for a structured display, and thenEnter a second time for a dump display.

To delete a program from main storage, specify the program name in field �,and D in field �. Press Enter to display the PPT for the program entry to bedeleted. Follow the instructions to confirm the delete.

Page 341: CA-Intertest for CICS User Guide

Changing and Searching for Data

Accessing Main Storage: CORE 10�29

Changing and Searching for Data

The change and search functions operate the same as on the Breakpoint-RelatedAreas menu. For example, the entries in the figure below move a value ofhexadecimal 600 into the field located at an offset of (hexadecimal) 12 in theProgram Control Table (PCT) entry for the transaction DEMC. Since that is thelocation of the PCTTWA field, the result is to dynamically change the size of the TWAallocated to the DEMC transaction.

CA-InterTest CORE COMMAND BUILDER - SYSTEM-RELATED AREAS (CORE=Syst)

Specify AREA, ADDRESS, TABLE or PROGRAM to be displayed or changed:

CICS AREA: ________ CSA, FCT, TCT, DCT, SIT ADDRESS: ________CWA, DLP, DDIR, PDIR, OPFL, ABND, RCT

�CICS TABLE entry:... FCT ________ TCT ____ DCT ____ PPT DEMC

To display PROGRAM: ________ ENTER L to load, D to delete or M for map: _

� Optional offset: +12_________________________________

Scan value: _________________________________________ Data FormatsScan range: ______ B to scan backwards: _ -----------------

| P' ' = Packed |To VERIFY and/or CHANGE data: | X' ' = Hex |Existing data: ______________________________________ | C' ' = Char |� New data: x'0600'_______________________________ -----------------

Press PF12 (structure display) or ENTER (dump display), or select PF key:1 Help 2 CNTL 3 End 4 Source 5 CORE=Task 6 CORE=Bkpt7 FILE 8 9 BMSG 10 11 CORE=Syst 12 Structure

Modifying a PCT Entry

Page 342: CA-Intertest for CICS User Guide

Task-Related Areas Menu

10�30 CA-InterTest User Guide

Task-Related Areas Menu

The CORE Command Builder Task-Related Areas Menu is used to view ormodify areas relating to a particular task. To view the menu, choose Option 2Task areas from the Main Storage menu. The CORE Command Builder Task-Related Areas Menu is illustrated below. You can use this menu to eitherdisplay, change, or scan storage relating to a specified task for a task waiting at abreakpoint.

Note: The display, change, and scan functions have already been described inthe discussion of the Breakpoint-Related Areas Menu and System-Related AreasMenu in the previous sections of this chapter.

CA-InterTest CORE COMMAND BUILDER - TASK-RELATED AREAS (CORE=Task)

Specify keyword of AREA to be displayed or changed.

Task AREA: ________ DWE, JCA, LLA, STCA, TACB, TCA, TWA, USER, XMTXN, SMXCLOT, RDIIN, SQLCA, SQLRCODE, PLCB, PTA, TASKENT

Task number: 00052

Optional offset: ____________________________________

Scan value: _________________________________________ Data FormatsScan range: ______ B to scan backwards: _ -----------------

| P' ' = Packed |To VERIFY and/or CHANGE data: | X' ' = Hex |Existing data: ______________________________________ | C' ' = Char |

New data: ______________________________________ -----------------

PF1 Help 2 3 End 4 Return 5 6PF7 8 9 10 11 12

Page 343: CA-Intertest for CICS User Guide

CORE Commands and Advanced Options

Accessing Main Storage: CORE 10�31

CORE Commands and Advanced Options

Once you become proficient with the CORE command builder menu screens,you can enter CORE commands directly. The commands are quite easy to learnafter using the menus; if you notice, all CORE commands created from themenus are presented on CORE displays as a self-teaching aid.

Experienced users often find that entering commands is faster than using themenu screens. The CORE commands can be entered on a clear screen, or on thecommand line of a Detailed or Source Listing Breakpoint display, or on anyCORE display.

The CORE commands are explained in the following sections with some advancedoptions that are intended only for experienced CA-InterTest for CICS users. If you arean inexperienced CORE user, skim the rest of this chapter and reread it when you aremore familiar with CORE. Details on using CORE commands also can be found inthe online Help facility.

Displaying Main Storage

To display storage starting at a specific location, enter the command:

CORE=location

The location can be specified as a:

� Symbolic name such as a COBOL paragraph name, COBOL data name,COBOL or PL/I statement number, or Assembler label that is defined in aprogram currently at a breakpoint

� CORE keyword (such as CMAR for the COMMAREA)

� Hexadecimal address

To display storage beginning at a displacement from a particular location, youcan add or subtract the displacement using either of these commands:

CORE=location+displacementCORE=location-displacement

To display main storage beginning at a displacement from the area currentlydisplayed, either of the following commands can be used:

CORE+displacementCORE-displacement

where the displacement is the offset of the first byte of the area to be viewed fromthe first byte of the area currently displayed. The displacement number can behexadecimal, such as, 100, or decimal, such as, 256T. A number followed by theletter T, for base ten, specifies a decimal number.

Page 344: CA-Intertest for CICS User Guide

Displaying Main Storage

10�32 CA-InterTest User Guide

Examples The following examples illustrate a number of CORE commands that are fullydescribed in the sections that follow:

� To display the COBOL Working-storage area, enter:

CORE=CWK

� To display the data item EMPLOYEE-NUMBER enter the command shownnext. The data item can be a variable or fixed length.

CORE='EMPLOYEE-NUMBER'

� To display main storage beginning hexadecimal 10 bytes (or 16 bytes) afterthe data location TABLE, enter:

CORE='TABLE'+10

� To display main storage hexadecimal 100 bytes (or 256 bytes) after the startof the area currently on display, enter:

CORE+100 or CORE+256T

� To display the storage area that is hexadecimal 100 bytes (or 256 bytes)before the area currently on display, enter:

CORE-100 or CORE-256T

� To display (for Assembler programs) the area at displacement TIOATDLfrom the address in the register equated to TIOABAR, enter:

CORE='TIOABAR.TIOATDL'

� To display the CUSTOMER-NUMBER as found in CUSTOMER-FILE-A,enter:

CORE='CUSTOMER-NUMBER OF CUSTOMER-FILE-A'

� To display the ZIP-CODE in a specific CITY for a specific CUSTOMER enterthe command shown next.. Notice that each comma must be followed by aspace.

CORE='ZIP-CODE(NAME-IDX, CITY-IDX, ZIP-IDX)'

Page 345: CA-Intertest for CICS User Guide

Displaying Main Storage

Accessing Main Storage: CORE 10�33

The following table summarizes how locations and displacements can be enteredin CORE commands. Refer to the section CORE Commands for PL/I SymbolicPrograms for details.

COBOL PL/I Assembler

SymbolicLocation

�data name��paragraph name�#statement numberCORE keyword

�symbolname�

#statement numberCORE keyword

�regname.label� data location�label� - program location or registerCORE keyword

SymbolicDisplacement

�paragraph name�#statement number

�label�#statement number

�label�

Any Language

NumericLocation

1 to 8 hexadecimal digits1 to 8 decimal digits followed by the letter T

NumericDisplacement

1 to 6 hexadecimal digits1 to 8 decimal digits followed by the letter T(number1*number2) or (number1/number2)

CICS Areas CORE keyword or keyword.fieldname

Elements of a CORE Command

An element of a CORE command is the minimum amount of symbols and textsufficient to instruct CA-InterTest for CICS to perform a specific CORE function. EachCORE command must contain one complete element, although it can contain morethan one. A CORE command element can begin with any one of the followingsymbols:

���� Equal Sign (=) indicates that an absolute address (entered in hexadecimal), asymbolic address, or a CORE command function follows.

���� Plus Sign (+) adds the number of bytes specified after it to the address in thestorage pointer. This advances the storage pointer forward.

���� Minus Sign (-) subtracts the number of bytes specified after it from theaddress in the storage pointer. This moves the storage pointer backward.

Note: The plus and minus signs must be followed by a displacement,specified either symbolically or as a number, a multiplication, or a division.

���� At Sign (@) works like the plus sign. However, after the address isadvanced, it obtains the next address from the three right-most bytes of thefour bytes found at the current address. The result is indirect addressing.The at sign uses the lower 24 bits for addressing.

Page 346: CA-Intertest for CICS User Guide

Displaying Main Storage

10�34 CA-InterTest User Guide

���� Percent Sign (%) works like the at sign, except it uses 31 bit (XA) addressing.It obtains the address from the four bytes of the fullword.

Note: The at and percent signs must be followed by a displacementspecified either symbolically or as a number, a multiplication, a division, oran absolute or symbolic address.

���� Comma (,) indicates that the following text is a further description of the previouselement and not the beginning of a new element.

There are many elements available to you that are described later in this chapter.In addition, you can create new elements that apply only to your site. TheCA-InterTest for CICS Getting Startedprovides instructions for defining newelements by coding CORUCOM macros.

Storage Pointer

The CORE transaction maintains a storage pointer that is adjusted asCA-InterTest for CICS reads and interprets the CORE commands you enter.Before the first input command is processed, this pointer is set to the address ofthe CICS Common System Area (CSA).

After you enter a command and the first CORE display appears on yourterminal, the storage pointer is set to the address of the first displayed byte. Thisis the address of the storage pointer that the CORE transaction recognizes whenit examines the next command you enter. For example, the following sequenceof commands locates the area named (symbolically) ACCOUNT-NUMBER in theCOBOL program whose task is presently waiting at breakpoint, and displays it.Then it adds five to the address of the displayed area and produces anotherdisplay that begins at the new address.

CORE='ACCOUNT-NUMBER'CORE+5

CA-InterTest for CICS adjusts the storage pointer for every element found inyour commands. CA-InterTest for CICS reads each command from left to rightand executes the first executable element it finds. For example, the followingsequence of commands:

CORE='CHARGE-ITEMS'CORE=SCAN404T,C'FRONT PANEL'CORE=CHGC'REAR PANEL'

accomplishes the same thing as the following single command:

CORE='CHARGE-ITEMS'=SCAN404T,C'FRONT PANEL'=CHGC'REAR PANEL'

Page 347: CA-Intertest for CICS User Guide

Displaying Main Storage

Accessing Main Storage: CORE 10�35

Both commands find the field named CHARGE-ITEMS in the program waitingat breakpoint, scan that storage area (which is 404 bytes long) for the charactersFRONT PANEL, and change these bytes to contain the characters REAR PANELinstead. (This is an example of using an equal sign to indicate the beginning of anew element.)

The CORE transaction protects itself against incorrect addresses and recoversfrom abends caused by store- or fetch-protected addresses. It usuallyencounters these kinds of addresses during the search for the specified storagearea, or if you have made a mistake in formulating the CORE command. If thistype of error occurs, the message STORAGE ACCESS ERROR is displayed.

CORE Screen Scrolling Commands

PF7 and PF8 let you scroll backward and forward one page at a time. However,it is possible to scroll forward or backward several pages at a time.

To scroll forward the specified number (1 to 999) of pages, enter:

CORE=FWDnnn

To scroll backward the specified number (1 to 999) of pages, enter:

CORE=BWDnnn

Example The command CORE=FWD5 causes CORE to display the storage area five pagesahead of the current area on display. Each page is the size of one CORE display,which is hexadecimal 110 or decimal 272 bytes. So, the command CORE=FWD5scrolls the display forward 5 x 272 = 1360 bytes.

Indirect Addressing

The at sign, @, is used to signify indirect addressing in a CORE command. Indirectaddressing uses an address stored in a pointer field to locate a field for display. Thebasic command formats used to perform indirect addressing follow.

To display main storage beginning with the address stored at the specifiedlocation, enter:

CORE=location@0

To display main storage beginning with the address stored in the fullwordlocated at the given displacement from the specified location, enter:

CORE=loc@disp

Note: A displacement following the at sign must be zero or positive. Negativedisplacements are not allowed.

Page 348: CA-Intertest for CICS User Guide

Displaying Main Storage

10�36 CA-InterTest User Guide

Examples The following examples illustrate how to use the at sign.

���� Suppose INPUT-RECD-ADDR is the name of the BLL cell used to contain theaddress of an input record. To display the input record when the COBOLprogram stops at a breakpoint, enter:

CORE='INPUT-RECD-ADDR'@0

This command has the same effect as:

CORE='INPUT-RECORD'

where INPUT-RECORD is the data structure addressed by the BLL cellnamed INPUT-RECD-ADDR.

���� To display the first storage area on the task storage chain, enter:

CORE=STCA@4

STCA is the CORE keyword for the System Task Control Area. COREdisplays the storage area whose address is stored in the low-order threebytes of the fullword at STCA+4. The result is that CORE displays the firststorage area on the task storage chain, which is stored at STCA+4. PressingEnter repeats the CORE command, allowing you to run through the entirechain.

Viewing Storage for a COBOL or PL/I Program at a Breakpoint

Names defined in a COBOL or PL/I program can be used in CORE commands asfollows:

� A COBOL data name, paragraph name, or PL/I symbol name must be insingle quotes; a COBOL data name can be qualified, indexed, or subscripted.

� A statement number must be directly preceded by a number sign, #.

Notes:

���� If the same data name, such as CUSNAME, is defined more than once in aCOBOL or PL/I program, particular occurrences can be referenced using thequalified data name.

���� CORE displays as many bytes as are defined by a symbolic name unless thename is modified by a displacement. For example, to obtain a full COREdisplay (272 bytes of storage) beginning with the data location calledCUSNAME, enter the command CORE='CUSNAME'+0, not justCORE='CUSNAME''''.

���� If you have a data name defined in arrays, specify it like this:

CORE='NAME-1(X1, X2, X3)'

Page 349: CA-Intertest for CICS User Guide

Displaying Main Storage

Accessing Main Storage: CORE 10�37

Examples In each of the following examples, the symbolic program addresses relate to theprogram currently stopped at a breakpoint. Using symbolic addresses for aprogram not stopped at a breakpoint is described in the section DisplayingProgram Code for a Program Not at a Breakpoint.

���� To display the data field CUSTNAME in the program (COBOL) that iscurrently stopped at a breakpoint, enter:

CORE='CUSTNAME'

If you press PF12, the COBOL structure in a DMAP-defined sequence isdisplayed. A COBOL structure is defined by level numbers. For example, astructure is finished when a data item's level number is equal to or less thanthe level number of the first item in the structure.

���� To display the first executable instruction in the named COBOL paragraph ofthe program currently stopped at a breakpoint, enter:

CORE='900-END-RTN'

���� To display the data field TASK_TEXT in the program (PL/I) that is currentlystopped at a breakpoint, enter:

CORE='TASK_TEXT'

���� To display the code for the first executable instruction in statement 313 of theprogram currently stopped at a breakpoint, enter:

CORE=#313

���� To display the code for the second verb in statement 313 of the COBOLprogram currently stopped at a breakpoint, enter:

CORE=#313.1

Note: The first verb is entered as CORE=#313.0.

���� To display the code for the first executable instruction in the programcurrently stopped at a breakpoint, enter:

CORE=#1

���� To display the code for a qualified program name currently stopped at abreakpoint, enter:

CORE='ACME300N:WS-VARIABLE-FLD'

Displaying Qualified, Variable Length, Indexed, or Subscripted COBOL Data Names

Specify qualified, variable length, indexed, and subscripted COBOL data namesas follows:

� To display non-uniquely defined COBOL data names, enter:

CORE='NAME-1 OF NAME-2'

Page 350: CA-Intertest for CICS User Guide

Displaying Main Storage

10�38 CA-InterTest User Guide

� You can specify up to seven levels of indexing or subscripting.

� To display a variable length COBOL data item, such as a data itemdeclared with an �OCCURS X to Y times depending on Z� clause, enter:

CORE='DATA-NAME'

� To display an indexed or subscripted COBOL data item defined inarrays, enter:

CORE='NAME(X1, X2, X3)'

Follow these syntax rules:

� The data name must be enclosed in quotes.

� Up to seven levels of indexing or subscripting for a data item can bespecified.

� Parentheses, ( ... ), indicate the beginning and end of indexing andsubscripting.

� X1, X2, X3 can be index names, subscript names or numeric subscript values.If more than one item is specified, the next item must be preceded by acomma and a blank.

� Do not mix indexing and subscripting in the same command.

Examples To display a specific entry within a table, enter:

CORE='TABLE(1, SUB-2)'

To display the CUSTOMER-NUMBER as found in CUSTOMER-FILE-C, enter:

CORE='CUSTOMER-NUMBER OF CUSTOMER-FILE-C'

To display the ZIP-CODE in a specific CITY for a specific CUSTOMER, enter:

CORE='ZIP-CODE(NAME-IDX, CITY-IDX, ZIP-IDX)'

Viewing Storage for an Assembler Program at a Breakpoint

Assembler labels can be used in a CORE command to symbolically address datalocations, program locations, or registers as shown in the following table.

Location Format

data locations 'regname.label'

program locations 'label' (the label value must exceed 15)

registers 'regname' (where the equated value is less than 16)

Examples Each format is illustrated in the following examples, where the symbolic programaddresses relate to the Assembler program currently stopped at a breakpoint.

Page 351: CA-Intertest for CICS User Guide

Displaying Main Storage

Accessing Main Storage: CORE 10�39

� To display the area at a displacement of TIOADBA from the address in theregister equated to TIOABAR, enter:

CORE='TIOABAR.TIOADBA'

Press PF12 to display an Assembler DSECT structure sequence.

� To display the program code starting at the label SCANLOC, enter:

CORE='SCANLOC'

� To display the contents of the register equated to TIOABAR, enter:

CORE='TIOABAR'

Using a Different Module for Assembler Structures

When requesting an assembler structure display, you might encounter a notfound condition for one of these reasons:

� The data area's DSECT was not printed in the Assembler output listing.

� The requested DSECT is in an area preceded by a PRINT OFF instruction.

To handle these occurrences, you can:

� Create an Assembler job containing your common DSECT layouts and use theCA-InterTest post-processor step.

� Create one program that contains all of your DSECTS with the PRINT ON option.

The following considerations are important:

� Do not specify a LISTER= option.

� You do not have to link-edit the module.

� You do not need a PPT Entry (in CICS) for this module.

� The name of this module must be unique, and it must not be the same as anyother module in the Symbolic File.

You can reference this module online by adding USE=xxxxxxxx to the COREcommand. This additional option tells CA-InterTest for CICS to access the namedmodule (xxxxxxxx) instead of the program where CA-InterTest for CICS is currentlystopped.

Example The command CORE='R12.DFHTCADS',USE=TESTMAST displays the structurefor the USER TCA with the DFHTCAD DSECT. The address of the USER TCA iscontained in register R12 with its DSECT structure saved in the Symbolic Filerecords named TESTMAST. If R12 has not been defined in your program,CA-InterTest assumes you meant register 12. (The same assumption would bemade for R0 through R15.) If the field name, such as DFHTCADS, has not beendefined, CA-InterTest searches for the default CICS structure for the field.

Page 352: CA-Intertest for CICS User Guide

Displaying Main Storage

10–40 CA-InterTest User Guide

CORE Commands For PL/I Symbolic Programs

If you have purchased the PL/I Symbolic Option and are currently stopped at abreakpoint, you can use CORE to view storage associated with a symbolic PL/Iprogram. The PL/I Symbolic CORE facilities work just like the COBOLSymbolic facilities of CORE, with the following differences:

� There are three PL/I symbolic formats for CORE commands:

CORE='symbolname'

This command checks to see if the symbol is a label. If it is, the machine codeat that location is displayed. If it is not, the definition of the symbol in themost recently activated procedure or block is used to display the currentvalue of the symbol.

Note: The most recently activated block, containing a definition of thesymbol, need not be the currently executing block.

CORE='blockname:symbolname'CORE='blockname:name1.name2.name3'

This command checks to see if the symbol is a label in the qualifying block.If the named block is active, the definition of the symbol in that block is usedto display the current value of the symbol. If it is not, the blockname ischecked to verify that it appears on the active block chain.

CORE='symbolname1->symbolname2'

This command displays variables listed as based (*) in the PL/I Cross-Reference, where:

– symbolname1 is assumed to be a pointer that points to an area to bemapped by symbolname2. If it is not a pointer, then the address ofsymbolname1 is mapped by symbolname2.

– symbolname2 formats the data to be displayed. In the case of a structure,symbolname2 is assumed to be the beginning of the area pointed to bysymbolname1.

CORE='name1.name2(name3,name4)'

Display array item indicated by the resolution of variables name1 and name2.Up to 15 levels of qualification and subscripting are supported.

� Controlled variables (CTL) are not supported.

� Symbolic CORE commands should not be used when a program is stoppedat a PROC or BEGIN statement. The DSA environment is not properlyestablished by PL/I until the first executable statement in a block is actuallyexecuted. As a result, CORE provides unpredictable results if you refer to asymbol that has not been allocated or freed (such as BASED variables thatare allocated in the block).

Page 353: CA-Intertest for CICS User Guide

Displaying Main Storage

Accessing Main Storage: CORE 10–41

� Like-named variables are supported as follows:

– If two variables with the same name are declared in the sameblock/procedure, attempting to display these variables with a COREcommand requires qualification.

CORE='name1.name2'

– If two variables with the same name are declared in differentblocks/procedures, you can display them using the format:

CORE='blockname:symbolname'

� Based variables are supported with an unlimited number of levels of basing.

Examples Refer to the following sample in the next examples.

PROC1: ...; DCL 1 A, 2 FIELDB ..., 3 FIELDC ...; SUBPROC: ...; DCL 1 A, 2 FIELDB ..., 3 FIELDC ...; END SUBPROC;

To display the variable FIELDB declared in PROC1, enter:

CORE='PROC1:FIELDB'

To display the variable FIELDB declared in SUBPROC, enter:

CORE='SUBPROC:FIELDB'

Refer to the following sample for the next example.

DCL Q PTR;DCL R PTR;DCL Z BASED(Q);

To display Z using R as the pointer, code the CORE command as follows:

CORE='R->Z'

Displaying Program Code for a Program Not at a Breakpoint

When a symbolic name is used in a CORE command, CORE must know in whichprogram the name or label is defined. If the program is currently stopped at abreakpoint, CORE assumes that program is to be displayed; otherwise, thefollowing command format must be used:

CORE=PGM=progname+symbolic name

Example To display the code generated in the COBOL paragraph named EDIT-DATA inthe resident program named ORDENTRY, which is not at a breakpoint, enter:

CORE=PGM=ORDENTRY+'EDIT-DATA'

Page 354: CA-Intertest for CICS User Guide

Breakpoint Commands

10�42 CA-InterTest User Guide

This command adds the displacement of EDIT-DATA to the address of the firstbyte of the program ORDENTRY and displays main storage starting at thataddress. If the program is not resident, specify the following to load theprogram into storage:

CORE=LOAD=progname

Breakpoint Commands

Certain CORE commands are applicable only when a task is stopped at abreakpoint. These commands allow you to:

� Display storage areas whose contents are meaningful only when taskexecution is halted at a breakpoint

� Display the screen as it existed before the breakpoint or restore thebreakpoint display

� Dynamically acquire main storage

� Change the values of program data items using COBOL-like MOVEcommands

Displaying Storage Related to a Task at a Breakpoint

The following table lists the commands used to display an area of main storagewhose contents are meaningful only when a task is stopped at a breakpoint.

CORE Command Result

CORE=ARGnn Displays argument nn on the breakpointed program's argument list,where nn is a decimal number from 0-99. The address of theargument list must be in register 1.

CORE=BLLnn Displays the BLL cell with relative number nn, where nn is a decimalnumber from 0-99. The first BLL cell is specified in the COREcommand as BLL0, the next as BLL1, and so on.

CORE=BLLS Displays the COBOL program's BLL cells.

CORE=CLOT Displays the CICS Life-Of-Task block. This area exists only after thefirst SQL CALL in your program (OS/390 only).

CORE=CMAR Displays the CICS EXEC Communication Area (DFHCOMMAREA)owned by the breakpointed command-level CICS task.

CORE=CURR Displays the current instruction about to be executed when the taskwas halted at a breakpoint.

CORE=CWK Displays the breakpointed COBOL program's WORKING-STORAGE.

Page 355: CA-Intertest for CICS User Guide

Breakpoint Commands

Accessing Main Storage: CORE 10�43

CORE=EIB Displays the EXEC Interface Block owned by the breakpointedcommand level task.

CORE=EIS Displays the EXEC Interface Structure owned by the breakpointedcommand level task.

CORE=FCAR Displays the Facility Control Area. This is the TCT entry for aterminal-oriented task or the DCT entry for a task initiated by atransient data trigger level.

CORE=FLPT Displays the four doublewords where floating point registers 0-6were saved. This keyword can be used only if the save floating pointregisters facility was generated for CA-InterTest.

CORE=HLST* Displays the language-oriented storage area allocated by CICS to theprogram at initialization time. This keyword does not apply to macrolevel Assembler.

CORE=ITBE Displays the instruction that was to be executed when the task washalted at the breakpoint.

CORE=MXR Displays the current value of the counter for CICS requests.

CORE=MXS Displays the current value of the counter for the amount of CICSstorage acquired by the program.

CORE=PREV Displays the last executed Assembler instruction.

CORE=RDIIN Displays the Application Invocation Parameter List. The task musthave issued an SQL CALL for CORE=RDIIN to function (OS/390only).

CORE=REGS Displays the 16 fullwords where registers 0-15 are saved.

CORE=Rnn Displays the contents of register nn prior to the breakpoint.

CORE=SQLCA Displays the SQL Communications Area. This area contains dataonly after the first SQL call in your program (OS/390 only).

CORE=SQLRCODE For OS/390 only: Displays the contents of SQLCODE as a decimalnumber and converts this value into its associated text message.Explanations of any SQL warning codes are also displayed.

For a DSNC abend, the failure code, the failing DB2 subcomponentidentifier, and the subsystem termination reason code are displayedwith explanations of the failure code and the subsystem identifier.

CORE=SSCR Displays the last CICS screen displayed by your program before itwas stopped at the current breakpoint.

CORE=TAL Displays the current value of the TALLY counter.

CORE=TGT Displays the COBOL program's Task Global Table.

Page 356: CA-Intertest for CICS User Guide

Breakpoint Commands

10�44 CA-InterTest User Guide

CORE=TIOA Displays the first Terminal I/O Area chained to the breakpointedtask.

CORE=TUAR Displays the saved user area in the terminal table (TCT) entry of thebreakpointed task. This keyword can be used only if STUAR=YESwas specified when CA-InterTest was installed.

CORE=WKAR Displays the CA-InterTest Work Area of the breakpointed task.

*Not available with CICS Release 4.1.

Restoring the Screen at a Breakpoint

To display the screen image as it existed prior to the breakpoint, enter:

CORE=SSCR

To return to the CORE command after displaying the screen image, press Clear.

Dynamically Acquire Main Storage at a Breakpoint

To dynamically acquire main storage when a program is at a breakpoint, enter:

CORE=GETM,L=len,CL=type,INIT=xx

L=len is mandatory. The value of len is the same as the one entered with theparameter LENGTH(...) in a CICS GETMAIN command or would be enteredwith the keyword NUMBYTE=... of a GETMAIN macro. It could be ahexadecimal value or a decimal followed by the letter T.

CL=type is optional and specifies the type of storage to be acquired. CL=USERacquires user class storage and CL=TERM acquires terminal class storage(TIOA). If this parameter is omitted, CL=USER is assumed.

INIT=xx is optional. The hexadecimal digits xx specify the character used toinitialize the storage area. The default is binary zeroes.

This command is equivalent to an EXEC CICS GETMAIN or a DFHSCTYPE=GETMAIN macro.

When a CORE=GETM command is executed, CA-InterTest displays the acquiredarea beginning with its eight-byte Storage Accounting Area (SAA). The addressof the acquired area must be saved in a register where the program expects tofind it.

Page 357: CA-Intertest for CICS User Guide

Breakpoint Commands

Accessing Main Storage: CORE 10�45

The SET command is useful to load the address. Note that if the address isplaced in a COBOL BLL cell, the address must be adjusted up 8 bytes to pointpast the SAA. If a COBOL program has loaded the contents of the BLL cell into aregister, the register must also be loaded.

Examples The SET command is expressed as follows:

CORE+8=SET=BLL1CORE=SET=REG6CORE=SET='SSA-POINTER'

COBOL-like MOVE Command at a Breakpoint

The MOVE command is valid for COBOL and PL/I programs stopped at abreakpoint. It has two formats:

� To move the contents of field-1 to field-2, enter:

CORE=MOVE field-1 TO field-2

� To move a literal to a field, enter:

CORE=MOVE literal TO field-2

field-1 names the sending area. field-2 names the receiving area. Both fields mustbe defined in the program. Do not enclose either field name in quotes. Eitherfield can be qualified, indexed, or subscripted.

A literal can be a fixed point numeric value, a string of EBCDIC characters, or akeyword, such as ZERO or SPACES.

A fixed point literal is a string of up to 18 decimal digits with an optionalleading plus, +, or minus sign, -,. (No sign defaults to +.) Embedded decimalpoints are not allowed.

Any string of characters from one to 120 EBCDIC characters enclosed in quotescan be specified as a literal. A quotation mark cannot be part of the characterstring defining the literal.

The following keywords can be used as literals:

Literal Keyword Actual Value

ZERO Numeric value 0

SPACE One or more blanks (X'40')

HIGH-VALUE One or more occurrences of X'FF'

LOW-VALUE One or more occurrences of X'00'

QUOTE One or more occurrences of the quotation mark (X'7D')

Page 358: CA-Intertest for CICS User Guide

Breakpoint Commands

10�46 CA-InterTest User Guide

Note: The letter S can be appended to any of the above keywords withoutchanging its meaning. For example, the command MOVE SPACES TOCUSTNAME is equivalent to MOVE SPACE TO CUSTNAME.

To repetitively fill a field with a particular character string or decimal digit,precede the literal with the keyword ALL followed by a space. For example,ALL 'XYZ' or ALL 9. The literal following ALL can be any valid EBCDICcharacter string enclosed in quotes. If the literal following ALL is a numeric, itmust be a single unsigned decimal digit.

The MOVE command handles only certain data types and makes any requiredconversions from one data type to another. The conversions follow the examplesspecified in the IBM Full American National Standard COBOL Reference Manual.The fields are checked for numeric content, as needed.

Data Conversion A list of supported data types and their corresponding conversion rules follows:

Data Type Conversion Rule

GROUP Data is left justified with no conversion. This type ofmove is made if either the sending or receiving fieldhas group data.

DISPLAY Data conversion is performed with left justification.

DISPLAY NUMERIC Data conversion is performed with right justification.

COMP-3 Data conversion is performed.

COMP Data conversion is performed.

ALPHANUMERICEDITED

Handled as DISPLAY, but without editing.

NUMERIC EDITED Handled as NUMERIC, but without editing.

Page 359: CA-Intertest for CICS User Guide

Displaying Task-Owned Areas

Accessing Main Storage: CORE 10�47

Displaying Task-Owned Areas

To display areas of storage that are related to a particular task, use the followingkeywords. Unless you specify otherwise, the areas displayed relate to the task thatcreated the most recent breakpoint display.

Use the command form:

CORE=Area Displayed

Area Displayed is one of the following CORE keywords:

CORE Keyword Task-Related Storage Area

DWE Top Deferred Work Element

JCA Top Journal Control Area

LLA Top Load List Area

RSA* Top Register Save Area

STCA System portion of TCA

TACB Top Task Abend Control Block

TCA User portion of TCA

TD Top Transient Data storage area

TDOA Transient Data Output Area

TS Top Temporary storage area

TWA TWA portion of TCA

USER Top USER-class storage area

*Not available with CICS Release 4.1.

Task-Related Areas Available in CICS 4.1 Only

CORE Keyword System-Related Storage Area

PLCB Program Logical Level Control Block

PTA Program Transaction Area Control Block

SMX Storage Manager Transaction Control Block

TASKENT Kernel Domain Task Definition Control Block

XMTXN Transaction Manager Transaction Definition Control Block

Page 360: CA-Intertest for CICS User Guide

Displaying Task-Owned Areas

10�48 CA-InterTest User Guide

Setting the Task Number in a CORE Command

The commands listed in the previous table display the task area relating to thetask that most recently sent a breakpoint display to the terminal screen. Todisplay storage for a different task, you must enter a task number in the COREcommand. The new task number remains in effect until you change it or a newbreakpoint display is received at the terminal. The task number is displayed inthe upper-right corner of CORE displays.

To specify the task number to be used by CORE in accessing task-related areas,enter:

CORE(task-no)

To reset the task-ID to the task currently waiting at a breakpoint, enter:

CORE(*)

Use this command if there is just one task currently at a breakpoint at theterminal.

Examples These examples illustrate how to display storage for non-breakpointed tasks.

� To display the top File I/O Area for task 2145, enter:

CORE(2145)=FIOA

Subsequent task-related commands refer to task 2145 until the task numberis changed in a CORE command or until a new breakpoint occurs.

� To display the user portion of the TCA for the task currently at a breakpoint,enter:

CORE(*)=TCA

Displaying Any CICS Control Area Structure in the Symbolic File

Use the following command to display any CICS control area in the SymbolicFile, and to display the structure of the first entry in a control area:

CORE='CICS CONTROL AREA-NAME'

Examples These examples demonstrate how to display entries located on the CSA.

� To display the structure at the first entry in a control area, enter:

CORE=CSA

� To display the structure at a specific entry (CSADATFT) in the CSA, enter:

CORE=CSA.CSADATFT

Page 361: CA-Intertest for CICS User Guide

Displaying System-Related Areas

Accessing Main Storage: CORE 10�49

Displaying System-Related Areas

The following CORE keywords display areas of main storage that containsystem-related information.

CORE Keyword System-Related Storage Area

ABND Kernel Error Data Block (CICS 3.2 and above only)

CSA Common System Area

CWA Common Work Area

DCT Top entry in the Destination Control Table

DDIR DL/I DBD Directory

DEST=destid DCT entry for the specified transient data destination

DLP DL/I Interface Parameter List

FCT First entry of the File Control Table

FILE=filename FCT entry for the file specified by filename

FINDTRAN=progname * Find the transaction that passes control to the programspecified by progname

MAP=mapname Displays a BMS Map

MAP=name(mapset) Displays a BMS Map belonging to the mapset

OPFL Optional Features List of CICS

PCT * First entry of the Program Control Table

PDIR DL/I PSB Directory

PGM=progname * Area occupied by the named program

PPT * First entry of the Program Processing Table

PROG=progname PPT entry for the program specified by progname

RCT Resource Control Table

SIT CICS System Initialization Table

TCT Terminal Control Table address list

TERM=termid TCT entry for the terminal specified by termid

TERM=* TCT entry of the terminal where CORE is currentlyexecuting

TRAN=trancode * PCT entry for the transaction specified by trancode

*Not available with CICS Release 4.1.

Page 362: CA-Intertest for CICS User Guide

Changing the Contents of Main Storage

10�50 CA-InterTest User Guide

Changing the Contents of Main Storage

The following commands can be used to change the contents of main storage.However, CORE menus can be used to accomplish the same functions.

Commands that move data into a specified storage area are:

Command Function

MOVE Used when a COBOL or PL/I program is stopped at abreakpoint. This command was described earlier in the sectionCOBOL-like MOVE Command at a Breakpoint.

CHG Used to specify that data be moved into main storage at thecurrent or specified main storage location.

MOVEIN Used to move data from one location in storage to another.

SET Used to load an address into the low-order three bytes of aspecified fullword.

You can also verify the contents of a storage location before changing its contentsto ensure that you are specifying the correct location. To do this, use the VERcommand.

The CHANGE Command (CHG)

The CHG command is used to move new data into main storage. The new datais specified in the command after the keyword CHG in character, hexadecimal,packed, or binary format. This command has two formats:

� To move a data string into the main storage area that begins with the firstbyte of the current CORE display, enter:

CORE=CHGdata

� To move data into main storage beginning at the specified location, enter:

CORE=loc=CHGdata

Specify the data in a CHG command using any of the following formats:

� C'chardata' for character data

� X'hexdata' for hexadecimal data

� P'value' for packed decimal data

� F'value' for a binary fullword

� H'value' for a binary halfword preceded by a plus or minus sign

Replace 'value' with a decimal number, optionally preceded by a plus (+) orminus (-) sign.

Page 363: CA-Intertest for CICS User Guide

Changing the Contents of Main Storage

Accessing Main Storage: CORE 10�51

Examples To place 123 in the first three bytes of storage on display, enter:

CORE=CHGC'123'

To perform the same function as in Example 1, enter:

CORE=CHGX'F1F2F3'

To place the characters 123 in the first three bytes of the data field ACCT-NUMdefined in the program currently stopped at a breakpoint, enter:

CORE='ACCT-NUM'=CHGC'123'

To move the two-byte packed decimal value of 100 into the first two bytes of thedata field QUANTITY, enter:

CORE='QUANTITY'=CHGP'100'

When entering an apostrophe as part of character data, the apostrophe must berepeated.

To move the name O'HARA into the data area CUSNAME, specify:

CORE='CUSNAME'=CHGC'O"HARA'

Any combination of hexadecimal and character data can be entered.

To change the value of RECKEY to the name SMITH followed by two bytes ofbinary zeroes, specify:

CORE='RECKEY'=CHGC'SMITH'X'0000'

Bit Manipulation

Appending OC, NC, or XC after the data string lets you perform one of thefollowing logical operations to the contents of main storage:

� OC to OR the data in the command to storage

� NC to AND the data in the command to storage

� XC to EXCLUSIVE OR the data in the command to storage

Examples The following examples demonstrate how to manipulate main storage bits.

� To set the high order bit of the first byte on the current CORE display to 1, enter:

CORE=CHGX'80'OC

� To set the high order bit of the first byte on the current CORE display to 0, enter:

CORE=CHGX'7F'NC

� To reverse all the bits of the first byte on the current CORE display, enter:

CORE=CHGX'FF'XC

Page 364: CA-Intertest for CICS User Guide

Changing the Contents of Main Storage

10�52 CA-InterTest User Guide

Verifying Storage Before a Change

Use the VER command with a CHG command to prevent an incorrect change tostorage. This command verifies that the specified data is stored at the specifiedlocation. Specify the VER command as follows:

CORE=loc=VERdata

The data in a VER command is specified using the following formats:

C'chardata'� character data

X'hexdata'�hexadecimal data

Example Verify that the NAME field contains JIM before changing it to JAY. If JIM is notin the NAME field, the change command is rejected, enter:

CORE='NAME'=VERC'JIM'=CHGC'JAY'

Moving Data with the MOVEIN Command

The MOVEIN command, which allows you to move data, has two formats:

� To move data from the FROM location to the area currently displayed, enter:

CORE=MOVEIN,L=len,FROM=location

� To move data from loc2 to loc1, enter:

CORE=loc1=MOVEIN,L=len,FROM=loc2

The length parameter, L=len, specifies the number of bytes to be moved. Themaximum value for len is decimal 256, specified as 256T.

Example To move twenty (hexadecimal 14) bytes of data from NEWNAME intoCUSTNUM, enter:

CORE='CUSTNUM'=MOVEIN,L=14,FROM='NEWNAME'

Scrolling an Address with the SET Command

Specify the SET command to set an address as follows:

CORE=addr1=SET=addr2

The address specified by addr1 is placed into the three low-order bytes of thefullword whose address is given by addr2. The high-order (left-most) byte isfilled with binary zeroes.

Page 365: CA-Intertest for CICS User Guide

Scanning Main Storage

Accessing Main Storage: CORE 10�53

Examples These examples demonstrate how to use the SET command.

� To fill the fullword at F12DE8 with the data 00234ABC, enter:

CORE=234ABC=SET=F12DE8

� To put the starting address of the program named PROGRM1 into thefullword that is at a displacement of 2C from the beginning of the programnamed PROGRM2, enter:

CORE=PGM=PROGRM1=SET=PGM=PROGRM2+2C

Scanning Main Storage

The SCAN and SCAB commands search main storage for specified data. SCANsearches forward through storage, and SCAB searches backward. The commandformats let you search from the current CORE display or from a specifiedlocation.

� To begin a search at the first byte of the current CORE display, enter:

CORE=SCANrange,data or CORE=SCABrange,data

� To begin a search at the location specified as loc, enter:

CORE=loc=SCANrange,data or CORE=loc=SCABrange,data

The search terminates when the first occurrence of the specified data is found or thenumber of bytes specified in the range have been scanned. The range can be specifiedas a hexadecimal number or a decimal number followed by the letter T.

Examples These examples show how to search for and replace data in main storage.

� To search for the string STEVE beginning at the location TABLE1, enter:

CORE='TABLE1'=SCAN1000T,C'STEVE'

The search for STEVE proceeds forward for a maximum of (decimal) 1000bytes. If STEVE is not found a message appears.

� To search for STEVE starting at TABLE1, and to replace STEVE with thecharacter string CHRIS, enter:

CORE='TABLE1'=SCAN1000T,C'STEVE'=CHGC'CHRIS'

Note: This command only replaces the first occurrence of STEVE withCHRIS.

Page 366: CA-Intertest for CICS User Guide

Loading and Deleting Programs or Displaying BMS Maps

10�54 CA-InterTest User Guide

Loading and Deleting Programs or Displaying BMS Maps

To load and delete programs and to display BMS maps, use the COREcommands specified below.

� To load the named program or increase its current use count by 1, enter:

CORE=LOAD=progname

� To inform CICS that the named program can be deleted or to decrease itscurrent use count by 1, enter:

CORE=DLTE=progname

� To display the named BMS map, enter:

CORE=MAP=progname

If a program name contains any of the special characters, @, #, or $, you mustenter the program name as C�progname�. For example, to load the programnamed FIND#7 into main storage, enter:

CORE=LOAD=C'FIND#7'

Dumping Main Storage

Use either of the two formats shown below to dump main storage. The dumpwill be in the format of a partial CICS transaction dump, and will be written tothe CICS dump data set.

� To create a dump of the area currently on display, enter:

CORE=DUMP,L=len,ID=code

� To create a dump of the area beginning at the specified location, enter:

CORE=loc=DUMP,L=len,ID=code

L=len specifies the size of the dump. It can be specified as a hexadecimal numberor a decimal number followed by a T. This parameter is optional and, if omitted,defaults to the size of a CORE display.

ID=code specifies a dump code. If omitted, the default is CORE.

Following the dump ID, an optional message can be included in the DUMPcommand. A blank must separate the message from the command. The entireDUMP command and any messages are included in the dump.

Page 367: CA-Intertest for CICS User Guide

Chaining CORE Commands

Accessing Main Storage: CORE 10�55

Example To produce a dump of the storage area that was on the CORE display screen atthe time the command was entered, enter:

CORE=DUMP,ID=MY01 BAD ACCT NUMBER

The dump ID will be MY01, and the message BAD ACCT NUMBER will appearin the dump.

Chaining CORE Commands

In general, if you need to execute several CORE commands to achieve a desiredresult, you can chain the commands together into one command. The format forchaining commands together is:

CORE=command1=command2=...=commandn

which is equivalent to sequentially executing the commands as follows:

CORE=command1CORE=command2CORE=commandn

Examples The following examples demonstrate how CORE commands can be joined.

� To search the third storage area on the task's storage chain, enter:

CORE=STCA@4@4@4=SCAN2000,C'RONALD'=MOVEIN,L=6,FROM=256ABC

If the character string RONALD is found within hexadecimal 2000 bytes,CA-InterTest replaces it with whatever is at address 256ABC.

� To obtain a one hundred byte storage area for the task that is waiting at abreakpoint, and set the address of the first byte (after the eight byte longStorage Accounting Area) into the fullword at the address in register 6, enter:

CORE=GETM,L=100T+8=SET=R6@0

Page 368: CA-Intertest for CICS User Guide

The CALC Option

10�56 CA-InterTest User Guide

The CALC Option

When viewing a CORE display, you can overtype the TransID CORE with CALCto use the basic hexadecimal calculator function of CA-InterTest for CICS. TheCALC function displays the hexadecimal and equivalent decimal number for thegiven value on the bottom line of the screen. The current CORE display is notaffected. You can return to the CORE transaction by replacing CALC with CORE.

Note: When using the CALC function, decimal numbers must be followed bythe letter T, for base ten.

Examples The following examples show how to display hexadecimal and decimal values ofspecified numbers.

� To display the hexadecimal value of 200 and the decimal value of 512 on thebottom line of the screen, enter:

CALC=200

� To display the decimal value of 512 and the hexadecimal value of 200 on thebottom line of the screen, enter:

CALC=512T

� To display the hexadecimal value of 202 and the decimal value of 514 on thebottom line of the screen, enter:

CALC=0+(10*16T)+(16T*16T)+2

Converting PL/I Statement Numbers into Displacements

PL/I users who want to set breakpoints using hexadecimal offsets(displacements) need to use an offset calculated from the beginning of the maincontrol section. There are two ways to obtain such offsets:

� Use the offset given in the Assembler-like listing provided by the SourceListing option of the PL/I compiler. However, this listing is rather long.

� Use the offset listed in the Tables of Offsets and Statement Numbers portionof a PL/I listing for a statement. This offset is relative to the beginning of themachine code for the internal procedure. Then, calculate the offset relative tothe main control section using the following CORE command:

CORE=PGM=pgmname;+'procname'+offset

pgmname is the PPT ID of a PL/I program module. It must be followed by asemicolon and a plus sign.

procname is the name of an internal PL/I procedure as listed in theTables of Offsets.

Page 369: CA-Intertest for CICS User Guide

Converting PL/I Statement Numbers into Displacements

Accessing Main Storage: CORE 10�57

offset is a hexadecimal offset for a statement as listed in the Tables of Offsetsand Statement Numbers.

This command accepts the offset for a statement as listed in the Tables ofOffsets, and returns the hexadecimal value of the offset of that statement ascounted from the beginning of the main control section. The returned valuecan then be used to set a breakpoint or to request a CORE display of theprogram code at that location.

Examples An offset must be specified in the command. (Specify 0 as +0.)

CORE=PGM=TESTPROG;+'EDIT-INPUT'+10

The named program must reside in main storage. If it does not, you can use thefollowing command to load it:

CORE=LOAD=pgmname

When you are finished, you can use the following command to remove theprogram from main storage:

CORE=DLTE=pgmname

Page 370: CA-Intertest for CICS User Guide
Page 371: CA-Intertest for CICS User Guide

Accessing Auxiliary Storage: FILE 11�1

Chapter

11 Accessing Auxiliary Storage: FILE

Option 4 Auxiliary Storage, from the Primary Option Menu, invokes theCA-InterTest for CICS FILE transaction. This FILE transaction lets you display,add, change, and delete records in VSAM and BDAM files, DL/I, DB2, andSQL/DS databases, temporary storage, and transient data.

The FILE transaction is very useful when you want to update records or createtest data. You can use FILE at:

� Any time, even when the rest of CA-InterTest is inactive

� A breakpoint to inspect and modify data values and generate more test data

The changes you make to a file or database are always permanent, rather thandynamic, changes.

FILE Capabilities

Use FILE to perform the following functions. Each main function is an option onthe Auxiliary Storage Menu.

Note: The functions users can perform depend on the users� securityauthorization.

� Files (VSAM and BDAM)

� View, add, update, and delete records

� Browse a file

� Search for data

� Mass insert records into a VSAM file

� DB2 and SQL/DS Databases

� View a table

� Update columns in a table

� Delete rows from a table

Page 372: CA-Intertest for CICS User Guide

FILE Capabilities

11�2 CA-InterTest User Guide

� Insert a row in a table

� Issue other SQL commands, including CREATE, ALTER, DROP,COMMENT ON, LABEL ON, GRANT, and REVOKE

� DL/I Databases

� Retrieve segments

� Add, update, and delete segments

� Transient Data

� Retrieve a transient data record

� Add a transient data record

� Purge an intrapartition data queue

� Temporary Storage

� View or add a temporary storage record

� View or add a temporary storage queue record

� Search a temporary storage queue for data

� Purge a temporary storage queue

In addition to the functions listed above, you can use FILE to perform tasks thatwould otherwise require specially written programs. For example, you can useFILE to:

� Copy a record from one file to another

� Create test data from production files

FILE can perform these tasks because it retains retrieved record and segmentdata in its own WORK AREA.

The CA-InterTest for CICS FILE transaction is comprehensive. It allows you toperform interactively any function that is supported by CICS File Control andDL/I, and most DB2 functions. FILE uses CICS services exclusively; it does notuse the operating system's data access methods directly.

Page 373: CA-Intertest for CICS User Guide

FILE Work Area

Accessing Auxiliary Storage: FILE 11�3

Remote VSAM Fileand TemporaryStorage Support

FILE can be used to access and update remote VSAM files and temporarystorage. FILE supports:

� All VSAM file types

� Auxiliary and main temporary storage queues

� Temporary storage queue names of all valid lengths. If you are running CTSVersion 1.3, queue names can be up to 16 bytes or 32 hexadecimal characterslong.

No additional user input is required.

Note: Both sites must be at CA-InterTest for CICS Version 4.2 or above.

FILE Work Area

FILE keeps record or segment data in its own work area when performing anI/O operation. An input operation, such as a READ, places the requested datarecord or segment in FILE's work area and displays it on the screen.

Consider the following when working with the FILE work area:

� A successful input operation overwrites data currently in the work area.

� A successful output operation leaves all data in the work area intact. Youcan reuse the contents of the work area for any number of consecutive outputoperations without having to reacquire the same data.

� Changing data in the work area does not affect the contents of the accesseddata structure (file, database, temporary storage, transient data) until asuccessful output operation is performed.

� The contents of the work area can exceed the display capacity of the terminalscreen. You can display any portion of the work area by entering thelocation in the LOC field or using PF keys. Refer to the section DumpFormat for a complete description of the LOC field.

Page 374: CA-Intertest for CICS User Guide

Using the FILE Transaction and Menus

11�4 CA-InterTest User Guide

Using the FILE Transaction and Menus

The tasks described in this section apply to any type of data organization. Tasksspecific to a particular type of data organization are discussed in the appropriatesection. This section discusses the following topics:

� Beginning and Ending FILE Sessions

� Accessing FILE facilities

� Selecting a file or database

� Dump screen display format

� Character screen display format

� Vertical screen display format

� Structured screen display format

� Universal mode of data entry in the RCID, DATA, and SSA fields

� Accessing files and databases protected by CA-InterTest passwords

� Logging a FILE session

� Ending a FILE session

� FILE Facilities

� Using PF keys

� Scrolling through a record

� Using the LOC field to position the display

� Using the HELP facility

� Basic FILE Tasks

� Changing data in the work area

� Saving records in the work area and displaying the work area

� Dumping the work area

� Recording a copy of the screen display

Page 375: CA-Intertest for CICS User Guide

Using the FILE Transaction and Menus

Accessing Auxiliary Storage: FILE 11�5

Accessing File Facilities

Use the following methods to access the File facilities of CA-InterTest for CICS.

� From CICS, enter the transaction code FILE.

� From the Primary Option Menu, select Option 4 Auxiliary Storage.

� From any Source Listing display, breakpoint, or CORE display, enter FILEon the command line.

The Auxiliary Storage Menu, illustrated below, is displayed.

------------------ CA-InterTest 6.x AUXILIARY STORAGE MENU ------------------OPTION ===> 1

Select an auxiliary storage type, specifying optional criteria below.

1 Files - Display/select files for access2 DB2 database - Invoke DB2 SQL interface facility3 DL/I database - Access DL/I database4 TD queues - Display/select transient data queues for access5 TS queues - Display/select temporary storage queues for access

Type specific or generic file/queue name(s):

Protsym p*______ ________ ________ ________ ________ ________ ________

PF1 Help 2 3 End 4 Return 5 6PF7 8 9 10 11 12

To use the Auxiliary Storage menu:

1. Use the Option field to select the auxiliary storage type you want to view.

2. Optionally, enter one or more specific or generic names on the bottom fieldsof the menu. Generic names can include the masking characters * and +. Use* to indicate a string of any length, + to indicate a single character.

Note: If you are running CTS Version 1.3 and above, 16-byte and 32-hexadecimal character TS queue names are supported.

3. Press Enter to display a selection list of the files and queues that meet yourselection criteria.

Page 376: CA-Intertest for CICS User Guide

Using the FILE Transaction and Menus

11�6 CA-InterTest User Guide

Using the File Selection List

Use the File Selection list, illustrated below, to select the specific file or queue youwant to access. Type an s next to the File entry to select it for display.

Note: In a list spanning multiple pages, use the command LOCATE filename toposition the display to the desired file.

---------------------- CA-InterTest 6.x FILE SELECTION ----------------------COMMAND ===>

File Data set name Attributess PROTSYM AD1DEV.INTERT60.PROTSYM Vsa, Ope, Ena, Rea*** End of data ***

PF1 Help 2 Refresh 3 End 4 Return 5 6PF7 Backward 8 Forward 9 10 11 12

Refer to the chapter �Menus and Displays� for a list of the supported commandsavailable from all CA-InterTest for CICS Selection List displays and the standardPF Key definitions.

Initial File Display

The Initial File Display screen is shown next.

DATATYPE= FC FILEID= MODE= LOG=OFF TODEST= PASSWORD=FUNC= SUBFUNC= RETMETH= ARGTYP= SRCHTYP=MESSAGE=RETNRCID= CHGELEN=

RCID=DATA= SIZE= 0000

FORMAT= D 00112233 44556677 8899AABB CCDDEEFF *0123456789ABCDEF*LOC 0000 ........ ........ ........ ........ ................

� �

CA-InterTest 6.x

COPYRIGHT 1985, 1997, 2000Computer Associates International, Inc.

ALL RIGHTS RESERVED

-------------------------------------------------------------------------------1 Help 2 Format C 3 End 4 BEGB 5 PREV 6 DataType DL7 Page bwd 8 Page fwd 9 Caps Off 10 Top 11 Bottom 12

This screen has three distinct areas:

� The header area contains fields for specifying:

� Type of data organization (DATATYPE)

� Record or segment to be retrieved

� Format in which the data is to be displayed (FORMAT)

Page 377: CA-Intertest for CICS User Guide

Using the FILE Transaction and Menus

Accessing Auxiliary Storage: FILE 11�7

The sample screen shown above illustrates the default values for theDATATYPE field (FC - File Control) and for the FORMAT field (D - Dump).

� When FILE retrieves a record, it is displayed in this area.

� FCT information for a file or PCB information for a DL/I database is displayed inthis area. This area also indicates the functions that can be performed, such asREAD, BROWSE, and UPDATE.

Note: FILE uses different screens for accessing and displaying DB2 and SQL/DSdatabases. See the section Working with DB2 and SQL/DS Databases for moreinformation.

Specifying a File or Database

Follow this procedure to specify a file or a database:

1. Enter a file ID in the FILEID field, or the DL/I database identifiers in the PSBand DBD fields. No specification is needed for a DB2 or SQL/DS database.

2. If the default value in the DATATYPE field is not correct for the type of dataorganization you want to access, use PF6 to change it or replace the valuewith one of the following:

FC for VSAM or BDAM files

TS for Temporary Storage

TD for Transient Data

DL for DL/I databases

DB for DB2 or SQL/DS databases

3. If the display format is not suitable, press PF2 until the format you want isdisplayed, or replace the value in the FORMAT field with one of thefollowing:

D for Dump format

C for Character format

V for Vertical format

S for Structured format

Each of these formats is described in the sections that follow.

Page 378: CA-Intertest for CICS User Guide

Using the FILE Transaction and Menus

11�8 CA-InterTest User Guide

4. If you do not want the display to start at the beginning of the record, changethe value in the LOC field. You can change this field at any time during thesession. For example, to view the data in the 150th byte of a record, specify150 in the LOC field (95 for FORMAT= D) so byte 150 is the first bytedisplayed.

Dump Format

The following screen shows a record displayed in dump format.

DATATYPE= FC FILEID= INVNTRY MODE=BROWSE LOG=OFF TODEST= PASSWORD=FUNC= NEXT SUBFUNC= RETMETH= ARGTYP= SRCHTYP=MESSAGE= RECORD OBTAINED FOR VIEWINGRETNRCID=F0F0F0F0F0F0F0F0F0F5 CHGELEN=

RCID=DATA= SIZE= 0050

FORMAT= D 00112233 44556677 8899AABB CCDDEEFF *0123456789ABCDEF*LOC 0000 ........ ........ ........ ........ ................0000 F0F0F0F0 F0F0F0F0 F0F54040 40404040 0000000005 DSORG=VSKS0010 F0F3F9F9 0407835C 40404040 40404040 0399.... RECFM=VB0020 40404040 40404040 C1C2C340 C3D6D9D7 ABC CORP LRECL=00500030 F0F9F1F2 F8F74040 0000598C 40404040 091287 .... BLKSIZE=00000040 D1D6C8D5 404040E2 D4C9E3C8 40404040 JOHN SMITH KEYPOS=00000050 KEYLEN=0A0060 STRNO=0100700080 READ0090 BROWSE00A000B000C0

-------------------------------------------------------------------------------1 Help 2 Format C 3 End 4 ENDB 5 NEXT 6 DataType DL7 Page bwd 8 Page fwd 9 Caps Off 10 Top 11 Bottom 12

In this screen, the left side of the record displays the hexadecimal representationof each byte; the right side is the character representation of each displayablebyte; non-displayable bytes are shown as periods.

Dump format has the following characteristics:

Record/segment display�16 bytes per line; hexadecimal and character

Numeric information (such as, SIZE, LOC)�Hexadecimal

Field entry�Hexadecimal or universal mode

Position of first byte of data in record or segment�Location 0

LOC Field The LOC field determines where the display begins. For example, if the LOCfield specifies 002F, the first byte of data displayed is the 48th byte of the record.

The line numbers under the LOC field and the scale to the right of the FORMATfield help you determine the location of any byte of data. Each line numberindicates the first byte of data in that line.

Page 379: CA-Intertest for CICS User Guide

Using the FILE Transaction and Menus

Accessing Auxiliary Storage: FILE 11�9

To locate a particular byte, first go down to the correct line number, and then goacross to the correct position. For example, to locate the 48th byte of data (X�2F�)in the record in the previous figure, go down to LOC line 0020, and then acrossto position FF. This byte contains a �P� (X�D7�).

Character Format

The following screen illustrates a record displayed in character format.

DATATYPE= FC FILEID= INVNTRY MODE=BROWSELOG=OFF TODEST= PASSWORD=FUNC= NEXT SUBFUNC= RETMETH= ARGTYP= SRCHTYP=MESSAGE= RECORD OBTAINED FOR VIEWINGRETNRCID=0000000005 CHGELEN=

RCID=DATA= SIZE= 0080

FORMAT= C 00000000011111111112222222222333333333344444444445LOC 00001 12345678901234567890123456789012345678901234567890

.................................................. DSORG=VSKS00001 0000000005 0399.... ABC CORP09 RECFM=VB00051 1287 .... JOHN SMITH LRECL=008000101 BLKSIZE=0000000151 KEYPOS=0000100201 KEYLEN=01000251 STRNO=0010030100351 READ00401 BROWSE004510050100551-------------------------------------------------------------------------------1 Help 2 Format V 3 End 4 ENDB 5 PREV 6 DataType DL7 Page bwd 8 Page fwd 9 Caps Off 10 Top 11 Bottom 12

In this screen, the record is displayed in horizontal lines containing up to 50characters per line and non-displayable bytes are represented by periods.

Character format has the following characteristics:

Record/segment display�50 characters per line

Numeric information (such as, SIZE, LOC)�decimal numbers

Field entry�character, decimal, or universal mode

Position of first byte of data in record or segment�LOCation 1

The LOC field determines where the display begins. For example, if the LOCfield specifies 0065, the first byte of data displayed is the 65th byte of the record.

The line numbers under the LOC field and the vertically arranged scale to theright of the FORMAT and LOC fields help you determine the position of anybyte of data. Each line number indicates the first byte of data in that line.

To locate a particular byte, first go down to the correct line number, and then goacross to the correct position. For example, to locate the 65th byte of data in therecord in the previous figure, go down to LOC line 00051, and then across toposition 15. This byte contains a J.

Page 380: CA-Intertest for CICS User Guide

Using the FILE Transaction and Menus

11�10 CA-InterTest User Guide

Vertical Format

The following screen illustrates a record displayed in vertical format.

DATATYPE= FC FILEID= INVNTRY MODE=BROWSELOG=OFF TODEST= PASSWORD=FUNC= NEXT SUBFUNC= RETMETH= ARGTYP= SRCHTYP=MESSAGE= RECORD OBTAINED FOR VIEWINGRETNRCID=0000000005 CHGELEN=

RCID=DATA= SIZE= 0080

FORMAT= V 00000000011111111112222222222333333333344444444445LOC 00001 12345678901234567890123456789012345678901234567890

.................................................. DSORG=VSKS00001 0000000005 0399.... ABC CORP09 RECFM=VB

FFFFFFFFFF444444FFFF00854444444444444444CCC4CDDDFF LRECL=008000000000050000000399473C00000000000000001230369709 BLKSIZE=00000

KEYPOS=0000100051 1287 .... JOHN SMITH KEYLEN=010

FFFF4400584444DDCD444EDCEC4444 STRNO=001128700009C00001685000249380000

READ00101 BROWSE

-------------------------------------------------------------------------------1 Help 2 Format D 3 End 4 ENDB 5 PREV 6 DataType DL7 Page bwd 8 Page fwd 9 Caps Off 10 Top 11 Bottom 12

In vertical format, the data is displayed in groups of three lines similar to a DITTOoutput, with a blank line separating each group. Each line is represented as follows:

� Line 1 represents character format

� Line 2 represents hexadecimal values of the zone (high order) half-bytes

� Line 3 represents hexadecimal values of the digit (low order) half-bytes

Vertical format has the following characteristics:

Record/segment display�50 bytes per line; hexadecimal and character

Numeric data display (such as SIZE)�decimal numbers

Field entry� character, decimal, or universal mode

Position of first byte of data in record or segment�LOCation 1

The LOC field determines where the display begins. For example, if the LOC fieldspecifies 00020, the first byte of data displayed is the 20th byte of the record.

The line numbers under the LOC field and the vertically arranged scale to the right ofthe FORMAT and LOC fields help you determine the location of any byte of data.Each line number indicates the first byte of data in that line.

To locate a particular byte, first go down to the correct line number, and then goacross to the correct position. For example, to locate the 20th byte of data in the recordin the previous figure, go down to LOC line 00001, and then across to position 20.This byte contains a �9� (X�F9�).

Page 381: CA-Intertest for CICS User Guide

Using the FILE Transaction and Menus

Accessing Auxiliary Storage: FILE 11�11

Structured Format

FILE can display file, transient data, and temporary storage records or DL/Isegments field-by-field in structured format. COBOL and PL/I structures use 01level data names; Assembler structures use DSECT names.

To display a record or segment in structured format, you must identify theprogram containing the structure. Symbolic information for this program mustbe saved in the CA-InterTest for CICS Symbolic File. Follow these steps todisplay a record or segment in structured format:

1. If the FORMAT field does not contain S, press PF2 until FORMAT=S isdisplayed. The USE= field now appears after the FORMAT field.

2. Identify the program and structure in the USE= field, as follows:

USE=symbolic-name.structure-name

symbolic-name is the name of the program as defined in the Symbolic File.

structure-name is the COBOL or PL/I 01 level name or the Assembler DSECT.

3. Press Enter. CA-InterTest displays the record in structured format.

Sample Records in Structured Format

The following screen illustrates a record in COBOL or PL/I structured format.

DATATYPE= FC FILEID= INVNTRY MODE= LOG=OFF TODEST= PASSWORD=FUNC= SUBFUNC= RETMETH= ARGTYP= SRCHTYP=MESSAGE= RECORD OBTAINED FOR VIEWINGRETNRCID=F1D7D9D6E3E2E8D440000000000000000000000000000000 CHGELEN=

RCID= C'1'DATA= SIZE= 02D8

FORMAT= S USE= PRODUCT.PRODRECLOC 0050 Name Hexadecimal Character-------------------------------------------------------------------------------01 PRODREC | |02 PRODUCT-TYPE | D3 | L02 PRODUCT-CODE | C2D4D5C8 40404040 | BMNH02 PRODUCT-DESCRIPTION | E6D9C5D5 C3C8 | WRENCH

02 PRODUCT-SITE | D1 | J| || || || || || || |

-------------------------------------------------------------------------------1 Help 2 Format D 3 End 4 BEGB 5 6 DataType DL7 Page bwd 8 Page fwd 9 Caps Off 10 Top 11 Bottom 12

Page 382: CA-Intertest for CICS User Guide

Using the FILE Transaction and Menus

11�12 CA-InterTest User Guide

The following screen illustrates a record in Assembler structured format.

DATATYPE= FC FILEID= INVNTRY MODE= LOG=OFF TODEST= PASSWORD=FUNC= SUBFUNC= RETMETH= ARGTYP= SRCHTYP=MESSAGE=RETNRCID=D3C2D4D5C840404040404040404040404040404040404040 CHGELEN=

RCID= C'1'DATA= SIZE= 0050

FORMAT= S USE= PRODUCT.PRODRECLOC 0000 Displacement Hexadecimal Character-------------------------------------------------------------------------------PRODTYPE 0 | D3 | LPRODCODE 1 | C2D4D5C8 40404040 | BMNHPRODDESC 9 | E6D9C5D5 C3C8 | WRENCHPRODSITE 18 | D1 | J

| || || || || || || |

-------------------------------------------------------------------------------1 Help 2 Format D 3 End 4 BEGB 5 6 DataType DL7 Page bwd 8 Page fwd 9 Caps Off 10 Top 11 Bottom 12

� Both screens list the contents of each data name in both hexadecimal andcharacter format.

� For Assembler DSECTs, the display also includes the displacement.

� Non-displayable bytes are represented by periods.

Structured format is very similar to dump format:

Record/segment display�For Assembler, 16 bytes per line; for COBOL or PL/I,12 bytes per line in hexadecimal and character

Numeric information (such as, SIZE, LOC)�hexadecimal

Field entry� hexadecimal or universal mode

Position of first byte of data in record or segment�LOCation 0

The structure-name remains valid throughout the FILE session unless it ischanged. This allows you to shift display formats or data types without re-entering the structure-name.

Special Features

� To change the symbolic-name or structure-name, overtype the command inthe USE= field.

� The FCT or PCB information is not displayed. To see this information,switch to another display format.

� The structure is positioned at the data name whose offset is less than or equalto the LOC= value, except during scrolling.

Page 383: CA-Intertest for CICS User Guide

Using the FILE Transaction and Menus

Accessing Auxiliary Storage: FILE 11�13

Using Structured Format When a Program Is at a Breakpoint

When a program is stopped at a breakpoint, you can substitute an asterisk (*) forthe symbolic-name. For example, if program PAYROLL is stopped at abreakpoint and you enter:

USE=*.payrec

CA-InterTest for CICS uses the program named PAYROLL and the PAYRECstructure.

Using a Global Program Name

Your site can compile a default dummy COBOL or PL/I program that containsall of the 01 level structures used at the site, or an Assembler program thatcontains all of the DSECTs. Symbolic information for this program must bestored in the CA-InterTest for CICS Symbolic File.

The symbolic name for this program is referenced in the FSYMP installationname. The default name is PROTFILE. See the CA-InterTest for CICS GettingStartedfor details.

If a default global program has been compiled or assembled, you can obtain astructured record format by entering the following command:

USE=structure-name

The symbolic-name defaults to the default dummy program name.

Finding a Data Name

To search the structure for a specific data name, enter the following command inthe DATA= field:

Note: The FIND command is valid only when FORMAT=S.

FIND=data-name

data-name is the data name to be displayed.

The search is applied to the beginning of a data name. For example, FIND=A9finds the field named A9-AREA, but not the field named AREA-A9.

The search begins with the data name after the starting point and continues untileither a match is found or the search has wrapped around to the original startingpoint. A message signals a possible wraparound.

Page 384: CA-Intertest for CICS User Guide

Using the FILE Transaction and Menus

11�14 CA-InterTest User Guide

Universal Mode of Data Entry in the RCID, DATA, and SSA Fields

Use the universal mode of entering data in the RCID, DATA, and SSA fieldswhen you are entering information that contains both character and binary data(such as a VSAM key), or when it is inconvenient to change the display format.

Enter data as follows:

� Character Data. Specify C� (C and a single quote) before the character stringand a � (single quote) after it. Double any apostrophes that appear within thestring. For example: C�O��MALLEY�.

� Hexadecimal Data. Specify X� (X and a single quote) before the data and a� (single quote) after it. The data must be an even number of hexadecimalcharacters. For example: X�001F�.

Note: You can specify an RCID up to 32 hexadecimal characters long.

You can also enter data that is both character and hexadecimal; for example,C�1234�X�000F�.

Accessing Files and Databases Protected by CA-InterTest for CICS Passwords

Certain files or DL/I databases could have been assigned CA-InterTest for CICSpasswords when CA-InterTest for CICS was installed. A password can preventunauthorized viewing and updating. FILE only lets you access such a file or databaseif you enter the correct password in the PASSWORD field. If you do not enter thecorrect password when one is required, FILE terminates.

Note: CA-InterTest for CICS password protection decisions were made by theperson who installed CA-InterTest for CICS. Consult that person or the CA-InterTestfor CICS Getting Startedfor more information.

Logging a FILE Session

FILE's logging facility lets you record the input commands and output screensgenerated during a FILE session in character format. The log is written to thetransient data destination specified when CA-InterTest for CICS was installed.

To see the name of the destination:

1. On a clear screen, enter VRPT.

2. Select option 02.

3. The GLOG option indicates the name of the destination.

To activate logging, enter:

FUNC= LOG

Page 385: CA-Intertest for CICS User Guide

Using the FILE Transaction and Menus

Accessing Auxiliary Storage: FILE 11�15

To terminate logging, enter:

FUNC= NLOG

When logging is in effect, the LOG field contains LOG= ON and theFUNC=COPY function is disabled. When it is not in effect, the LOG fieldcontains LOG= OFF.

Note: If the AUDIT installation option has been set at installation time, youcannot terminate logging.

Ending a FILE Session

Terminate FILE by pressing PF3 or the Clear key.

Using PF Keys

The PF keys perform the functions shown in the following table when you areusing FILE.

PF Key Function

PF1 Help initiates the CA-InterTest online Help facility.

PF2 Format C V D S changes the format displayed to either Character,Vertical, Dump, or Structured.

PF3 End or Clear terminates the FILE facility.

PF4 BEGB ENDB begins or ends a Browse for VSAM files specified forbrowse in the FCT table.

PF5 PREV NEXT displays the previous or next record in browse mode.

PF6 DataType changes the DATATYPE to the code displayed next to the PF6key: FC for File Control, DL for DL/I, TD for Transient Data, TS forTemporary Storage, and DB for both DB2 and SQL/DS.

PF7 Page Bwd scrolls the current display one page backward.

PF8 Page Fwd scrolls the current display one page forward.

PF9 Caps Off/Caps On sets the mode of translation when changing data inthe character area of the display. When Caps On is displayed, allcharacter data is accepted as typed. When Caps Off is displayed, allcharacter data on the line is translated to uppercase. Press PF9 to changefrom one mode to the other.

Note: Translation to uppercase will not occur if an existing lowercasecharacter would be affected; a message is issued instead.

Page 386: CA-Intertest for CICS User Guide

Using the FILE Transaction and Menus

11�16 CA-InterTest User Guide

PF10 Top scrolls the current display to the top of the work area.

PF11 Bottom scrolls the current display to the last page of the work area.

Scrolling through a Record

Use these PF keys to page forward and backward through a record, and todisplay the beginning or end of a record:

� PF8 pages forward

� PF7 pages backward

� PF10 displays beginning of record

� PF11 displays end of record

Using the LOC Field to Position the Display

The LOC field controls the position of the first displayed byte in the WORKAREA. The following table explains the values that you can enter in the LOCfield to control the position of the first displayed byte.

Tip: To determine the location of any byte on the data display portion of thescreen, add the number on the left end of the line (the number under theLOC field) to the number above the byte in the data display header (to theright of the FORMAT= field).

LOC Position of Data

Hexadecimal value,relative to zero

For FORMAT=D or S, indicates the relative displacementof the first displayed byte.

Decimal value,relative to one

For FORMAT=C or FORMAT=V, indicates the relativedisplacement of the first displayed byte.

? and cursor ispositioned in therecord display area

The cursor position becomes the first displayed byte whenyou press Enter. The LOC field reflects the hexadecimal ordecimal position, depending on the FORMAT= field.

FWD or PF8 Advances the data display forward one full page.

BWD or PF7 Moves the data display backward one full page.

TOP or PF10 Positions the display on the first byte.

END or PF11 Positions the display on the last page of data.

Page 387: CA-Intertest for CICS User Guide

Using the FILE Transaction and Menus

Accessing Auxiliary Storage: FILE 11�17

Using the Help Facility

The Help facility summarizes the steps required to perform FILE functions.Access the Help facility by pressing the PF1 key from any FILE screen. The HELPscreen that explains how to view a VSAM record is shown below.

CA-InterTest - INTERACTIVE HELP FACILITY -TUTORIAL: TO VIEW A VSAM RECORD1. Start the FILE session, and specify: DATATYPE= FC

2. Specify the file name by entering: FILEID= name of file

3. Enter the following required fields: FUNC= GETRCID= record identification

4. Optionally enter one of the following values in the SRCHTYP or ARGTYP field:SRCHTYP= FKEQ or FKGE (with RCID= a full key KSDS only )SRCHTYP= GKEQ or GKGE (with RCID= a generic key KSDS only )ARGTYP= RBA (with RCID= the 4-byte RBA of the record)

NOTE : The following are the defaults: ARGTYP=KEY and SRCHTYP=FKEQ

5. Press ENTER to display the record data with the following fields filled in:

SIZE= the number of bytes in the record (the size of the work area)RETNRCID= the ID of the returned record.

(end)

------------------------------------------------------------------------------ENTER N FOR NEXT PAGE, P FOR PRECEDING PAGE, F FOR FIRST PAGE, OR -M FOR RETURN TO PREVIOUS MENU. PRESS CLEAR TO EXIT. SELECTION ==> M

Changing Data in the Work Area

Change FILE work areas by overtyping the hexadecimal or character datadisplayed on the screen with new data. Any number of bytes can be overwrittenwith any uppercase or lowercase character.

Note: If you overtype the same data in both hexadecimal and character displayfields, the hexadecimal change takes precedence.

You can also replace record data with fill characters, data from CORE, or datafrom the saved WORK AREA.

Page 388: CA-Intertest for CICS User Guide

Using the FILE Transaction and Menus

11�18 CA-InterTest User Guide

Using the CHGE Function

Follow this procedure when using the CHGE function:

1. To change data in the WORK AREA, position the first byte (character) of thedata that is to be changed so that it is the first byte of the FILE display. Thereare two ways to do this:

� Type the desired location in the LOC field, and press Enter.

� Type a question mark (?) in the LOC field, position the cursor at theappropriate location in the record, and press Enter.

You can delay pressing Enter until you have completed Step 2.

2. Fill in the FUNC= and DATA= fields as shown below:

FUNC=CHGEDATA= new data

Then, fill in the following optional field, if it applies to your situation:

CHGELEN = length of the data to be changed

Use a hexadecimal number for FORMAT=D and a decimal number for allother FORMATs.

3. Press Enter. The MESSAGE= field displays the following message and thedisplayed record shows the new data at the proper location.

xxx NUMBER OF BYTES CHANGED

Example To change four bytes at location 20 to the literal TEST, fill in the fields as shownbelow, and press Enter:

FUNC=CHGEDATA=C'TEST'LOC=00020 (or 0013 for FORMAT=D)

Filling Part of the Work Area with a Character String

To fill part of the WORK AREA with a character string, specify the followingfields, and press Enter:

FUNC=CHGESUBFUNC=FILLCHGELEN= length of area to be changedDATA= character stringDOC= starting position

Example To move 30 spaces into locations 15 to44, specify the following fields and pressEnter:

FUNC=CHGESUBFUNC=FILLCHGELEN=0030 (or 001E for FORMAT=D)DATA=C' ' (or X'40')LOC=00015 (or 000E for FORMAT=D)

Page 389: CA-Intertest for CICS User Guide

Using the FILE Transaction and Menus

Accessing Auxiliary Storage: FILE 11�19

Copying Data from a Main Storage Location

To copy data from a main storage location into the WORK AREA, specify thefollowing and press Enter:

FUNC=CHGESUBFUNC=COREDATA= CORE command that determines the source addressCHGELEN= length of area to be changedLOC= starting position

Examples The following examples demonstrate how to copy data from main storage.

1. To copy 16 bytes from TWA+8 (at a CA-InterTest breakpoint) into locations48to 63 of the record, specify the following, and press Enter:

FUNC=CHGESUBFUNC=CORECHGELEN=0016 (or 0010 for FORMAT=D)DATA=CORE=TWA+8LOC=00048 (or 002F for FORMAT=D)

2. Suppose you are stopped at a breakpoint in a COBOL program. You want tocopy ten bytes of data from a field named SOC-SEC-NUMBER into locations 1 to10 of the record. To do this, specify the following and press Enter:

FUNC=CHGESUBFUNC=CORECHGELEN=0010 (or 000A for FORMAT=D)DATA=CORE='SOC-SEC-NUMBER'LOC=00001 (or 0000 for FORMAT=D)

Copying Data from a Saved Work Area

To copy data from a saved work area into the current WORK AREA, specify thefollowing, and press Enter:

FUNC=CHGESUBFUNC=FROMCHGELEN= length of the area to be changedDATA=FROMLOC= location of the data in the saved WORK AREALOC= starting position

Example To copy the first 25 bytes of data from a previously saved area into locations 25 to 49of the current area, specify the following and press Enter:

FUNC=CHGESUBFUNC=FROMCHGELEN=0025 (or 0019 for FORMAT=D)DATA=FROMLOC=1 (or 0 for FORMAT=D)LOC=0025 (or 0018 for FORMAT=D)

Page 390: CA-Intertest for CICS User Guide

Using the FILE Transaction and Menus

11�20 CA-InterTest User Guide

Saving Records and Displaying Work Areas

A copy of the displayed record can be saved in a WORK AREA. This is usefulwhen you want to create new records using an existing record as a skeleton, orwhen you want to modify an existing record using data from a saved record.

To save the record currently displayed, enter:

FUNC= SAVE

A previously saved record area is destroyed.

To display the saved area, enter:

FUNC= DISS

To display the active WORK AREA, enter:

FUNC= DISW

Dumping the Work Area

The work area can be written to the CICS transaction dump file. To dump theWORK AREA, enter:

FUNC= DUMPTODEST= a four character dump code

You can also enter an explanatory note in the MESSAGE field. The note appearsin the dump.

Recording a Copy of the Screen Display

The WORK AREA can be copied to a transient data queue. To copy the workarea to a TD queue, enter:

FUNC= COPYTODEST= a transient data queue ID

You can also enter an explanatory note in the MESSAGE field. The note iswritten with the work area.

Note: This function is invalid when logging is in effect.

Page 391: CA-Intertest for CICS User Guide

Common FILE Functions

Accessing Auxiliary Storage: FILE 11�21

Common FILE Functions

The following FILE commands can be entered in the FUNC= field for all datatypes except DB2 and SQL/DS databases.

Command Function

ADDN Acquires a new work area for record insertion.

ADDU Uses an existing work area for record insertion.

CHGE Changes data in the work area.

COPY Copies a work area to the transient data destination specified inthe TODEST field.

DISS Displays the saved work area.

DISW Displays the current work area.

DUMP Dumps the work area using the dump code entered in theTODEST field.

END Ends the FILE session.

HELP Accesses Help for FILE.

LOG Logs all FILE transaction requests and responses.

NLOG Terminates logging.

SAVE Creates a copy of the current work area.

SRCH Searches for the data string specified in the DATA field (notvalid for DL/I or transient data).

Working with VSAM Files

The FILE transaction can perform any VSAM function allowed in your CICSsystem.

Note: You might want to consult the IBM CICS/VS Application Programmer'sReference Manual for information on using VSAM files. This manual can help youformulate your FILE requests correctly, and explains the meaning of manyresponses you will receive from FILE.

To begin processing a VSAM file, first make sure you are viewing the correctscreen. The DATATYPE= field should be set to FC. If not, press PF6 or enter:

DATATYPE= FC

Page 392: CA-Intertest for CICS User Guide

Working with VSAM Files

11�22 CA-InterTest User Guide

Then enter:

FILEID= file name

The other information you enter depends on the function you want to perform.

Identifying the Record

When you access a VSAM file for the first time, the record identification field isset as follows:

KSDS and ESDS nulls (X`00')RRDSone (X`01')

Note: Data entered in the RCID field overrides these values.

Occasionally, the last record identification for a file is needed as the first recordidentification for another file. To prevent the RCID from being reset to nulls orto one, enter LAST in the SUBFUNC field when you specify the new filename inthe FILEID field. The LAST subfunction works only when a file is requested forthe first time.

FILE Screen Layout for VSAM Files

The screen below illustrates a blank header area on a FILE screen for VSAM files.Refer to the sections on Dump, Character, Vertical, and Structured Format forillustrations of the complete screen.

DATATYPE= FC FILEID= MODE= LOG= TODEST= PASSWORD=FUNC= SUBFUNC= RETMETH= ARGTYP= SRCHTYP=MESSAGE=RETNRCID= CHGELEN=

RCID=DATA= SIZE=

FORMAT= D 00112233 44556677 8899AABB CCDDEEFF *0123456789ABCDEF*LOC 0000 ........ ........ ........ ........ ................

-------------------------------------------------------------------------------1 Help 2 Format D 3 End 4 BEGB 5 6 DataType DL7 Page bwd 8 Page fwd 9 Caps Off 10 Top 11 Bottom 12

Page 393: CA-Intertest for CICS User Guide

Working with VSAM Files

Accessing Auxiliary Storage: FILE 11�23

The fields provide the following information:

Fields Function

DATATYPE Identifies the type of data organization. This must be FC.

FILEID Specifies the name of the VSAM file.

MODE Identifies the FILE operation such as browse, update, add, add inmass insertion. This field is blank if you are just viewing a record.

LOG Specifies whether FILE's logging facility is on or off.

TODEST Identifies a transient data destination (when a work area iscopied) or a dump identification (when a work area is dumped).

PASSWORD Must contain a four-character password if the file is protected.

FUNC Specifies the FILE function. When this field contains a functioncode, it is executed if you press Enter. In addition to commonFILE functions, the following commands can be entered: BEGB,DEL, ENDB, GET, GETU, NEXT, PREV, PUT, REL.

SUBFUNC Modifies a FUNC specification.

RETMETH Identifies the RCID field (BDAM files only).

ARGTYP No longer required.

SRCHTYP Specifies how RCID information is processed (KSDS files only).

MESSAGE Contains FILE messages. You can also specify messages herewhen FUNC=COPY or FUNC=DUMP.

RETNRCID Contains the record key of the retrieved record.

CHGELEN Specifies the number of bytes changed in the work area whenFUNC=CHGE.

RCID Identifies the record to be processed.

DATA Contains data needed to perform certain FILE functions.

SIZE Specifies the record size or the number of records to be searched.

FORMAT Specifies the format in which the record is displayed.

USE Specifies the program and structure for structured format.

LOC Specifies a location within a record.

Some fields are used only for certain tasks. The discussion of each FILE functionindicates which fields must be specified.

Page 394: CA-Intertest for CICS User Guide

Working with VSAM Files

11�24 CA-InterTest User Guide

When a record is displayed, its FCT information appears in the lower-rightportion of the screen. This information includes the following:

DSORG (data organization)

RECFM (record format)

LRECL (record length)

BLKSIZE (blocksize)

KEYPOS (key position)

KEYLEN (key length)

STRNO (string number)

Beneath the FCT information is a list of the functions that can be performed, suchas READ, ADD, UPDATE, BROWSE, DELETE.

FILE Functions for VSAM Records

The following FILE functions are discussed in this section:

� Viewing a VSAM record

� Browsing a VSAM file

� Searching for a data string

� Updating a VSAM record

� Adding a VSAM record

� Mass insertion into a VSAM file

� Copying a VSAM record from one file to another

� Deleting VSAM records

Viewing a VSAM Record

To view a VSAM record, specify the READ function in the FCT for that file.

1. Enter the following required information for all VSAM files:

FUNC= GETRCID= key

For a KSDS file, the key is a full or generic key, depending on the optionalSRCHTYP field. Specify the key in hexadecimal or character format or acombination of both.

For an ESDS file, the key is a four-byte hexadecimal number representingthe relative byte address (RBA).

Page 395: CA-Intertest for CICS User Guide

Working with VSAM Files

Accessing Auxiliary Storage: FILE 11�25

For an RRDS file, the key is a four-byte hexadecimal number representingthe relative record number.

2. Enter the following optional information for a KSDS file:

SRCHTYP= FKEQ/FKGE/GKEQ/GKGE

� If you specify SRCHTYP=FKEQ, enter the full key in the RCID field.FILE retrieves the specified record. This is the default.

� If you specify SRCHTYP=FKGE, enter the full key in the RCID field.FILE retrieves the specified record or the record with the next higherkey.

� If you specify SRCHTYP=GKEQ, enter a generic (partial) key in theRCID field. FILE retrieves the first record whose key matches thegeneric key.

� If you specify SRCHTYP=GKGE, enter a generic (partial) key in theRCID field. FILE retrieves the first record whose key matches thegeneric key or the next higher key.

3. Press Enter. FILE displays the requested record.

Browsing a VSAM File

To browse a VSAM file, specify the BROWSE function for that file in the FCT.

1. Enter the following required information for all VSAM files (or press PF4):

FUNC= BEGB

You can also specify a key in the RCID field to begin to browse from aspecified record.

� For a KSDS file, this key can be a full or generic key, depending on theSRCHTYP field.

� For an ESDS file, you must also specify ARGTYP= RBA.

2. Enter the following optional information for a KSDS file:

SRCHTYP= FKGE/FKEQ/GKGE/GKEQ

� If you specify SRCHTYP=FKGE, enter the full key in the RCID field. Thebrowse starts at the record with that key or the next higher key. This isthe default.

� If you specify SRCHTYP=FKEQ, enter the full key in the RCID field. Thebrowse starts at this record.

� If you specify SRCHTYP=GKGE, enter a generic (partial) key in theRCID field. The browse starts at the first record whose key matches thegeneric key or the next higher key.

Page 396: CA-Intertest for CICS User Guide

Working with VSAM Files

11�26 CA-InterTest User Guide

� If you specify SRCHTYP=GKEQ, enter a generic (partial) key in theRCID field. The browse starts at the first record whose key matches thegeneric key.

3. Press Enter. FILE displays the first retrieved record. The FUNC field ispreset to NEXT.

� To view the records in ascending sequence, press Enter.

� To view the records in descending sequence, enter FUNC=PREV, andthen repeatedly press Enter to display the records in descendingsequence. The PREV function can be used only if the browse is initiatedwith SRCHTYP=FKEQ.

� Both NEXT and PREV can be used during the same browse operation.Use PF5 to change descending and ascending sequence.

4. Terminate the browse by pressing PF4, specifying FUNC=ENDB, orspecifying one of these functions: GET, GETU, ADD, or ADDU.

Example To view the record with the key �REC001� and the next record, and then toterminate the browse, follow these steps:

1. Specify the following (or press PF4):

FUNC= BEGBRCID= C`REC001'

Press Enter to display the record with a key of REC001.

2. Press Enter to display the next record.

3. Press PF4 to end the browse.

Searching for a Data String

To search for a data string, specify the BROWSE function for the file in the FCT.

1. Specify the following required information:

FUNC= SRCHRCID= id of record where search should beginDATA= data string to be locatedLOC a number or the keyword ANY

If a number is entered in the LOC field, FILE looks for the data string only atthe specified location. If ANY is entered, FILE searches the entire record forthe specified data string.

2. To search more than one record, enter the number of records that you wantto search in the SIZE field.

3. Specify the following optional information for a KSDS file:

SRCHTYP= FKGE/FKEQ/GKEQ/GKGE

Page 397: CA-Intertest for CICS User Guide

Working with VSAM Files

Accessing Auxiliary Storage: FILE 11�27

� If you specify SRCHTYP=FKGE, enter the full key in the RCID field. Thesearch starts with the specified record or the record with the next higherkey. This is the default.

� If you specify SRCHTYP=FKEQ, enter the full key in the RCID field. Thesearch starts with the specified record.

� If you specify SRCHTYP=GKEQ, enter a generic (partial) key in theRCID field. The search starts with the first record whose key matchesthe generic key.

� If you specify SRCHTYP=GKGE, enter a generic (partial) key in theRCID field. The search starts with the first record whose key matchesthe generic key or the next higher key.

4. Press Enter. If FILE finds the requested data string, it displays the record inwhich it is found, starting with the requested string. The RETNRCID fielddisplays the ID of the record and the LOC field displays the record positionat which the data was found.

If the data is not found, the message DATA NOT FOUND is displayed.

Example To scan up to ten records in the file ACCTS looking for the data string TEST inrecord positions 20-23, and to begin the search with the record whose ID isNEWREC001, specify the following:

FILEID= ACCTSFUNC= SRCHRCID= C`NEWREC001'DATA= C`TEST'LOC 00020 (or 0013 for FORMAT=D)SIZE= 0010 (or 000A for FORMAT=D)

Press Enter to display the data.

Updating a VSAM Record

To update a record, specify the UPDATE function for the file in the FCT.

1. Retrieve the record you want to update, and then enter the appropriatecommand:

FUNC= GETURCID= key (for all VSAM files)

FUNC= GETRCID= key (for KSDS files only)

Press Enter, or browse the file.

2. Change any portion of the record, except a KSDS key. Refer to the sectionChanging Data in the Work Area for details.

Page 398: CA-Intertest for CICS User Guide

Working with VSAM Files

11�28 CA-InterTest User Guide

3. After you have made all the changes, specify the following, and then pressEnter:

FUNC= PUTSIZE= new record size

Specify the SIZE field only when changing the size of a variable length record.

4. FILE rewrites the updated record.

Adding a VSAM Record

To add a record, specify the ADD function for the file in the FCT.

1. Specify the following required information:

FUNC= ADDN (to obtain a new work area)

or

FUNC=ADDU (to use the data in the current work area)

Press Enter to obtain the work area to be used for the new record. FILEdisplays the maximum record length in the SIZE field and ADD in theMODE field.

2. Specify the following optional information:

FUNC= CHGESUBFUNC= FILLDATA= data string

Press Enter.

� For FUNC=ADDN, the data string fills the new work area.

� For FUNC=ADDU, the data string fills the extended portion of the workarea.

3. Change the data in the work area to meet your requirements. Refer to thesection Changing Data in the Work Area for details.

4. To write the updated record, enter the following required information:

FUNC= PUTRCID= record idSIZE= record length

For a KSDS file, the record ID overlays the key portion of the record.

Note: Specify the SIZE field only when adding a variable length record.

Press Enter. FILE redisplays the new record and displays the messageRECORD ADDED.

5. If you decide not to add this record, specify FUNC= REL. FILE continues todisplay the record and displays the message FWA HAS BEEN RELEASED.

Page 399: CA-Intertest for CICS User Guide

Working with VSAM Files

Accessing Auxiliary Storage: FILE 11�29

Mass Insertion into a VSAM File

Follow the same procedure for adding a single record.

1. Specify FUNC=ADDN, or FUNC=ADDU and SUBFUNC=MASS. You canoptionally specify the DATA= data string field.

2. Make your changes and write the new record. Repeat the procedure ofmaking changes and writing the new record until you have added all therecords.

3. Enter FUNC= REL to terminate the mass insertion operation.

Example To insert the records with record keys of NEWREC004, NEWREC005, andNEWREC008 into the ACCTS file, and initialize all records to blanks, followthese steps:

1. Specify the following, and then press Enter:

FILEID= ACCTSFUNC= ADDNSUBFUNC= MASS

2. Specify the following, and then press Enter:

FUNC= CHGESUBFUNC= FILLDATA= C` '

3. Specify the following, and then press Enter:

FUNC= PUTRCID= C`NEWREC004'

4. Specify the following, and then press Enter:

FUNC= PUTRCID= C`NEWREC005'

5. Specify the following, and then press Enter:

FUNC= PUTRCID= C`NEWREC008'

6. Specify the following, and then press Enter:

FUNC= REL

Copying a VSAM Record from One File to Another

To copy a record from one file to a second file, specify the READ function for thefirst file and the ADD function for the second file.

1. To retrieve the record you want to copy, specify the following, and thenpress Enter or browse the file:

FILEID= file ID of source fileFUNC= GETRCID= key

Page 400: CA-Intertest for CICS User Guide

Working with VSAM Files

11�30 CA-InterTest User Guide

2. After FILE displays the record, specify the following, and then press Enter:

FILEID= file ID of destination fileFUNC= ADDU

3. Make any necessary changes, then specify the following, and press Enter:

FUNC= PUTRCID= keySIZE= record length

Note: Specify the SIZE field only when adding a variable length record.

FILE redisplays the record and displays the message RECORD ADDED.

Repeat Steps 1 through 3 to copy additional records.

Note: If the LRECLs of the two files differ, the LRECL of the destination filedetermines the size of the record. The record will either be truncated orpadded with binary zeros to meet that length.

Example To copy a record with the key �REC050� from the ACCTS file to the TEST file,follow these steps:

1. Specify the following, and then press Enter to display the record:

FILEID= ACCTSFUNC= GETRCID= C`REC050'

2. Specify the following, and then press Enter:

FILEID= TESTFUNC= ADDU

3. Specify the following, and then press Enter:

FUNC= PUTRCID= C`REC001'

Deleting VSAM Records

To delete a record, specify the DELETE function for the file in the FCT.

1. Specify the following required information:

FUNC= DEL

2. To delete a single record, specify the following, and then press Enter:

RCID= full record key

To delete all records having a generic (partial) key (KSDS files only), specifythe following, and then press Enter:

RCID= generic keySRCHTYP= GKEQARGTYP= KEY

FILE deletes all the records whose keys match the generic key unlessdynamic backout is specified for the file in the FCT. CICS will not permitgeneric deletion for such files.

Page 401: CA-Intertest for CICS User Guide

Working with DL/I Databases

Accessing Auxiliary Storage: FILE 11�31

3. If a single record is deleted, FILE displays it with the message RECORDDELETED.

If you specify SRCHTYP=GKEQ, FILE displays the first record deleted. Themessage field specifies the number of deleted records xxx RECORDSDELETED.

Examples To delete the record NEWREC001 from the ACCTS file, specify the following,and then press Enter:

FILEID= ACCTSFUNC= DELRCID= C`NEWREC001'

To delete all records whose keys begin with the character string NEWREC fromthe ACCTS file, specify the following, and then press Enter:

FILEID= ACCTSFUNC= DELSRCHTYP= GKEQRCID= C`NEWREC'ARGTYP= KEY

Deleting a Recordwith a Large Key

To delete a record whose key is larger than the RCID field, perform these steps:

1. To retrieve the record or browse the file, specify the following, and thenpress Enter:

FUNC= GETSRCHTYP= GKGERCID= generic keyARGTYP= KEY

2. To delete the record, specify the following, and then press Enter:

FUNC= PUTSUBFUNC= DEL

FILE deletes the record and displays the message RECORD DELETED.

Working with DL/I Databases

FILE allows you to access any DL/I database to which it has been given access.

To start working with a DL/I database, initiate the FILE transaction and obtainthe DL/I entry screen. Press PF6 or specify the following:

DATATYPE= DL

Then enter:

PSB= PSB nameDBD= DBD nameNO= DBD entry number

Other information you enter depends on the function you want to perform.

Page 402: CA-Intertest for CICS User Guide

Working with DL/I Databases

11�32 CA-InterTest User Guide

Note: Refer to IBM's DL/I DOS/VS Application Programming Reference Manual orthe IMS/VS Application Programming for CICS/VS Users Manual for moreinformation on using DL/I databases.

FILE Screen Layout for DL/I Databases

The screen below illustrates the FILE screen layout for DL/I databases.

DATATYPE= DL FUNC= GN PSB= CARSALL DBD= DBD002D1 NO 01 SUBFUNC= PS=SSA=

TODEST=MESSAGE= CALL COMPLETED CHGELEN=

DATA= SIZE= 0030FORMAT= D 00112233 44556677 8899AABB CCDDEEFF*0123456789ABCDEF* LOG=OFFLOC 0000 ........ ........ ........ ........ ................0000 E5E64040 40404040 40404040 40D9C1C2 VW RAB

STAT=0010 C2C9E340 40404040 F2C4D940 C3D6E4D7 BIT 2DR COUP

NAME=CAR0020 C5400000 0C000C00 00000000 00000000 E ..............

LEVL=01POPT=APKFBL=00CKEY FEEDBACK*E5E6404040** ** ** ** *

-------------------------------------------------------------------------------

1 Help 2 Format C 3 End 4 5 6 DataType FC7 Page bwd 8 Page fwd 9 Caps Off 10 Top 11 Bottom 12

Page 403: CA-Intertest for CICS User Guide

Working with DL/I Databases

Accessing Auxiliary Storage: FILE 11�33

The fields provide the information shown in the following table.

Field Function

DATATYPE Specifies the type of data organization. For DL/I databases, it is DL.

FUNC Specifies the FILE function. When this field contains a function code,it is executed if you press Enter. In addition to common FILEfunctions, the following commands can be entered: DLET, GHN,GHU, GN, GNHP, GNP, GU, ISRT, REPL.

PSB Specifies the PSB name, which can be changed any time using FILE.

DBD Specifies the DBD name, which can be changed any time using FILE.

NO Specifies which DBD entry to use when there is more than one DBDwith the same name in the PSB. The default is 01.

SUBFUNC Modifies a FUNC specification.

PS If the DBD is password protected, enter a four-character password.

SSA Specifies required segment search arguments. Refer to the sectionSSA Formats.

TODEST Identifies a transient data destination (when a work area is copied)or a dump identification (when a work area is dumped).

MESSAGE Contains FILE messages. You can also specify messages here whenFUNC=COPY or FUNC=DUMP.

CHGELEN Specifies the number of bytes changed in the work area whenFUNC=CHGE.

DATA Contains data needed to perform certain FILE functions.

SIZE Specifies the size of the segment.

FORMAT Specifies the format in which the segment is displayed.

USE Specifies the program and structure for structured format.

LOG Specifies whether FILE's logging facility is on or off.

LOC Specifies a location within a segment.

Returned PCB information appears in the lower-right portion of the screen:

STAT�DL/I status code returned by PSB

NAME�Name of retrieved segment

LEVL� Level number of segment

POPT�DL/I processing options

Page 404: CA-Intertest for CICS User Guide

Working with DL/I Databases

11�34 CA-InterTest User Guide

KFBL�Length of key feedback area

KEY FEEDBACK�Displays key feedback area

Some fields are applicable only to certain functions. The discussion of each FILEfunction indicates which fields must be specified.

Specifying the SIZEField

For OS/390 CICS 4.1, and all VSE users:

Use the SIZE field to specify a storage area large enough to contain the segmentto be retrieved or added. If this field is blank or contains zeros, FILE uses thedefault value specified in the DL1SIZE option when CA-InterTest was installed.To check the default value:

1. On a clear screen, enter VRPT.

2. Select option 02.

3. The DL1SIZE option contains the default SIZE value.

If you need to change the default value, contact the systems programmer whomaintains CA-InterTest for CICS.

FILE Functions for DL/I Databases

The following topics are discussed in this section:

� SSA formats

� Viewing a DL/I segment

� Updating a DL/I segment

� Adding a DL/I segment

� Copying a DL/I segment

� Deleting a DL/I segment

SSA Formats

SSA specifications follow standard DL/I conventions. Information entered in theSSA field must conform to the following format:

segname qual keyname ro keyarg

segname is the segment name. It can be from one to eight characters long. If thesegment name is less than eight characters, it must be followed by a blank.

Page 405: CA-Intertest for CICS User Guide

Working with DL/I Databases

Accessing Auxiliary Storage: FILE 11�35

qual is a blank, left parenthesis, (, or asterisk, *.

� Blanks specify an unqualified SSA.

� A left parenthesis, (, specifies a qualified SSA. If used, rightparenthesis, ), must follow the keyarg data.

� An asterisk, *, specifies that command codes are present. In this case, eithera blank (for an unqualified SSA) or a left parenthesis (for a qualified SSA)must follow the last command code. FILE does not validate command codes.This is handled by DL/I.

keyname is the key name. It can be from one to eight characters long. If it is lessthan eight characters long, it must be followed by one blank.

ro is a relational operator. It can be any of the standard relational operators usedin DL/I. It must be two bytes long and must immediately follow either the lastcharacter in the keyname (if the keyname is eight characters long), or the blankterminating the keyname (if the keyname is less than eight characters long).

If you use a one-character sign rather than two letters to specify the relationaloperator (such as = instead of EQ), you must specify a blank before or after thesign.

keyarg is the argument for the key name. Enter the keyarg as either character orhexadecimal data, or as a combination of both, in one of the following ways:

� C�data� for character data

� X�data� for hexadecimal data

� data for treated as character data

Note: If your keyarg data contains any of these special characters), &, |, *, or + you must use the X�data� format to enter it.

You can create compound conditions by using & or | signs to join multiplekeyname ro keyarg specifications.

Note: If you specify more than one SSA, you must insert a blank and SSA=before each subsequent SSA.

Examples In the following examples of SSA specifications, b indicates a blank.

1. The following specification indicates an unqualified SSA:

SSA= SEGTWObb

The two blanks are necessary, because the segment name is less than eightcharacters, and an unqualified SSA is indicated.

2. The following specifications indicate a qualified SSA:

SSA= EMPLOYEE(NAMEb=bSMITH)SSA= EMPLOYEE(NAMEbEQSMITH)

Page 406: CA-Intertest for CICS User Guide

Working with DL/I Databases

11�36 CA-InterTest User Guide

3. The following specification indicates an unqualified SSA with the commandcode L:

SSA= CARSb*Lb

4. The following specification indicates a qualified SSA with a compoundcondition:

SSA= EMPLOYEE(NAMEb=bSMITH&CODEbLTX'FFF0')

Viewing a DL/I Segment

Follow this procedure to view a DL/I segment:

1. Specify the following required information:

FUNC= a DL/I get functionSIZE= size of DL/I segment

2. Enter the following optional information:

SSA= the SSAs needed to retrieve the requested segment

3. Press Enter. The returned PCB information is displayed in the lower-rightportion of the FILE screen. If the call is successful, the segment is alsodisplayed.

Examples To retrieve the first root segment, which is 975 bytes long, specify the following,and then press Enter:

FUNC= GUSIZE= 975 (or 3CF for FORMAT= D)

To sequentially process a database whose longest segment is 2000 bytes, specifythe following, and then press Enter for each segment:

FUNC= GNSIZE= 2000 (or 7D0 for FORMAT= D)

To retrieve an EMPLOYEE segment, which is 100 bytes long, specify thefollowing, and then press Enter. (Its key is ADAMS, and its parent is a SKILLsegment with a key of ARTIST.)

FUNC= GUSIZE= 100 (or 64 for FORMAT= D)SSA= SKILL (SKILCODE= ARTIST) SSA=EMPLOYEE(NAME = ADAMS)

Page 407: CA-Intertest for CICS User Guide

Working with DL/I Databases

Accessing Auxiliary Storage: FILE 11�37

Updating a DL/I Segment

Follow this procedure to update a DL/I segment:

1. Specify the following required information:

FUNC= GHU, GHN, or GHNP

2. Enter the following optional information:

SIZE= size of DL/I segmentSSA= the SSAs needed to retrieve the requested segment

3. Press Enter. The returned PCB information is displayed in the lower-rightportion of the FILE screen. If the call is successful, the segment is alsodisplayed. The STAT field indicates if the call is successful. Make yourchanges to the displayed segment. See the section Changing the Data in theWork Area for details.

4. To rewrite the updated segment, specify the following, and then press Enter:

FUNC= REPL

The returned PCB information is displayed.

Example To retrieve, change, and replace a SKILL segment whose key is ARTIST andwhose length is 100 bytes, follow these steps:

1. Specify the following, and then press Enter:

FUNC= GHUSIZE= 100 (or 64 for FORMAT= D)SSA= SKILL (SKILCODE= ARTIST)

2. Change the segment.

3. Specify the following, and then press Enter:

FUNC= REPL

Adding a DL/I Segment

Follow this procedure to add a DL/I segment:

1. Specify the following required information:

FUNC= ADDNSIZE= size of the DL/I segment

2. Enter the following optional information:

DATA= data string to initialize the new segment

3. Press Enter to display the work area for the new segment. FILE displays themessage WORK AREA OBTAINED.

4. Change the displayed segment. See the section Changing the Data in theWork Area for details.

Page 408: CA-Intertest for CICS User Guide

Working with DL/I Databases

11�38 CA-InterTest User Guide

5. To write the new segment, enter the following required information, andthen press Enter:

FUNC= ISRTSSA= SSAs necessary to insert segment into proper

position in database

The returned PCB information is displayed in the lower-right portion of thescreen. The segment is added if the call is successful.

Example To add a new 100 byte SKILL segment whose key is ENGINEER, follow thesesteps:

1. Specify the following, and then press Enter:

FUNC= ADDNSIZE= 100

2. Change the segment.

3. Specify the following, and then press Enter:

FUNC= ISRTSSA= SKILL (SKILCODE= ENGINEER)

Copying a DL/I Segment

You can copy a DL/I segment from one database to another.

1. To retrieve the segment you want to copy, specify the following, and thenpress Enter:

FUNC= a DL/I get functionPSB and DBD of source databaseSIZE= size of the DL/I segment

2. Enter the following optional information, and then press Enter:

SSA= SSAs needed to retrieve the requested segment

FILE displays the segment.

3. Specify the following, and then press Enter:

FUNC= ADDUPSB and/or DBD of destination databaseSIZE= size of the DL/I segment

4. Make any necessary changes. Specify the following, and then press Enter:

FUNC= ISRTSSA= SSAs necessary to insert segment into proper

position in database

The segment is copied if the call is successful.

Note: To copy additional segments, repeat Steps 1 through 4.

Page 409: CA-Intertest for CICS User Guide

Working with DL/I Databases

Accessing Auxiliary Storage: FILE 11�39

Example To copy a SKILL segment whose key is ARTIST and whose length is 100 bytesfrom one database to another, follow these steps:

1. Specify the following, and then press Enter:

FUNC= GUPSB= OLDBASEDBD= DBD0025SIZE= 100 (or 64 for FORMAT= D)SSA= SKILL (SKILCODE= ARTIST)

2. Specify the following, and then press Enter:

FUNC= ADDUPSB= NEWBASEDBD= DBD0010SIZE= 100 (or 64 for FORMAT= D)

3. Specify the following, and then press Enter:

FUNC= ISRTSSA= SKILL (SKILCODE= ARTIST)

Deleting DL/I Segments

Follow this procedure to delete a DL/I segment:

Note: To avoid damage to the integrity of the database, take the sameprecautions that you take when you program in DL/I.

1. Enter the following required information:

FUNC= GHU, GHN, or GHNPSIZE= size of the DL/I segment

2. Enter the following optional information:

SSA= the SSAs needed to retrieve the requested segment

3. Press Enter. The returned PCB information is displayed in the lower-rightportion of the FILE screen. If the call is successful, the segment is alsodisplayed. The STAT field indicates if the call is successful.

4. To delete the retrieved segment, enter:

FUNC= DLET

5. Press Enter. The returned PCB information is displayed.

Example To delete the SKILL segment whose key is ARTIST, follow these steps:

1. Specify the following, and then press Enter:

FUNC= GHUSSA= SKILL (SKILCODE= ARTIST)

2. Specify the following, and then press Enter:

FUNC= DLET

Page 410: CA-Intertest for CICS User Guide

Working with DB2 and SQL/DS Databases

11�40 CA-InterTest User Guide

Working with DB2 and SQL/DS Databases

FILE allows you to access DB2 or SQL/DS databases to which it has access.

Note: Refer to IBM's DATABASE2 Application Programming Guide for CICS/OS/VSUsers or IBM's SQL/Data System Application Programming Guide for more information.

Accessing the DB2 Facility

To start working with a DB2 database, choose one of the following options:

� From a clear CICS screen, enter FILE .

On the file display, change the data type to DB.

� From a clear CICS screen, enter ITST .

On the Auxiliary Storage Menu, choose Option 4.

� On the resulting menu, choose Option 2, DB Database .

The following screen is displayed.

CA-InterTest - File DB2 FacilityEXEC SQL

-------------------------------------------------------------------------------

-------------------------------------------------------------------------------

Enter the SQL command to be executed.

_______________________________________________________________________________1 Help 2 CMND list 3 END 4 Large CMND 5 Log On 6 DataType FC7 8 9 10 11 12

Entering SQL Commands

Enter Structured Query Language (SQL) commands to perform DB2 or SQL/DSfunctions. FILE accepts the following SQL commands, subject to user authorization:SELECT, UPDATE, DELETE, INSERT, CREATE, ALTER, DROP, LABEL ON,GRANT, REVOKE, and COMMENT ON.

Note: Refer to the IBM DATABASE2 Application Programming Guide for CICS/OS/VSUsers or SQL/Data System Application Programming Guide for more information.

Page 411: CA-Intertest for CICS User Guide

Working with DB2 and SQL/DS Databases

Accessing Auxiliary Storage: FILE 11�41

Command Rules Observe the following rules in entering SQL commands:

� Begin the command in column one.

� Enter only one command at a time.

� A command can exceed several lines. If the command does not fit in the allowedspace, press PF4 to obtain a larger input area. The command remains in the largeinput area for redisplay (using PF4), modification, and execution.

Scrolling Through the DB2 and SQL/DS Table Display

FILE displays DB2 and SQL/DS table data horizontally in columns and verticallyin rows. The columns represent the fields in the database; the rows represent therecords for each member in the table. The following screen illustrates an SQLtable data display.

CA-InterTest - File DB2 FacilityEXEC SQL # Cols 012 Max Loc 00141 Loc 00001 Page 001SELECT * FROM DSN8210.EMP

1-------2-------------3---------4----------------5----------6----------7-------EMPNO | FIRSTNME | MIDINIT | LASTNAME | WORKDEPT | *PHONENO | *HIRE--------+-------------+---------+----------------+----------+----------+------+000210 | WILLIAM | T | JONES | D11 | 0942 | 1979-000220 | JENNIFER | K | LUTZ | D11 | 0672 | 1968-000070 | EVA | D | PULASKI | D21 | 7831 | 1980-000230 | JAMES | J | JEFFERSON | D21 | 4265 | 1966-000240 | SALVATORE | M | MARINO | D21 | 3780 | 1979-000250 | DANIEL | S | SMITH | D21 | 0961 | 1969-000260 | SYBIL | V | JOHNSON | D21 | 8953 | 1975-000270 | MARIA | L | PEREZ | D21 | 9001 | 1980-000050 | JOHN | B | GEYER | E01 | 6789 | 1949-000090 | EILEEN | W | HENDERSON | E11 | 5498 | 1970-000280 | ETHEL | R | SCHNEIDER | E11 | 8997 | 1967-000290 | JOHN | R | PARKER | E11 | 4502 | 1980-000300 | PHILIP | X | SMITH | E11 | 2095 | 1972-

1 Help 2 CMND list 3 END 4 Large CMND 5 Log On 6 DataType FC7 Page bwd 8 Page fwd 9 Page 1 10 Scrl. --> 11 Scrl. <-- 12 Structure

In the previous figure, the column headings (EMPNO, FIRSTNME, MIDINIT,and so on) represent all fields in the table. A heading preceded by an asteriskindicates that the field can contain null characters (for example, *PHONENO).

The vertical rows represent the members in the table. In this example, eachmember contains information for a different employee. If all the rows cannot bedisplayed on one screen, press PF8 to page down through the table. Press PF7 topage up again.

FILE provides the following information above the screen display:

# Rows�specifies the total number of rows in the display. FILE displays thisfield only if you page down to the end of the table.

Cols�specifies the number of columns defined in the table.

Max Loc�specifies the horizontal width of the screen display.

Page 412: CA-Intertest for CICS User Guide

Working with DB2 and SQL/DS Databases

11�42 CA-InterTest User Guide

Loc�specifies the position of the leftmost character on display.

Page�specifies the page you are currently viewing.

Displaying Additional Columns

If all the columns cannot be displayed at one time, you can shift the display inone of the following ways:

� Tab to the line that separates the displayed columns and press Enter. Theposition indicated by the cursor becomes the first position on your screen.

� Place the cursor under any character in the column heading and press Enter.The position indicated by the cursor becomes the first position on yourscreen.

� Change the value in the Loc field by entering #nn (clear any remainingnumbers), and press Enter. For example, if you enter #10 in the Loc field, thedisplay starts with the first character in column 10.

� Change the value in the Loc field and press Enter. For example, if you enter50 in the Loc field, the display starts with the 50th character.

� Press PF11 to shift the display 80 characters to the left. Pressing PF10 shiftsthe display back 80 characters to the right.

Example In the previous figure, the Loc field indicates that the display begins withposition 1; the Max Loc field indicates that the entire table display is 141characters wide. To see the remaining columns, you must scroll the display. Ifyou tab the cursor to the line preceding HIREDATE and press Enter, FILEdisplays the following screen:

CA-InterTest - File DB2 Facility �EXEC SQL # Rows 00032 # Cols 012 Max Loc 00141 Loc 00075 Page 002SELECT * FROM DSN8210.EMP

7------------8---------9---------10----11-----------12----------|*HIREDATE |*JOBCODE |*EDUCLVL |*SEX |*BRTHDATE |*SALARY |+------------+---------|---------+-----+------------+----------+| 1979-04-11 | 52 | 17 | M | 1953-02-23 | 18270.00 || 1968-08-29 | 55 | 18 | F | 1948-03-19 | 29840.00 || 1980-09-30 | 56 | 16 | F | 1953-05-26 | 36170.00 || 1966-11-21 | 53 | 14 | M | 1935-05-30 | 22180.00 || 1979-12-05 | 55 | 17 | M | 1954-03-31 | 28760.00 || 1969-10-30 | 52 | 15 | M | 1939-11-12 | 19180.00 || 1975-09-11 | 52 | 16 | F | 1936-10-05 | 17250.00 || 1980-09-30 | 55 | 15 | F | 1953-05-26 | 27380.00 || 1949-08-17 | 58 | 16 | M | 1925-09-15 | 40175.00 || 1970-08-15 | 55 | 16 | F | 1941-05-15 | 29750.00 || 1967-03-24 | 54 | 17 | F | 1936-03-28 | 26250.00 || 1980-05-30 | 42 | 12 | M | 1946-07-09 | 15340.00 || 1972-06-19 | 48 | 14 | M | 1936-10-27 | 17750.00 || 1964-09-12 | 43 | 12 | F | 1931-04-21 | 15900.00 |_______________________________________________________________________________1 Help 2 CMND list 3 END 4 Large CMND 5 Log On 6 DataType FC7 Page bwd 8 Page fwd 9 Page 1 10 Scrl. --> 11 Scrl. <-- 12 Structure

FILE Displays Additional Column Data

Page 413: CA-Intertest for CICS User Guide

Working with DB2 and SQL/DS Databases

Accessing Auxiliary Storage: FILE 11�43

Now you can view the other columns in the table.

Note: The Loc field now indicates that the display begins with position 75.

Viewing a Structured Display

To see a structured display of the data table columns, press PF12. The structureddisplay lists each column from the Data Table display in left-to-right columnorder. The following screen illustrates the structured display of the columns inthe previous figure.

CA-InterTest - File DB2 FacilityEXEC SQL Loc 00001SELECT * FROM DEVMPL.EMP

-------------------------------------------------------------------------COL | COLUMN NAME | DATATYPE | LENGTH | CODE | NULL |----+--------------------------------+-----------+--------+------+------+1 | EMPNO | Char | 6 | 452 | No |2 | FIRSTNME | Char Var | 12 | 448 | No |3 | MIDINIT | Char | 1 | 452 | No |4 | LASTNAME | Char Var | 15 | 448 | No |5 | WORKDEPT | Char | 3 | 453 | Yes |6 | PHONENO | Char | 4 | 453 | Yes |7 | HIREDATE | Date Type | 10 | 385 | Yes |8 | JOB | Char | 8 | 453 | Yes |9 | EDLEVEL | Integer S | 2 | 501 | Yes |10 | SEX | Char | 1 | 453 | Yes |11 | BIRTHDATE | Date Type | 10 | 385 | Yes |12 | SALARY | Decimal | 9. 2 | 485 | Yes |13 | BONUS | Decimal | 9. 2 | 485 | Yes |14 | COMM | Decimal | 9. 2 | 485 | Yes |_______________________________________________________________________________1 Help 2 CMND list 3 END 4 Large CMND 5 Log On 6 DataType FC7 8 9 10 11 12 Data Table

Each row of the Structured Display gives the following information about acolumn on the Data Table display:

� Relative (left-to-right) column number

� Name

� Data type (such as character and integer)

� Length

� Data type code

� Whether the field can contain null characters

Press PF12 to redisplay the table display.

Page 414: CA-Intertest for CICS User Guide

Working with DB2 and SQL/DS Databases

11�44 CA-InterTest User Guide

You can select the starting column before redisplaying the Data Table in one ofthe following ways:

� Change the value in the LOC field to indicate a starting display position. Todo this, enter nn, clear any remaining LOC field numbers, and press PF12. Forexample, if you enter 22 in the LOC field, the display starts at position 22.

� Change the value in the LOC field to indicate a starting column number. Todo this, enter #nn, clear any remaining LOC field numbers, and press PF12.For example, if you enter #9 in the LOC field, the display starts with the firstcharacter in column 9.

PF Keys

The PF keys perform the functions shown in the following table when you areusing SQL.

PF Key Function

PF1 Help initiates the CA-InterTest online Help facility.

PF2 CMND List displays a list of the last six commands entered. Thesecommands can be reexecuted or modified.

PF3 END or Clear terminates the FILE facility.

PF4 Large CMND extends the command input area.

PF5 Log On/Off toggles between logging on/logging off when theAUDIT option is N.

PF6 Datatype FC changes the DATATYPE to FC (File Control).

PF7 Page Bwd scrolls the current display one page backward. The keysetting indicates First Page when you are viewing the first page ofthe display.

PF8 Page Fwd scrolls the current display one page forward. The keysetting indicates Last Page when you are viewing the last page ofthe display.

PF9 Page 1 returns to the first page of the table data display.

PF10 ==> scrolls the current display 80 characters to the right.

PF11 <== scrolls the current display 80 characters to the left.

PF12 Structure toggles between structured column definitions and tabledata displays.

Page 415: CA-Intertest for CICS User Guide

Working with DB2 and SQL/DS Databases

Accessing Auxiliary Storage: FILE 11�45

The legends next to the PF keys appear as needed. For example, if the tabledisplay contains more rows and columns than can be shown on one screen, thelegends next to PF7 through PF11 are displayed. If the table display can beshown on one screen, the legends for these PF keys will not appear.

If you are on the first screen and page backward (PF7), the legend changes from Pagebwd to First Page and is highlighted. Similarly, if you try to page forward past the lastrow, the legend for PF8 changes from Page fwd to a highlighted Last page.

FILE Functions for DB2 and SQL/DS Databases

This section illustrates how to perform the following functions:

� Select columns of data from a table

� Update a column of data in a table

� Delete a row from a table

� Insert a row into a table

� Confirm changes

You also might be able to perform other functions depending on your securityauthorization.

Selecting Columns of Data

Use the SELECT command to display one column, many columns, or all columnsin a table. The SELECT command also lets you set conditions to determinewhether or not a column is displayed.

Example To view all columns in a table, specify the following, and then press Enter:

SELECT * FROM DSN8130.TEMPL

FILE displays all of the data in the table.

Page 416: CA-Intertest for CICS User Guide

Working with DB2 and SQL/DS Databases

11�46 CA-InterTest User Guide

Updating a Column

The UPDATE command lets you update a column. You can set conditions todetermine when the update should be performed.

Example To change the WORKDEPT column for an employee, specify the following, andthen press Enter:

UPDATE DSN8130.TEMPL SET WORKDEPT = `A15' WHERE EMPNO = `000010'

This command instructs FILE to change the WORKDEPT column in tableDSN8130.TEMPL for the employee whose EMPNO is 000010.

Before performing the update, you are asked to confirm the change. See thesection Confirming Changes for details.

Deleting a Row

Use the DELETE command to delete a row or several rows of data. You can setconditions to determine when the deletion should be performed.

Example To delete a department from a table, specify the following, and then press Enter:

DELETE FROM DSN8130.TEMPL WHERE WORKDEPT = `D11'

This command instructs FILE to delete from table DSN8130.TEMPL all rows inwhich the WORKDEPT is D11.

Before performing the deletion, FILE displays a second screen indicating howmany rows will be deleted and asking you to confirm the deletion. Enter C toconfirm the deletion or R to cancel it. If you enter C, FILE performs the deletionand informs you that the command has been successfully executed.

Inserting a Row

The INSERT command lets you insert an entire row of data. First specify thecolumn names, and then specify the values to be inserted into each column. Youcan set conditions to determine when the insertion should be performed.

� You can insert only one row of data at a time.

� You must specify data for each column in the table, except for columns thatcan contain nulls, which are identified by asterisks.

Page 417: CA-Intertest for CICS User Guide

Working with DB2 and SQL/DS Databases

Accessing Auxiliary Storage: FILE 11�47

Example To insert employee data into a table, specify the following, and then press Enter:

INSERT INTO DSN8130.TEMPL(EMPNO,FIRSTNME,MIDINIT,LASTNAME,WORKDEPT,SALARY)VALUES(`010200',`JAMES',`S',`NEWMAN',`D11',27500)

FILE inserts a row into table DSN8130.TEMPL. This row contains six columns ofinformation for employee James S. Newman.

Before performing the insertion, FILE displays a second screen asking you toconfirm or cancel the insertion. Enter C to confirm or R to cancel the insertion.

Confirming Changes

When you instruct FILE to update a column, or delete or insert a row, FILEdisplays the following screen:

CA-InterTest - File DB2 FacilityEXEC SQLUPDATE DSN8130.TEMPL SET WORKDEPT='A15' WHERE EMPNO = '000010'

-------------------------------------------------------------------------------

-------------------------------------------------------------------------------

SQLERRD(3)= 00000001 Records Updated.� _ C =Commit R =Rollback

_______________________________________________________________________________1 Help 2 CMND list 3 END 4 Large CMND 5 Log On 6 DataType FC7 8 9 10 11 12

You must enter either a C or R.

� Enter C to confirm that the change is to be executed. FILE executes thechange and indicates that the command has been successfully executed.

� Enter R to cancel the change.

Page 418: CA-Intertest for CICS User Guide

Viewing the CICS Resource Control Table (OS/390 Users Only)

11�48 CA-InterTest User Guide

Redisplaying SQL Commands

To redisplay the last six commands you have entered, press PF2. You can thenselect any command to be reexecuted or modified. The following figureillustrates a command list.

CA-InterTest - File DB2 Facility

SQL Command List X to execute M to modify the command

_ UPDATE DSN8130.TEMPL SET WORKDEPT='A15' WHERE EMPNO = '000010'

_ DELETE FROM DSN8130.TEMPL WHERE WORKDEPT = 'D11'

_ INSERT INTO DSN8130.TEMPL (EMPNO,FIRSTNME,MIDINIT,LASTNAME,WORKDEPT,SALARY)VALUES('010200','JAMES','S','NEWMAN','D11',27500)

_ SELECT * FROM DSN8130.TEMPL

� Enter x in the field to the left of a command to execute it.

� Enter m to modify a command.

� If you do not enter any data, any PF key returns you to either the table datadisplay or structured display.

Viewing the CICS Resource Control Table (OS/390 UsersOnly)

The Resource Control Table (RCT) contains the information required for CICS toestablish its connection to DB2. The FILE transaction's DB2 facility allows you toview information and statistics on each entry in the active RCT.

The display format is presented as if the RCT existed as a DB2 table. This displayis similar to the information provided by the IBM-supplied DSNCDISPSTATcommand, but provides more complete and easily accessed information.

Page 419: CA-Intertest for CICS User Guide

Viewing the CICS Resource Control Table (OS/390 Users Only)

Accessing Auxiliary Storage: FILE 11�49

The following table summarizes the differences between the CA-InterTest forCICS DSNCRCT Display and the CICS DSNC Display.

CA-InterTest DSNCRCT Display CICS DSNC Display

Gives all RCT transactions Gives only the first transaction in a group

User transactions appear inalphabetical order

Transactions in RCT order

Shows the Authorization ID Does not show the Authorization ID

To display the RCT, enter the keyword DSNCRCT in the DB2 command area.CA-InterTest for CICS redisplays the keyword as SELECT * FROM DSNCRCTfor compatibility with other DB2 data table displays; however, SELECTcommand clauses are not supported with DSNCRCT.

The CA-InterTest for CICS RCT display includes 15 columns of information,requiring three panels for display. To scroll to the next or previous panel ofcolumns, press PF11 or PF10. To see a Structured Display of the columns, pressPF12.

The following screen illustrates the initial RCT display showing columns 1 to 8.

CA-InterTest - File DB2 FacilityEXEC SQL # Cols 015 Max Loc 00190 Loc 00001 Page 001SELECT * FROM DSNCRCT3

1---------2------------3------------4-------5-------6---------7--------8-------Tran Id | *Plan Id | *Auth Id | Auths | Calls | Commits | Aborts | Waits|----------+------------+------------+-------+-------+---------+--------+------+DSNC | | | 0 | 0 | 0 | 0 | 0|POOL | DSN8CC21 | | 0 | 0 | 0 | 0 | 0|CNTL | FILE21 | INTRTST | 0 | 0 | 0 | 0 | 0|CORE | FILE21 | INTRTST | 0 | 0 | 0 | 0 | 0|DB2A | ASMSQL | DEVMPL | 0 | 0 | 0 | 0 | 0|DB2C | COBSQL | DEVMPL | 0 | 0 | 0 | 0 | 0|DB2P | PLISQL | DEVMPL | 0 | 0 | 0 | 0 | 0|D8CS | DSN8CC21 | | 0 | 0 | 0 | 0 | 0|D8PP | DSN8CQ21 | | 0 | 0 | 0 | 0 | 0|D8PS | DSN8CP21 | | 0 | 0 | 0 | 0 | 0|D8PT | DSN8CH21 | | 0 | 0 | 0 | 0 | 0|D8PU | DSN8CH21 | | 0 | 0 | 0 | 0 | 0|FILE | FILE21 | INTRTST | 0 | 0 | 0 | 0 | 0|HELP | FILE21 | INTRTST | 0 | 0 | 0 | 0 | 0|_______________________________________________________________________________1 Help 2 CMND list 3 END 4 Large CMND 5 Log On 6 DataType FC7 Page bwd 8 Page fwd 9 Page 1 10 Scrl. --> 11 Scrl. <-- 12 Structure

The first eight columns are defined below.

1. Tran ID�Lists all CICS transactions that can issue SQL calls. The first twoentries are system transactions; the rest are user transactions listed inalphabetical order. The system transactions are defined below.

� DSNC is the command processor transaction; it does not have an associatedplan.

Page 420: CA-Intertest for CICS User Guide

Viewing the CICS Resource Control Table (OS/390 Users Only)

11�50 CA-InterTest User Guide

� POOL defines threads that can be shared by some or all of the CICStransactions. These threads are allocated to transactions only for a CICS unitof work. They can be considered short-term threads, and can be used by anyRCT entry that is specified to overflow to the pool.

2. Plan ID�Indicates the plan name associated with the transaction.

3. Auth ID�Indicates the authorization identification concatenated to the tablename when the associated transaction is used to access a data table.

4. Auths�Indicates the number of authorizations (sign-on invocations) fortransactions associated with this entry.

5. Calls�Indicates the number of SQL calls issued by transactions associatedwith this entry.

6. Commits�Indicates the number of sync points issued for transactionsassociated with this entry.

7. Aborts�Indicates the number of sync point rollbacks and abends issued fortransactions associated with this entry.

8. Waits�Indicates the number of times that all available threads for this entrywere busy and the associated transactions had to either wait or be diverted to thepool.

The second panel shows all the DB2 thread statistics, which are kept in the RCT.The following figure shows a sample display of the second panel of columns.

CA-InterTest - File DB2 FacilityEXEC SQL # Cols 015 Max Loc 00190 Loc 00080 Page 001SELECT * FROM DSNCRCT3

9------------10---------------11------------12----------------13---------------| Max Thread | Max Act Thread | High Thread | Curr Thread Lvl | Thread Subtask|+------------+----------------+-------------+-----------------+---------------+| 1 | 1 | 0| 0 | 1|| 3 | 3 | 0| 0 | 0|| 0 | 0 | 0| 0 | 0|| 0 | 0 | 0| 0 | 0|| 2 | 2 | 0| 0 | 0|| 2 | 2 | 0| 0 | 0|| 2 | 2 | 0| 0 | 0|| 1 | 1 | 0| 0 | 0|| 1 | 1 | 0| 0 | 0|| 1 | 1 | 0| 0 | 0|| 1 | 1 | 0| 0 | 0|| 1 | 1 | 0| 0 | 0|| 0 | 0 | 0| 0 | 0|| 0 | 0 | 0| 0 | 0|_______________________________________________________________________________1 Help 2 CMND list 3 END 4 Large CMND 5 Log On 6 DataType FC7 Page bwd 8 Page fwd 9 Page 1 10 Scrl. --> 11 Scrl. <-- 12 Structure

Columns 9 through 13 are defined below.

9. Max Thread�Indicates the maximum number of threads the attachmentfacility should be prepared to connect for this transaction group.

Page 421: CA-Intertest for CICS User Guide

Viewing the CICS Resource Control Table (OS/390 Users Only)

Accessing Auxiliary Storage: FILE 11�51

10. Max Act Thread�Indicates the maximum number of threads the attachmentfacility should allow to be connected for this transaction, group, or pool beforerequests must either wait or be diverted to the pool.

11. High Thread�Indicates the maximum number of threads required bytransactions associated with this entry since the connection was started. Thisnumber includes transactions forced to wait on a thread or diverted to the pool.

12. Curr Thread Lvl�Indicates the current number of threads associated withthis entry at this time.

13. Thread Subtask�Indicates the maximum number of OS/390 subtasks orthreads thatshould be started when the attachment facility is started.

The third panel contains two columns that deal with dynamic plan selection.The following screen illustrates columns 14 and 15 of the RCT display.

CA-InterTest - File DB2 FacilityEXEC SQL # Cols 015 Max Loc 00190 Loc 00159 Page 001SELECT * FROM DSNCRCT3

14-------------15---------------|*Exit Prog Id | Dym User Area |+--------------+---------------+| | **** || | **** || | **** || | **** || | **** || | **** || | **** || | **** || | **** || | **** || | **** || | **** || | **** || | **** |_______________________________________________________________________________1 Help 2 CMND list 3 END 4 Large CMND 5 Log On 6 DataType FC7 Page bwd 8 Page fwd 9 Page 1 10 Scrl. --> 11 Scrl. <-- 12 Structure

The columns are defined below.

14. Exit Prog ID�Indicates the name of the exit program, which candynamically allocate the plan name for transactions associated with this entry.

15. Dym User Area�Displays the contents of the fullword in the RCT entryreserved for dynamic exit program use.

Note: The RCT statistics are kept on an entry basis, not on a transaction basis.This means that all transactions in a group (sharing the same Plan ID) will havethe same statistics.

Page 422: CA-Intertest for CICS User Guide

Working with BDAM Files

11�52 CA-InterTest User Guide

Working with BDAM Files

The FILE transaction can perform any BDAM function allowed in your CICSsystem.

Note: You might want to consult the IBM CICS/VS Application Programmer'sReference Manual for information on using BDAM files. This manual helps youformulate your requests correctly and explains the meaning of many responsesyou receive from FILE.

To begin processing a BDAM file, first make sure you are viewing the correctscreen. From the Auxiliary Storage Menu, select option 1 Files.

The DATATYPE= field should be set to FC. If not, press PF6 or enter:

DATATYPE=FC

Then enter:

FILEID= file name

The other information you enter depends on the function you want to perform.

Note: Undefined record type files are not supported.

FILE Screen Layout for BDAM Files

The screen below illustrates a blank header area on a FILE screen for BDAM files.Refer to the sections on Dump, Character, Vertical, and Structured Format forillustrations of the complete screen.

DATATYPE= FC FILEID= MODE= LOG= TODEST= PASSWORD=FUNC= SUBFUNC= RETMETH= ARGTYP= SRCHTYP=MESSAGE=RETNRCID= CHGELEN=

RCID=DATA= SIZE=

FORMAT= D 00112233 44556677 8899AABB CCDDEEFF *0123456789ABCDEF*LOC 0000 ........ ........ ........ ........ ................

Page 423: CA-Intertest for CICS User Guide

Working with BDAM Files

Accessing Auxiliary Storage: FILE 11�53

The fields provide the following information.

Field Function

DATATYPE Identifies the type of data organization. This must be FC.

FILEID Specifies the name of the BDAM file.

MODE Identifies the FILE operation, such as browse, update, add, add inmass insertion. This field is blank if you are viewing a record.

LOG Specifies whether FILE's logging facility is on or off.

TODEST Identifies a transient data destination (when a work area iscopied) or a dump identification (when a work area is dumped).

PASSWORD Must contain a four-character password if the file is passwordprotected.

FUNC Specifies the FILE function. When this field contains a functioncode, it is executed if you press Enter. In addition to commonFILE functions, the following commands can be entered: BEGB,DEL, ENDB, GET, GETU, NEXT, PREV, PUT, REL.

SUBFUNC Modifies a FUNC specification.

RETMETH Identifies the RCID field (BDAM files only).

ARGTYP Must contain RBA when working with ESDS files.

SRCHTYP Specifies how RCID information is processed (KSDS files only).

MESSAGE Contains FILE messages. You can also specify messages herewhen FUNC=COPY or FUNC=DUMP.

RETNRCID Contains the record key of the retrieved record.

CHGELEN Specifies the number of bytes changed in the work area whenFUNC=CHGE.

RCID Identifies the record to be processed.

DATA Contains data needed to perform certain FILE functions.

SIZE Specifies the record size or the number of records to be searched.

FORMAT Specifies the format in which the record is displayed.

USE Specifies the program and structure for structured format.

LOC Specifies a location within a record.

Some fields are used only for certain tasks. The discussion of each FILE functionindicates which fields must be specified.

Page 424: CA-Intertest for CICS User Guide

Working with BDAM Files

11�54 CA-InterTest User Guide

When a record is displayed, its FCT information appears on the lower-rightportion of the screen. This information includes the following:

� DSORG (data organization)

� RECFM (record format)

� LRECL (record length)

� BLKSIZE (blocksize)

� KEYPOS (key position)

� KEYLEN (key length)

� STRNO (string number)

Beneath this information is a list of the functions that can be performed,including READ, ADD, UPDATE, BROWSE, DELETE.

FILE Functions for BDAM Records

The following FILE functions are discussed in this section:

� Viewing a BDAM record

� Browsing a BDAM file

� Searching for a data string

� Updating a BDAM record

� Adding a new BDAM record

Viewing a BDAM Record

To view a record, the READ function must be specified for the file in the FCT.

1. Enter the following information:

FUNC=GETRCID=record identification

and, if appropriate, specify the following optional fields:

RETMETH=KEY (Use if RCID contains a deblocking key)

RETMETH=RELREC (Use if RCID contains a deblocking relative record number)

Page 425: CA-Intertest for CICS User Guide

Working with BDAM Files

Accessing Auxiliary Storage: FILE 11�55

2. Press Enter. The following information appears on the FILE screen:

� The MESSAGE= field shows the following message RECORD OBTAINEDFOR VIEWING.

� The MODE= field becomes blank.

� The RETNRCID= field contains the returned record's identification.

� The SIZE= field gives the size of the data in the record, which is the size ofthe work area.

� The data is displayed, beginning with the byte indicated in the LOC= field.

Example To view a BDAM record that is the sixth record on track 3 in the file BDAMFIL,follow this procedure.

1. Enter:

FILEID=BDAMFILFUNC=GETRCID=X'000306'

2. Press Enter.

Browsing a BDAM File

To browse a file, specify the BROWSE function for the file in the FCT.

1. Press PF4 or complete the FUNC= field as shown below:

FUNC=BEGB

and, if appropriate, complete the following optional fields:

RCID= record identification where browse beginsRETMETH=KEY (Use if RCID contains a deblocking key)

RETMETH=RELREC (Use if RCID contains a deblocking relative record number)

2. Press Enter. The first record is displayed and the following informationappears on the FILE screen:

� The MESSAGE= field shows the message BROWSE BEGUN.

� The MODE= field indicates BROWSE.

� The FUNC= field contains the function NEXT.

3. To view the records in ascending sequence, complete the FUNC= field asshown below, and then press Enter:

FUNC=NEXT

The FILE display screen shows the next sequential record.

Notes: You cannot browse a BDAM file in descending sequence.To interrupt a browse operation to do something else, such as scroll thedisplay, you must erase the FUNC= field.

Page 426: CA-Intertest for CICS User Guide

Working with BDAM Files

11�56 CA-InterTest User Guide

4. There are two ways to terminate a browse operation: explicitly andimplicitly.

� To terminate a browse explicitly, press PF4 or specify the following, andpress Enter:

FUNC=ENDB

The following information appears on the FILE screen:

� The MESSAGE= field shows the message BROWSE TERMINATED.

� The MODE= field becomes blank.

� To terminate a browse implicitly, specify one of the following entriesand press Enter:

FUNC=GETFUNC=GETUFUNC=ADDNFUNC=ADDU

The information on the FILE screen reflects the function you selected.

Searching for a Data String

This function is valid only for files with the browse capability. Check the lower-right corner of the FILE screen for the properties of the file before attempting touse this function.

1. Complete the following fields as shown below:

FUNC= SRCHRCID= record id of first record to be searchedDATA= search argumentLOC= position in the record to search

or

LOC=ANY

� LOC= position instructs FILE to look for the search argument only at thespecified position.

� LOC=ANY instructs FILE to look for the search argument in the entirerecord.

In addition, there is an optional field:

SIZE= number of records to be searched (default=1)

2. Press Enter. If a match is found, the record is displayed, and the followinginformation appears on the FILE screen:

� The MESSAGE= field shows the message DATA HAS BEEN LOCATED.

� The RETNRCID= field contains the returned record's identification.

Page 427: CA-Intertest for CICS User Guide

Working with BDAM Files

Accessing Auxiliary Storage: FILE 11�57

� The LOC= field contains the location of the found data.

� If no match is found, the MESSAGE= field shows the message DATANOT FOUND.

Updating a BDAM Record

To update a record, specify the UPDATE function for the file in the FCT.

1. Complete the following fields:

FUNC=GETURCID= record identification

and, if appropriate, the following optional field:

RETMETH=KEY (if RCID contains a deblocking key)

RETMETH=RELREC (if RCID contains a deblocking relative record number)

Note: You can update any record that has been obtained by a GET, BEGB,NEXT, or PREV function. If you already have a record, then go to Step 3.

2. Press Enter, and the following information appears on the FILE screen:

� The MESSAGE= field shows the message RECORD OBTAINED FORUPDATE.

� The MODE= field indicates UPDATE.

� The RETNRCID= field contains the returned record's identification.

� The SIZE= field gives the size of the data in the record (the size of thework area).

� The data is displayed, beginning with the byte indicated in the LOC= field.

3. Make any necessary changes to the displayed record's data. However, therecord will not be changed until you perform Step 4 and rewrite the updatedrecord.

4. To rewrite the updated record, complete the following fields, and then pressEnter:

FUNC=PUTRCID= record identification

and, if appropriate, the following optional field:

SIZE= size of record's data (required for variable length)

The following information appears on the FILE screen:

� The MESSAGE= field shows the message RECORD UPDATED.

� The MODE= field becomes blank.

� The data in the work area continues to be displayed.

Page 428: CA-Intertest for CICS User Guide

Working with BDAM Files

11�58 CA-InterTest User Guide

5. If you change your mind and decide not to update the record at this time,complete the FUNC= field as shown below, and press Enter:

FUNC=REL

The following information appears on the FILE screen:

� The MESSAGE= field shows the message FWA HAS BEEN RELEASED.

� The MODE= field becomes blank.

� The data in the work area continues to be displayed.

Adding a New BDAM Record

To add a record, specify the ADD function for the file in the FCT.

Note: Before reading this section, consult the BDAM Data Sets section of the FileControl Section in the IBM CICS/VS Application Programmer's Reference Manual.

1. Complete one of the following fields:

FUNC=ADDN (to obtain a new work area)

FUNC=ADDU (to use the data in the existing work area)

Complete the following optional field, if appropriate:

DATA= characters

� If you enter FUNC=ADDN, the characters you type in the DATA= fieldare those that will fill the work area.

� If you enter FUNC=ADDU, the characters you type in the DATA= fieldwill fill the newly obtained data space (the new work area might belarger than the present one for a variable-length file).

2. Press Enter. The following information appears on the FILE screen:

� The MESSAGE= field shows the message WORK AREA OBTAINED.

� The MODE= field indicates ADD.

� The SIZE= field gives the size of the work area (the size is the maximumpermitted for this particular file).

� The obtained work area is displayed, beginning with the byte indicatedin the LOC= field.

3. Make any necessary changes to the newly obtained work area.

4. To write the newly added record, complete the following fields as follows:

FUNC=PUTRCID= record identification

and, if appropriate, the following optional field:

SIZE= size of record's data (required for variable length)

Page 429: CA-Intertest for CICS User Guide

Working with Temporary Storage

Accessing Auxiliary Storage: FILE 11�59

Press Enter. The following information appears on the FILE screen:

� The MESSAGE= field shows the message RECORD ADDED.

� The MODE= field becomes blank.

� The data in the work area continues to be displayed.

5. If you change your mind and decide not to add any records at this time,complete the FUNC= field as shown below, and press Enter:

FUNC=REL

The following information appears on the FILE screen:

� The MESSAGE= field shows the message FWA HAS BEEN RELEASED.

� The MODE= field becomes blank.

� The data in the work area continues to be displayed.

Working with Temporary Storage

The FILE transaction can perform any temporary storage function allowed inyour CICS system.

To begin processing temporary storage, first make sure you are viewing thecorrect screen. From the Auxiliary Storage Menu, select option 5 TS Queues.The DATATYPE= field should be set for TS. If not, press PF6 or enter:

DATATYPE=TS

The other information you enter depends on the function you want to perform.

Page 430: CA-Intertest for CICS User Guide

Working with Temporary Storage

11�60 CA-InterTest User Guide

FILE Screen Layout for Temporary Storage

The screen below illustrates a blank header area on a FILE screen for temporarystorage. See the sections on Dump, Character, Vertical, and Structured Formatfor illustrations of the complete screen.

DATATYPE= TS LOG=OFF TODEST=FUNC= SUBFUNC= STORFAC=MESSAGE=

RCID= CHGELEN=DATA= SIZE=0000

FORMAT= D 00112233 44556677 8899AABB CCDDEEFF *0123456789ABCDEF*LOC 0000 ........ ........ ........ ........ ................

-------------------------------------------------------------------------------1 Help 2 Format C 3 End 4 5 6 DataType FC7 Page bwd 8 Page fwd 9 Caps Off 10 Top 11 Bottom 12

The fields provide the following information:

Field Function

DATATYPE Identifies the type of data organization. This must be TS.

LOG Specifies whether FILE's logging facility is on or off.

TODEST Identifies a transient data destination (when a work area iscopied) or a dump identification (when a work area is dumped).

FUNC Specifies the FILE function. When this field contains a functioncode, it is executed if you press Enter. In addition to commonFILE functions, the following commands can be entered: GET,GETQ, PURG, PUT, PUTQ, REL.

SUBFUNC Modifies a FUNC specification.

STORFAC When writing a record (FUNC=PUT or PUTQ), specifies the typeof storage: AUX (auxiliary) or MAIN.

ENTRY Specifies the relative position of a record in a temporary storagequeue. Required for FUNC=GETQ, PUTQ, and SRCH.

MESSAGE Contains FILE messages. You can also specify messages herewhen FUNC=COPY or FUNC=DUMP.

CHGELEN Specifies the number of bytes changed in the work area whenFUNC=CHGE.

RCID Identifies the record or queue to be processed.

DATA Contains data needed to perform certain FILE functions.

Page 431: CA-Intertest for CICS User Guide

Working with Temporary Storage

Accessing Auxiliary Storage: FILE 11�61

SIZE Specifies the record size or the number of records to be searched.

FORMAT Specifies the format in which the record is displayed.

USE Specifies the program and structure for structured format.

LOC Specifies a location within a record.

Some fields are used only for certain tasks. The discussion of each FILE functionindicates which fields must be specified.

FILE Functions for Temporary Storage

The following FILE functions are discussed in this section:

� Viewing a temporary storage queue record

� Adding a new temporary storage queue record

� Purging a temporary storage queue

� Searching a temporary storage queue for a data string

Viewing a Temporary Storage Queue Record

Follow this procedure to view a temporary storage queue record:

1. Complete the following fields:

FUNC=GETQRCID= temporary storage queue identificationENTRY= record's relative position in the queue (default=1)

2. Press Enter. The record's data is displayed on the FILE screen with thefollowing information:

� The MESSAGE= field shows the message TS QUEUE RECORDRETRIEVED.

� The SIZE= field gives the size of the retrieved record's data.

Adding a New Temporary Storage Queue Record

Follow this procedure to add a temporary storage queue record:

1. Specify one of the following:

FUNC=ADDN (to obtain a new work area)

FUNC=ADDU (to use the data in the existing work area)

Then complete the SIZE= field as shown below:

SIZE= size of data area

Page 432: CA-Intertest for CICS User Guide

Working with Temporary Storage

11�62 CA-InterTest User Guide

In addition, complete the following optional field, if appropriate:

DATA= characters

� If you enter FUNC=ADDN, the characters you type in the DATA= fieldwill fill the work area.

� If you enter FUNC=ADDU, the characters you type in the DATA= fieldwill fill the newly obtained data space (if the new work area is largerthan the present one).

2. Press Enter. The following information appears on the FILE screen:

� The MESSAGE= field shows the message WORK AREA OBTAINED.

� The SIZE= field gives the size of the work area (the size will be themaximum permitted).

� The obtained work area is displayed, beginning with the byte indicatedin the LOC= field.

3. Make any necessary changes to the newly obtained work area.

4. To write the newly added record, complete the following fields:

FUNC=PUTQENTRY= record's relative position in queueRCID= temporary storage identificationSIZE= size of data in the record

and, if appropriate, the following two optional fields:

SUBFUNC= REPL (to replace an existing record)STORFAC=AUX

or

STORFAC=MAIN

� Use STORFAC=AUX to place the record on a direct access storagedevice. This is the default.

� Use STORFAC=MAIN to place the record in main storage.

5. Press Enter. The following information appears on the FILE screen:

� Without SUBFUNC=REPL, the MESSAGE= field shows the message TSQUEUE RECORD WRITTEN.

� With SUBFUNC=REPL, the MESSAGE= field shows the message TSQUEUE RECORD WRITTEN AND REPLACED.

� The SIZE= field gives the size of the work area.

� The work area is displayed, beginning with the byte indicated in theLOC=field.

Page 433: CA-Intertest for CICS User Guide

Working with Temporary Storage

Accessing Auxiliary Storage: FILE 11�63

Examples You want to add a new 100-byte record to a temporary storage queue calledTEMPSTO1, which resides in auxiliary storage. This record is to be the lastrecord in the queue.

Specify the following, and then press Enter:

FUNC=ADDNRCID=C'TEMPSTO1'SIZE= 100 or 64 (for FORMAT=D)

Make changes to the work area.

Specify the following, and then press Enter:

FUNC=PUTQRCID=C'TEMPSTO1'

To replace record 5 in a temporary storage queue named TEMPSTO2, whichresides in main storage, using the work area from Example 1:

Specify the following, and then press Enter:

FUNC=ADDU

Make changes to the work area.

Specify the following, and then press Enter:

FUNC=PUTQENTRY=05RCID=C'TEMPSTO2'SUBFUNC=REPLSIZE= 100 or 64 (for FORMAT=D)STORFAC=MAIN

Purging a Temporary Storage Queue

Follow this procedure to purge a temporary storage queue:

1. Complete the following fields:

FUNC=PURGRCID= temporary storage queue identification

2. Press Enter. The following information appears on the FILE screen:

� The MESSAGE= field shows the message xxx RECORDS DELETED.

� The SIZE= field gives the size of the work area.

� The work area is displayed, beginning with the byte indicated in theLOC= field.

Page 434: CA-Intertest for CICS User Guide

Working with Transient Data

11�64 CA-InterTest User Guide

Searching a Temporary Storage Queue for a Data String

Follow this procedure to search a temporary storage queue for a data string:

1. Complete the following fields:

FUNC=SRCHENTRY= relative record position to start searchRCID= temporary storage queue identificationDATA= search argumentLOC= position in record to search for the data string

or

LOC=ANY (to search the entire record for the data string)

In addition, you can complete the following optional field:

SIZE= number of records to search (default=1)

2. Press Enter. If a match is found, the record containing the data is displayed,starting at the location where the data was found. The following informationalso appears on the FILE screen:

� The MESSAGE= field shows the message DATA HAS BEEN LOCATED.

� If no match is found, the MESSAGE= field shows the message DATANOT FOUND.

� The ENTRY= field contains the returned record's relative position in thequeue.

� The LOC= field contains the location of the found data.

Example To scan ten records in the temporary storage queue named TEMPSTO1 startingat the third record for the data string TEST, if that data is in location 20 in therecord, specify the following, and then press Enter:

FUNC=SRCHENTRY=03RCID=C'TEMPSTO1'DATA=C'TEST'LOC=00020 OR 0013 (for FORMAT=D)SIZE=0010 OR 000A (for FORMAT=D)

Working with Transient Data

The FILE transaction can perform any transient data function allowed in yourCICS system.

To begin processing transient data, first make sure you are viewing the correctscreen. From the Auxiliary Storage Menu, select option 5 TD Queues. TheDATATYPE= field should be set at TD. If not, press PF6 or enter:

DATATYPE=TD

Page 435: CA-Intertest for CICS User Guide

Working with Transient Data

Accessing Auxiliary Storage: FILE 11�65

The other information you enter depends on the function you want to perform.

FILE Screen Layout for Transient Data

The screen below illustrates a blank header area on a FILE screen for temporarystorage. Refer to the sections on Dump, Character, Vertical, and StructuredFormat for illustrations of the complete screen.

DATATYPE= TD LOG=OFF TODEST=FUNC= SUBFUNC=

MESSAGE= CHGELEN=DATA= SIZE=0000

FORMAT= D 00112233 44556677 8899AABB CCDDEEFF *0123456789ABCDEF*LOC 0000 ........ ........ ........ ........ ................

-------------------------------------------------------------------------------1 Help 2 Format C 3 End 4 5 6 DataType FC7 Page bwd 8 Page fwd 9 Caps Off 10 Top 11 Bottom 12

Page 436: CA-Intertest for CICS User Guide

Working with Transient Data

11�66 CA-InterTest User Guide

The fields provide the following information:

Field Function

DATATYPE Identifies the type of data organization. This must be TD.

DESTID Specifies the name of the transient data, as defined in the DCT.

LOG Specifies whether FILE's logging facility is on or off.

TODEST Identifies a transient data destination (when a work area iscopied) or a dump identification (when a work area isdumped).

FUNC Specifies the FILE function. When this field contains a functioncode, it is executed if you press Enter. In addition to commonFILE functions, the following commands can be entered: GET,PUT.

SUBFUNC Modifies a FUNC specification.

MESSAGE Contains FILE messages. You can also specify messages herewhen FUNC=COPY or FUNC=DUMP.

CHGELEN Specifies the number of bytes changed in the work area whenFUNC=CHGE.

RCID Identifies the record or queue to be processed.

DATA Contains data needed to perform certain FILE functions.

SIZE Specifies the record size or the number of records to besearched.

FORMAT Specifies the format in which the record is displayed.

USE Specifies the program and structure for structured format.

LOC Specifies a location within a record.

Some fields are used only for certain tasks. The discussion of each FILE functionindicates which fields must be specified.

FILE Functions for Transient Data Records

The following FILE functions are discussed in this section:

� Retrieving a transient data record

� Adding a new transient data record

� Purging intrapartition data

Page 437: CA-Intertest for CICS User Guide

Working with Transient Data

Accessing Auxiliary Storage: FILE 11�67

Note: If you are running CTS Version 1.3 and above, 16-byte and 32-hexadecimalcharacter TS queue names are supported.

Retrieving a Transient Data Record

Note: When you retrieve a record from an intrapartition transient datadestination, the retrieved record disappears from that queue.

1. To retrieve a transient data record, complete the following fields:

FUNC=GETDESTID= transient data destination

You are advised to enter the DESTID= field before entering the FUNC= fieldwhen you begin working with a particular destination. If only the DESTID=is entered, the properties of the transient data queue are shown for yourverification. This can, for example, help you avoid entering a FUNC=GETfor an extrapartition destination that is now open for output.

2. Press Enter. The record you are retrieving appears on the FILE screen. Thefollowing information also appears:

� The MESSAGE= field shows the message TD RECORD OBTAINED.

� The SIZE= field gives the length of the data.

Adding a New Transient Data Record

Follow this procedure to add a new transient data record:

1. Complete the FUNC= and DESTID= fields, and then complete the SIZE=field:

DESTID= transient data destinationFUNC=ADDN (to obtain a new work area)

or

FUNC=ADDU (to use the data in the existing work area)SIZE= size of the data area

Note: The SIZE cannot be higher than permitted for the destination.

In addition, you can complete the following optional field if appropriate:

DATA= characters

� If you enter FUNC=ADDN, the characters you type in the DATA= fieldwill fill the work area.

� If you enter FUNC=ADDU, the characters you type in the DATA= fieldwill fill the newly obtained data space (if the new work area is largerthan the present one).

Page 438: CA-Intertest for CICS User Guide

Working with Transient Data

11�68 CA-InterTest User Guide

You are advised to enter the DESTID= field before entering the FUNC= fieldwhen you begin working with a particular destination. If only the DESTID=is entered, the properties of the transient data queue are shown for yourverification. This can, for example, help you avoid entering a FUNC=ADDUfor an extrapartition destination that is now open for input.

2. Press Enter. The following information appears on the FILE screen:

� The MESSAGE= field shows the message WORK AREA OBTAINED.

� The SIZE= field gives the size of the work area (the size is the maximumpermitted).

� The obtained work area is displayed, beginning with the byte indicatedin the LOC= field.

3. Make any necessary changes to the newly obtained work area.

4. To write the newly added record, complete the following fields:

FUNC=PUTDESTID= transient data destination

and, if appropriate, the following optional field:

SIZE= size of the record (if smaller than work area)

5. Press Enter.

The MESSAGE= field on the FILE screen shows the message TD RECORDWRITTEN.

Examples To add a new 100-byte record (with most of its fields blank) to the transient datadestination CSSL:

Specify the following, and then press Enter:

FUNC=ADDNDESTID=CSSLDATA=C' 'SIZE= 100 or 64 (for FORMAT=D)

Make changes to the work area.

Specify the following, and then press Enter:

FUNC=PUTDESTID=CSSL

To add another new record to the transient data destination in Example 1, usingthe work area from Example 1:

Specify the following, and then press Enter:

FUNC=ADDU

Make changes to the work area.

Page 439: CA-Intertest for CICS User Guide

Working with Transient Data

Accessing Auxiliary Storage: FILE 11�69

Specify the following, and then press Enter:

FUNC=PUTDESTID=CSSL

Purging Intrapartition Data

Follow this procedure to purge intrapartition data:

1. Complete the following fields:

FUNC=PURGDESTID= transient data destination

You are advised to enter the DESTID= field before entering the FUNC= fieldwhen you begin working with a particular destination. If only the DESTID=is entered, the properties of the transient data queue are shown for yourverification. This can, for example, help you avoid entering a FUNC=PURGfor an extrapartition destination.

2. Press Enter. This purges the data. The MESSAGE= field on the FILE screendisplays the message DESTINATION PURGED.

Page 440: CA-Intertest for CICS User Guide
Page 441: CA-Intertest for CICS User Guide

Using CA-InterTest with DB2 and SQL/DS Programs 12�1

Chapter

12Using CA-InterTest with DB2 andSQL/DS Programs

This chapter explains how to use CA-InterTest for CICS to test CICS/DB2 andSQL/DS application programs, and is intended primarily for systemprogrammers and database administrators.

This chapter covers the following topics:

� Preliminary steps

� Halting a program before and after each SQL request

� Inspecting host variables

� Handling SQL return codes

� Advanced debugging techniques

� DSNC abends (OS/390 only)

� Viewing the Resource Control Table (OS/390 only)

Preliminary Steps

Before you can monitor a DB2 or SQL/DS program, make sure that:

1. CA-InterTest has been installed with DB2 or SQL/DS support.

2. The application program has been compiled or assembled with symbolic support.

3. The CICS/DB2 attach facility (OS/390) or SQL/DS Resource Adapter (VSE) isactive.

Page 442: CA-Intertest for CICS User Guide

Preliminary Steps

12�2 CA-InterTest 6.0 User Guide

Checking for DB2 or SQL/DS Support

CA-InterTest for CICS should have been installed with DB2 or SQL/DS supportif you are going to monitor DB2 or SQL/DS application programs. To make surethis support was installed:

1. Access the Request Breakpoint Selection menu. This menu is displayedwhen you select the Request option from a Monitoring program, such asMonitoring Programs (2.1), Monitoring Transactions (2.2), or MonitoringTerminals (2.3). The chapter �Using Breakpoints� describes how to accessthis menu.

2. Inspect the first input line on the menu. If it contains either of the following:

_ ALL commands _ All macros _ DL/I _ DB2 _ CALLS

_ ALL commands _ All macros _ DL/I _ SQL/DS _ CALLS

DB2 or SQL/DS support has been installed. If the DB2 or SQL/DS field ismissing, support has not been installed.

If you monitor DB2 or SQL/DS programs without the appropriate CA-InterTestfor CICS support, your programs are halted at an automatic breakpoint eachtime the program issues a DB2 or SQL/DS call. If necessary, contact your systemprogrammer and request DB2 or SQL/DS support. The CA-InterTest for CICSGetting Startedexplains how to install this support.

Compiling or Assembling Programs with Symbolic Support

To test DB2 and SQL/DS programs thoroughly, they should be compiled orassembled with symbolic support, and the program�s Cross-Reference should besaved in the CA-InterTest Symbolic File. Refer to �The Symbolic File� appendixfor details.

Checking That the Attach Facility or Resource Adapter Is Active

For OS/390 Users You must ensure that the CICS/DB2 attach facility is active in the CICS region inwhich you are testing DB2 programs.

To test whether the attach facility is active:

1. Type CORE=RCT on a clear screen.

2. Press PF12.

Page 443: CA-Intertest for CICS User Guide

Preliminary Steps

Using CA-InterTest with DB2 and SQL/DS Programs 12�3

If the attach facility is active, CA-InterTest displays a screen like the one below.

CA-InterTest - MAIN STORAGE UTILITY - Termid = LXD6Name Address Disp Hexadecimal Character

DSNCRCT 112A90 0 | |CRCTRCT 112A90 0 | |CRCTID 112A90 0 | C4E2D5C3 D9C3E3F3 | DSNCRCT3CRCTRELS 112A98 8 | 40F2F1F0 | 210CRCTIMS 112A9C C | C4E2D540 | DSNCRCTCICS 112AA0 10 | C3F4E2D1 40404040 | C4SJCRCTCIAU 112AA8 18 | C3F3D8F1 40404040 | C3Q1CRCTERR1 112AB0 20 | C3E2D4E3 | CSMTCRCTERR2 112AB4 24 | 5C5C5C5C | ****CRCTERR3 112AB8 28 | 5C5C5C5C | ****CRCTSTAT 112ABC 2C | C3E2E2D3 | CSSLCRCTTPRG 112AC0 30 | 0000030C | ....CRCTMPRG 112AC4 34 | 0000030C | ....CRCTSTID 112AC8 38 | C4E2D5C3 | DSNCCRCTSCLS 112ACC 3C | C1 | ACRCTSW1 112ACD 3D | 00 | .------------------------------------------------------------------------------PF1 Help 2 3 End 4 Return 5 6PF7 Backward 8 Forward 9 Caps Off 10 11 Redisplay 12 StructureCORE=RCT

CORE Display Indicating Attach Facility Is Active

Note: This display lists DSNCRCTn as the contents of the first field.

If the attach facility is not active, CA-InterTest for CICS displays the followingmessage:CORE013 REQUESTED AREA WAS NOT FOUND.

For VSE Users You must ensure that the SQL/DS Online Resource Adapter is active in the CICSpartition in which you are testing SQL/DS programs.

To test whether the Resource Adapter is active:

1. Type CIRB on a clear screen.

2. Press Enter.

If the Resource Adapter is active, it displays the following message:

ARI0401I SQL/DS ONLINE RESOURCE ADAPTERIS ALREADY ACTIVE IN THIS PARTITION

If the Resource Adapter is not active when SQL/DS is in multipartition mode,the following messages are displayed:

ARI0418A SQL/DS IS NOT READY. RETRY THE ENABLETRANSACTION CIRB AFTER SQL/DS STARTS.

ARI0413I RESOURCE ADAPTER ARI0OLRM IS DISABLED.

If the Resource Adapter is active in the non-CICS partition but not yet active inthe CICS partition, the following messages are displayed:

ARI407E ERROR ATTEMPTING TO EXEC SQL.ARI407E SQLCODE = -560 SQLERRD1 = -180 SQLERRD2 = 0

Page 444: CA-Intertest for CICS User Guide

Halting Programs Before and After Each SQL Request

12�4 CA-InterTest 6.0 User Guide

ARI413I RESOURCE MANAGER ARI0OLRM IS DISABLED

If the Attach Facility or Resource Adapter Is Not Active

If the attach facility or Resource Adapter is not active and you execute a DB2 orSQL/DS program, the transaction fails with an AEY9 abend code. If you aremonitoring the program with CA-InterTest for CICS and you do not have aHandle Condition for this error, your program is halted at an automaticbreakpoint at a call to DB2 (CALL �DSHNLI�) or SQL/DS (CALL �ARIPRDI�). Inthis case:

1. Call your system programmer or console operator and request that theCICS/DB2 attach facility or SQL/DS Resource Adapter be started.

2. Continue program execution by reexecuting the call. In COBOL, this meanspaging back to the statement prior to the call:

PERFORM SQL-INITIAL UNTIL SQL-INIT-DONE

3. Type G to the left of this statement and press PF5.

Halting Programs Before and After Each SQL Request

To test DB2 and SQL/DS programs, halt the program before and after each SQLrequest.

� Halting the program before each SQL request lets you check that all fields inthe request have been initialized correctly.

� Halting the program after each SQL request lets you view the data returnedto your program and the SQL return codes.

Halting a Program Before Each SQL Request

To halt a program before each SQL request, use the CA-InterTest for CICSrequest breakpoint capability:

1. Access the Request Breakpoint Selection menu, as explained in the chapter�Using Breakpoints.�

2. Type X in the DB2 or SQL/DS field at the top of the menu. Press Enter.

This instructs CA-InterTest for CICS to set a breakpoint prior to each applicationcall to DB2 or SQL/DS.

� For DB2, this occurs at the call to DSNHLI.

� For SQL/DS, this occurs at the call to ARIPRDI.

Page 445: CA-Intertest for CICS User Guide

Inspecting Host Variables

Using CA-InterTest with DB2 and SQL/DS Programs 12�5

When the program is halted at the request breakpoint, you can inspect the valuesof fields. See the Inspecting Host Variables section for details.

Halting a Program After an SQL Request

When a program is halted at a request breakpoint, you can execute the SQLrequest and stop the program again.

� For COBOL or PL/I programs, press PF10, which executes one COBOL verbor one PL/I statement.

� For Assembler programs, press PF10 twice to execute two instructions.

When the program is halted after the call, you can inspect the values of fieldsagain and analyze the SQL return codes.

Inspecting Host Variables

When you are stopped at a breakpoint, inspect the values of data fields. SQLterminology refers to the fields used in SQL requests as host variables. Hostvariables are used to:

� Supply a value to an SQL request

� Receive a value from an SQL request

A typical SQL request has the following format:

EXEC SQLSELECT column namesINTOhost variablesFROMtable nameWHERE column names/host variables

END-EXEC

In this example:

� The INTO clause of the SELECT statement specifies host variables.

� The WHERE clause of the SELECT statement uses host variables to qualifythe request for data.

In a typical COBOL program:

� All the host variables used to receive data for column values named in anINTO clause are grouped together in a single structure designated by an 01level field name.

� All the host variables used to qualify the data request in a WHERE clause aregrouped together in a single structure.

Page 446: CA-Intertest for CICS User Guide

Inspecting Host Variables

12�6 CA-InterTest 6.0 User Guide

� All the host variables used for null indicators are grouped together in asingle structure.

When your program is halted at a breakpoint before an SQL request, check thenull indicators and host variables used in the WHERE clause. When yourprogram is halted after an SQL request, check the host variables specified in theINTO clause.

Displaying HostVariables

You can view host variables either individually by name or as a single structure.The screen below illustrates how CA-InterTest displays host variables. Thechapter �Breakpoint Activities� explains how to display the values of hostvariables.

CA-InterTest - MAIN STORAGE UTILITY - Termid = LXD6Starting at Address = 140D9C Hexadecimal Character

01 DCLEMP | |02 EMPNO | F0F0F0F0 F1F0 | 00001002 FIRSTNME | |03 FIRSTNME-LEN | 0009 | ..03 FIRSTNME-TEXT | C3C8D9C9 E2E3C9D5 C5000000 |

CHRISTINE...02 MIDINIT | C1 | A02 LASTNAME | |03 LASTNAME-LEN | 0004 | ..03 LASTNAME-TEXT | C8C1C1E2 00000000 00000000 |

HAAS........| 000000 | ...

02 WORKDEPT | C1F0F0 | A0002 PHONENO | F3F9F7F8 | 397802 HIREDATE | F1F9F6F5 60F0F160 F0F1 | 1965-01-0102 JOB | D7D9C5E2 40404040 | PRES02 EDLEVEL | 0012 | ..02 SEX | C6 | F------------------------------------------------------------------------------PF1 Help 2 3 End 4 Return 5 6PF7 Backward 8 Forward 9 Caps Off 10 11 Redisplay 12 StructureCORE='DCLEMP'

For DB2 Users If you use the DCLGEN function to generate DB2 table declarations, the COBOL01 level field name is a concatenation of the characters DCL and the table name,as illustrated in the previous example.

Page 447: CA-Intertest for CICS User Guide

Handling SQL Return Codes

Using CA-InterTest with DB2 and SQL/DS Programs 12�7

Handling SQL Return Codes

The SQL communication area (SQLCA) is a structure of variables that is updatedafter each SQL statement executes. An application program that containsexecutable SQL statements must provide an SQLCA to allow DB2 or SQL/DS tocommunicate with the program. The following IBM manuals provideinformation on the SQLCA:

� DB2 Application Programmer Guide

� SQL/Data System Application Programming for VSE

When DB2 or SQL/DS processes an SQL statement, it places a return code in theSQLCODE field of the SQLCA that indicates the success or failure of the SQLrequest:

� If the return code is zero, the SQL request has been processed. DB2 orSQL/DS did not detect an error or an exceptional condition.

� If the return code is a negative number, DB2 or SQL/DS has detected anerror.

� If the return code is a positive number, DB2 or SQL/DS has detected anexceptional but valid condition.

Note: Sometimes a zero return code does not indicate a successful execution.You should always check the SQLWARN field to ensure that it is blank, whichindicates successful execution. If the field is not blank, a warning conditionexists. Check the other warning indicators to determine the specific condition.For example, if a value has been truncated the SQLCODE will be zero, but theSQLWARN1 field will indicate truncation.

Because the SQLCA contains valuable diagnostic information, it is a good idea tocheck its contents after each SQL request.

How to Handle SQL Error Codes

Two techniques are commonly used by programmers to handle SQL error returncodes after each SQL request:

� Check the SQLCODE data field immediately after each SQL request.

� Branch to a common error handling routine.

Checking the SQLCODE immediately tells you which request produced theerror so you can create an error message that reflects that request. However, thismethod might not be efficient if you have many similar routines throughout yourprogram�one for each SQL request. Moreover, if you discover a logic error insuch an error handling routine, you must correct the error in all the routinesthroughout the program.

Page 448: CA-Intertest for CICS User Guide

Handling SQL Return Codes

12�8 CA-InterTest 6.0 User Guide

Branching to a common error handling routine results in a smaller program andsimplifies the task of debugging the routine. However, you might not be able todetermine which SQL request caused the error unless you pass an indicator tothe error routine, which is then reflected in the generated error message.

Users who want to check the SQLCODE field in the SQLCA after each SQLrequest should set unconditional breakpoints at each occurrence of SQLCODE.The chapter �Using Breakpoints� explains how to set breakpoints at eachoccurrence of a data field. Your program must be compiled or assembledsymbolically with the option to produce a Cross-Reference listing.

Users who branch to a common error handling routine should set requestbreakpoints at all DB2 or SQL/DS calls and then single-step through thebreakpoint, as described in the section Halting Programs Before and After EachSQL Request. This technique does not require that programs be compiled orassembled symbolically.

In either case, keep SQLCODE in the keep window so its value can be checkedeasily. The keep window is described in the chapter �Breakpoint Activities.�

Displaying the SQLCODE

Once your program is halted at a breakpoint, the keep window displays thehexadecimal contents of SQLCODE. To display the SQL return code in decimalformat:

1. Type D to the left of SQLCODE in the keep window.

2. Press Enter.

If you have not kept SQLCODE in the keep window:

1. Type D to the left of the statement where you are stopped.

2. Position the cursor under the data field SQLCODE.

3. Press Enter.

CA-InterTest for CICS displays a CORE structured display of SQLCODE and thefollowing message:

CORE053 VALUE OF FIELD is = +/- nnn

nnn is the SQL return code.

DB2 and SQL/DS return codes can have many meanings and subcodes. The DB2Messages and Codes manual explains the return codes.

Page 449: CA-Intertest for CICS User Guide

Handling SQL Return Codes

Using CA-InterTest with DB2 and SQL/DS Programs 12�9

OS/390 users can convert this value into a text message by overkeying theCORE=�SQLCODE� command at the bottom of the SQLCODE display with thefollowing command and pressing Enter:

CORE=SQLRCODE

OS/390 users can access the SQLCODE text message display from the breakpointscreen by entering CORE=SQLRCODE on the command line, if the commandline is displayed.

CA-InterTest for CICS converts the decimal value to a text message. In addition,if there are any warning codes in the SQLCA, CA-InterTest for CICS displayseach of them along with its meaning. A sample SQLRCODE display appearsbelow.

CA-InterTest - MAIN STORAGE UTILITY - Termid = LXD6

DSNT408I SQLCODE = -204

ERROR: ADM.DEPT IS AN UNDEFINED NAME

------------------------------------------------------------------------------PFKEYS 1 Help 2 3 End 4 Return 5 6

7 8 9 10 11 12CORE=SQLRCODE

DB2 messages often contain tokens that are replaced at execution time. Forexample, in the message in the previous figure the token name is replaced by theactual name that is undefined�in this case, ADM.DEPT.

Without CA-InterTest, tokens are often hard to interpret. They are returned in theSQLERRM field of the SQLCA, and if there are multiple tokens, appear sequentiallyin the order in which they appear in the message text, separated by X�FF�.CA-InterTest inserts tokens in the correct places in the message text, as illustrated inthe previous figure, which makes the DB2 messages much easier to understand.

Displaying All the Fields in the SQLCA

To view all the fields in the SQLCA after an SQL request, overtype the COREcommand at the bottom of the display with one of the following, and press PF12:

CORE=’SQLCA’ (COBOL and PL/I)CORE=’Rn.SQLCA’ (Assembler)

Page 450: CA-Intertest for CICS User Guide

Advanced Debugging Techniques

12–10 CA-InterTest 6.0 User Guide

n is the register used to reference the SQLCA.

CA-InterTest for CICS displays all the fields in the SQLCA in structured formatas defined in the program.

For OS/390, another method for viewing the SQLCA fields is to type thefollowing command and press PF12:

CORE=SQLCA

CA-InterTest for CICS displays the SQLCA fields using Assembler language fieldnames.

Both methods should produce the same results, but the second method isavailable for programs not compiled or assembled symbolically.

Note: Neither command is valid until after an SQL request has been issued.

Advanced Debugging Techniques

For specialized debugging tasks, you can instruct CA-InterTest for CICS to haltyour program at DB2 or SQL/DS calls other than an SQL application request.However, halting programs at these calls usually does not produce much usefulinformation and might create problems.

To halt a program before selected DB2 or SQL/DS calls, use the CA-InterTest forCICS request breakpoint capability:

1. Access the Request Breakpoint Selection menu, as explained in the chapter“Using Breakpoints.”

2. Enter X to the left of the CALLs field at the top of the menu. Press Enter.

CA-InterTest for CICS displays the Request Breakpoint Selection menu for calls.

CA-InterTest MONITORING COMMAND BUILDER - REQUEST BREAKPOINT SELECTION

Set one or more types of CALLs in: PROG=COBSQL _ All CALLs

_ DSNHLI _ DSNHADDR _ DSNTIAR _ ILBOINS0 _ COMDSTUB _ TESTCONV

Enter 'n' to stop only every n'th time ____

PF1 Help 2 3 End 4 Return 5 6 PF7 8 9 10 11 12

Page 451: CA-Intertest for CICS User Guide

Advanced Debugging Techniques

Using CA-InterTest with DB2 and SQL/DS Programs 12–11

For DB2 this menu contains three relevant entries, as illustrated above:

DSNHLI, DSNHADDR, and DSNTIAR.

DSNHLI—The call generated for all SQL application requests. To halt theprogram at these calls, set request breakpoints at all DB2 calls on the firstRequest Breakpoint Selection menu as described in the section Halting ProgramsBefore and After Each SQL Request.

DSNHADDR—The call made to the SQL-INITIAL routine that is inserted by theDB2 preprocessor in the COBOL Procedure Division to initialize the parameterlists needed for an SQL call.

The DB2 preprocessor generates structures identified at the 01 level by SQL-PLISTn in COBOL Working-storage. There is one structure for each EXEC SQLcommand in the program. The SQL-PLISTns are parameter lists passed to DB2 ateach SQL request. The values in the parameter lists are updated at applicationprogram initialization using a DSNHADDR call. The SQL-INITIAL routinemakes one call to DSNHADDR for each EXEC SQL command. Usually, setting abreakpoint at each DSNHADDR call will not produce much useful information.

DSNTIAR—The call made to the IBM-provided DB2 subroutine that converts anSQL return code to a text message. The subroutine is approximately 32 KB insize and must be statically linked with your program. According to IBM, callingDSNTIAR dynamically from a CICS application program causes problemsbecause of the GETMAINs issued by DSNTIAR.

Unless your application program needs the SQL return code text message, thereis no need to set breakpoints at DSNTIAR calls. Instead, use the SQLRCODEcommand explained in the Handling SQL Return Codes section.

For VSE users, the Request Breakpoint calls menu displays the following calls:

ARIPRDI, ARIPADR, ARIPADR1, ARIPADR2, ARIPADR3, ARIPADR4,and ARIPADR5

ARIPRDI—The call generated for all SQL application requests. You can halt theprogram at these calls by setting request breakpoints at all SQL/DS calls on thefirst Request Breakpoint Selection menu as described in the section HaltingPrograms Before and After Each SQL Request.

Consult your SQL/DS manuals for an explanation of the other calls.

Page 452: CA-Intertest for CICS User Guide

DSNC Abends (OS/390 Only)

12�12 CA-InterTest 6.0 User Guide

DSNC Abends (OS/390 Only)

A DSNC abend means the CICS attach facility has detected an internal error andhas abnormally terminated a DB2 internal task or a user connected task. TheCICS attach facility first writes a SNAP dump to the SYS1.DUMPnn data set.Then, depending on the type of error, the CICS attach facility either:

� Terminates the user transaction by issuing an EXEC CICS ABEND withDSNC as the abend code. In this case, the application�s SQLCA remains setto low values.

� Allows the transaction to continue, but produces a dump by issuing EXECCICS DUMP with DSNC as the abend code. In this case, a return code isplaced in the application�s SQLCA.

In the first case described above, you cannot handle the DSNC abend in yourprogram�s EXEC HANDLE ABEND routine because control does not come backto it. EDF captures the DSNC abend, but its halt screen provides little usefulinformation.

CA-InterTest for CICS intercepts a DSNC transaction abend and produces anautomatic breakpoint, as illustrated below.

CA-INTERTEST - PROTDEM FILE SOURCE LISTING BREAKPOINTCommand ===>Program= COBSQL Option # Stmt # Margin= 01

Search=

-------------------------------------------------------------------------------01414*****END-EXEC.01415 PERFORM SQL-INITIAL UNTIL SQL-INIT-DONE

A ==> CALL 'DSNHLI' USING SQL-PLIST6.==>==> CICS abend intercepted. Abend code = DSNC, after an external CALL.==>==> Press PF1 for a detailed description.==>

0141701418

_ 01419 IF SQLCODE = 530_ 01420 MOVE 'INVALID WORK DEPARTMENT ' TO ERRMSGO_ 01421 MOVE 1 TO WDEPTL_ 01422 MOVE DFHBMBRY TO WDEPTA_ 01423 GO TO SEND-RTN.

01424

If CICS has terminated the transaction, you cannot continue processing itbecause the registers have been destroyed.

CA-InterTest for CICS provides several CORE commands to help you determinethe cause of the problem online without waiting for the DB2 SNAP dump.

Page 453: CA-Intertest for CICS User Guide

DSNC Abends (OS/390 Only)

Using CA-InterTest with DB2 and SQL/DS Programs 12�13

Inspecting the CICS Life of Task Control Block (CLOT)

According to the DB2 Problem Determination Guide, first locate the CICS Life ofTask (CLOT) control block. The reason for the error can be determined by thecodes in the CLOTCFLG field of the control block included in the dump.

To display the CLOT, type the following command and press PF12:

CORE=CLOT

Next, the DB2 Problem Determination Guide recommends that you inspect theCLOTCFLG field. You can page forward to display this field or type thefollowing command and press PF12:

CORE=CLOT.CLOTCFLG

Inspecting and Interpreting Reason and Abend Codes

If the thread subtask has abended (CLOTCFLG=18), the reason code is containedin the CLOTWRK1 field and the abend code is contained in the CLOTWRK2field. Both abend reason codes and subsystem termination reason codes have thefollowing format:

X'00ccxxxx'

where:

X'00' is the high-order byte

X'cc' is the hexadecimal sub-component identifier

X'xxxx' is the hexadecimal reason code

To display this information on a single diagnostic screen, type the followingcommand and press Enter:

CORE=SQLRCODE

Page 454: CA-Intertest for CICS User Guide

Viewing the Resource Control Table (OS/390 Only)

12�14 CA-InterTest 6.0 User Guide

A sample diagnostic CA-InterTest for CICS display appears below.

CA-InterTest - MAIN STORAGE UTILITY - Termid = LXD6

Transaction DB2C, Program COBSQL has terminated with an DSNC abend.

The reason code for this failure is: 18The thread subtask has abended; see subtask dump.

The failing DB2 subcomponent identifier is: 00E7Relational data system.

The subsystem termination reason code is: 000D

Refer to the IBM DATABASE 2 Messages and Codes, Part 4. Reason Codes,for detailed information.

------------------------------------------------------------------------------PFKEYS 1 Help 2 3 End 4 Return 5 6

7 8 9 10 11 12CORE=SQLRCODE

Refer to the DB2 Messages and Codes manual for an explanation of the codes.

Inspecting the Application Invocation Parameter List (RDIIN)

In some cases, the DB2 Problem Determination Guide suggests that you inspect theApplication Invocation Parameter List (RDIIN) in the DB2 SNAP dump forfurther information. If this control block exists in your CICS DSNC dump, youcan view it online by typing the following command and pressing PF12:

CORE=RDIIN

Viewing the Resource Control Table (OS/390 Only)

The CICS/DB2 connection and control characteristics are defined in the ResourceControl Table (RCT), which is assembled using DSNCRCT macros. It is link-edited into an APF-authorized library that is available to CICS at execution time.

A Communication Control Table (CCT) is built from the Resource Control Tableduring initialization of the CICS attach facility. The CCT is the internalrepresentation of the RCT. Each entry in the CCT is a possible thread.

To view part of the RCT, issue the following command and press PF12:

CORE=RCT

CA-InterTest for CICS displays a structured display of the beginning of the RCT,which shows the values defined primarily by the DSNCRCT TYPE=INIT macrowhen the table was assembled.

Page 455: CA-Intertest for CICS User Guide

Viewing the Resource Control Table (OS/390 Only)

Using CA-InterTest with DB2 and SQL/DS Programs 12�15

To see the values for individual transactions defined by the DSNCRCTTYPE=ENTRY macro when the table was assembled, use the DB2 facility of theCA-InterTest for CICS FILE transaction. Refer to the chapter �AccessingAuxiliary Storage: FILE� for details.

WARNING! It is possible to change values in the RCT via the CORE transaction, butyou are strongly advised not to attempt this. Because this table is not part of yourprogram, CA-InterTest requires a password before allowing you to change any part of theRCT.

Page 456: CA-Intertest for CICS User Guide
Page 457: CA-Intertest for CICS User Guide

Analyzing Dumps Symbolically: CA-SymDump for CICS Option 13–1

Chapter

13Analyzing Dumps Symbolically:CA-SymDump for CICS Option

What Is CA-SymDump for CICS Option?

When you test a program with CA-InterTest for CICS, your program does notusually produce a dump because CA-InterTest for CICS monitors the programand halts it at an automatic breakpoint before the program abends. Then youcan take advantage of CA-InterTest for CICS‘s powerful diagnostic tools to findthe problem, correct the error and continue testing.

Ideally, you might use CA-InterTest for CICS to monitor every program andcatch every error. However, in the real world that is not possible—eitherbecause of the overhead involved or because you may not want to monitorsecurity programs or programs using non-standard code.

Consequently, although CA-InterTest for CICS greatly reduces the number ofdumps, dumps will still occur, especially in production. Even a thoroughlydebugged program can abend because of bad data, scheduling errors, invalidparameters, and many other factors beyond programmer control.

CA-SymDump for CICS Option—which stands for symbolic dump facility—is apowerful online tool designed to handle dumps. It lets you:

� Analyze dumps symbolically, especially valuable for shooting bugs in yourproduction system where you might not want CA-InterTest breakpointdisplays

� Manage your dump data set so you can selectively retain, view, and print thedumps you need, and discard the ones you do not need

Page 458: CA-Intertest for CICS User Guide

Symbolic Dump Analysis

13–2 CA-InterTest 6.0 User Guide

Symbolic Dump Analysis

Problems that cause dumps are a fact of life in both production and test systems.CA-SymDump for CICS Option lets you analyze and solve these problemsonline, without having to access and read traditional hexadecimal formatdumps. Your source listing is displayed at the instruction that triggered theabend, just as if CA-InterTest for CICS had stopped the program at an automaticbreakpoint.

With CA-SymDump for CICS Option you can:

� Use the powerful functions of CA-InterTest to find and correct errors by:

– Displaying program variables symbolically

– Viewing the program listing and compiler output

– Setting breakpoints for subsequent testing

– Using CORE and FILE to inspect and modify main and auxiliary storage

� Take advantage of special CA-SymDump for CICS Option capabilities to:

– Pinpoint the abending instruction and its operands

– Display the formatted trace table

– View the source statement responsible for the abend

– List the programs and files used by the task

– View the contents of the PSW and registers at the abend

You can use CA-SymDump for CICS Option in any region—regardless of wherethe abend occurred. For example, you can debug a production dump in your testregion. Consequently, it is not necessary to run CA-InterTest for CICS inproduction to take advantage of CA-SymDump for CICS Option. You can evendebug a dump produced in a remote data center at another site.

You can instruct CA-SymDump for CICS Option to refer to the symbolics youwant, if multiple symbolic versions of the program exist. This is especiallyhelpful if there are many versions of a particular program. Even if CA-InterTestfor CICS does not have symbolic information for the program, CA-SymDump forCICS Option still provides a formatted display of the CICS system areas, withhexadecimal and character representations of each field so you can debug withor without symbolics.

Page 459: CA-Intertest for CICS User Guide

Managing Dumps

Analyzing Dumps Symbolically: CA-SymDump for CICS Option 13–3

Managing Dumps

CA-SymDump for CICS Option also lets you control which CICS dumps to save,discard, and print. It has its own dump data set, which is separate from the CICSdump data set. You can even route dumps to both data sets. It is easy to managethe CA-SymDump for CICS Option data set because you can:

���� List all dumps. You will know immediately when each dump was createdand what transaction and program produced it. You can quickly select thedumps you want to view online.

���� Delete specific dumps. You can delete the dumps you do not want and keepthe ones you need. As a result, you will avoid those situations where CICSstops writing dumps because the dump data set is filled.

���� Hold specific dumps. You can specify which dumps you want to retain forfuture use.

���� Print specific dumps. It is no longer necessary to print the entire dump dataset to get printouts of selected dumps. You can even print an index of all thedumps in the dump data set.

How CA-SymDump for CICS Option Works with Your CICSDump Data Set

CA-SymDump for CICS Option contains only application dumps; system dumpsare still written to your CICS dump data set. When CA-SymDump for CICSOption is installed, your system programmers can specify which dumps they donot want written to either the CA-SymDump for CICS Option or the CICS dumpdata set to save DASD space. For example, they can exclude all AKCT abends.

CA-InterTest for CICS automatically deletes old dumps from the CA-SymDumpfor CICS Option data set when space is needed for new ones; however, youdetermine how frequently dumps are deleted. You can also specify that certaindumps be held so they are not deleted. If the CA-SymDump for CICS Optiondata set becomes full (that is, full of dumps that cannot be deleted), new dumpsare written to your CICS dump data set instead of to the CA-SymDump for CICSOption data set.

Page 460: CA-Intertest for CICS User Guide

Learning More about CA-SymDump for CICS Option

13–4 CA-InterTest 6.0 User Guide

Learning More about CA-SymDump for CICS Option

The CA-SymDump for CICS Option Primary Option Menu is displayed whenyou select Option 5 Dump Analysis from CA-InterTest for CICS Primary OptionMenu. For detailed instructions on how to use CA-SymDump for CICS Option,refer to the Help facility or the CA-SymDump for CICS Option User Guide.

Page 461: CA-Intertest for CICS User Guide

The Symbolic File A�1

Appendix

A The Symbolic File

This appendix explains how to prepare your programs for symbolic support.The first section covers preparing COBOL, PL/I, and Assembler programs, andthe second section covers preparing the subprograms that are link-edited atruntime to a main program for composite support.

Batch Preparations for Symbolic and LIST Support

To have the program listing and symbolic information available for interactivetesting of your application program, you must compile or assemble yourprogram with the JCL that updates the CA-InterTest for CICS Symbolic File.This procedure will not modify your program or load modules in any way; itsimply runs a CA-InterTest for CICS post-processor program that saves someinformation for future use online. There are separate post-processors for each ofthe following:

� COBOL post-processor (IN25SYMC)

� COBOL II, COBOL/370, and IBM COBOL for OS/390 post-processor(IN25COB2)

� Assembler post-processor (IN25SYMA)

� PL/I and PLI/370 post-processor (IN25SYMP)

Note: CA-Optimizer/II users should use the COBOL II post-processorIN25COB2.

All COBOL and PL/I post-processor programs are placed between the compilerand the linkage-editor. The Assembler post-processor program is placedbetween the assembler and the linkage-editor.

This procedure can be executed by as many concurrent jobs as necessary. Thereis no interference between concurrent compiles or assembles when you areupdating the CA-InterTest for CICS Symbolic File unless they run on separateCPUs under separate operating systems. In that case, refer to the ENQparameter in the CA-InterTest for CICS Getting Started.

Page 462: CA-Intertest for CICS User Guide

COBOL, COBOL II, and CA-Optimizer Compiler andPost-Processor Options

A�2 CA-InterTest 6.0 User Guide

CA-InterTest examines the output listing produced by the compiler or theassembler before it is printed, and saves the symbolic information in theCA-InterTest Symbolic File. Therefore, the tested programs can be prepared asversions ready for execution in a production environment and still be availablefor symbolic interactive testing with CA-InterTest.

After the error-free production version of the program is ready, the informationsaved on the Symbolic File continues to reflect true displacements and othercharacteristics of data items defined in the program. If necessary, such aprogram can be retested in the production environment since it is still the samemodule.

During recompiles the post-processor programs replace old records in theSymbolic File with new ones, which prevent the recompiles from causingsignificant growth of the file.

The next sections give the details of compiling and assembling with the post-processors (with separate instructions for COBOL, Assembler, and PL/I, and aspecial section dealing with CA-Optimizer users), and contain information on theCA-InterTest for CICS Symbolic File Batch Utility Program, which you can usefor reports and file maintenance.

Note: Procedures for compiling or assembling your program are set whenCA-InterTest for CICS is installed and are documented in the CA-InterTest forCICS Getting Started.

COBOL, COBOL II, and CA-Optimizer Compiler andPost-Processor Options

Follow the requirements in the following sections when compiling COBOLprograms for CA-InterTest for CICS symbolic testing. The specified compileroptions include those normally used for compiles of CICS/VS and will notrestrict your programming.

Note: Compiler options are in the listing in the *STATISTICS* section.

Page 463: CA-Intertest for CICS User Guide

COBOL, COBOL II, and CA-Optimizer Compiler andPost-Processor Options

The Symbolic File A�3

Specifying IBM COBOL Compiler Options

Using these options, you can produce the following parts of the COBOL compilerlisting:

� Data Division Map

� Working-Storage Map (TGT, PGT, literals)

� Either Condensed or Full (Assembler-like) Listing of the Procedure Division(the Condensed Listing is highly recommended)

� Cross-Reference of Data Names

� Cross-Reference of Procedure Names

The following table lists the options you must use with the IBM COBOLcompiler.

COBOL COBOL II, COBOL 370,IBM COBOL for OS/390

Produces

NONUM NONUMBER Suppress compiler-generated line numbers

DMAP MAP Data Division Map

VERB no option Verb names

CLIST or OFFSET or Condensed Procedure Division Map

PMAP LIST Assembler-like Procedure Division Map

SXREF XREF Cross-reference of data names andcross-reference of paragraph names

Specifying CA-Optimizer and CA-Optimizer/II Options

The following options must be used with CA-Optimizer when not using theNOCOPT option. The NOCOPT option specifies that the program will not beoptimized by CA-Optimizer even though CA-Optimizer is active. See theCA-Optimizer User Guide for more information.

CA-Optimizer CA-Optimizer/II Produces

MLIST MLIST or MOFFSET Integrated Procedure Division Map

DMAP MAP Data Division Map

INTERTST Indicates that the program is beingoptimized for use with CA-InterTest(CA-InterTest requirement)

Page 464: CA-Intertest for CICS User Guide

COBOL, COBOL II, and CA-Optimizer Compiler andPost-Processor Options

A�4 CA-InterTest 6.0 User Guide

The following options must be used with the CA-Optimizer NOCOPT option.

CA-Optimizer CA-Optimizer/II Produces

NONUM NONUMBER Suppress compiler-generated line numbers

DMAP MAP Data Division Map

VERB no option Verb names

LIST Assembler-like Procedure Division Map

SXREF XREF Cross-reference of data names and cross-reference of paragraph names

Note the following:

� For CICS OS/390, the following options must not be used in a COBOLprogram that is a CICS application: COUNT, ENDJOB, FLOW, STATE,SYMDMP, SYST, and TEST.

� At least one data item must be declared in Working Storage.

Specifying IBM VSE COBOL Compiler Options

The following options must be used with the IBM VSE COBOL compiler:

Option Specify on Produces

SYM // OPTION Data Division Map

VERB CBL Verb names

CLIST or CBL Condensed Procedure Division Map

LISTX // OPTION Assembler-like Procedure Division Map

SXREF CBL Cross-reference of data names and cross-reference of procedure names

NOSEQ CBL Indicates that the compiler is not to check forsequence numbers of the source module

Page 465: CA-Intertest for CICS User Guide

COBOL, COBOL II, and CA-Optimizer Compiler andPost-Processor Options

The Symbolic File A�5

COBOL Post-Processor Parameters

You must pass a parameter card to the post-processor, IN25SYMC or IN25COB2,that specifies the following:

pgmname,CUTPRINT=xxx,LISTER=xxx

pgmname is required, and CUTPRINT and LISTER are optional parameters, asdefined next.

PGMNAMEParameter

pgmname is the name of the program as defined in the CICS processing programtable (PPT). The program name on the parameter card causes the post-processorto save the program symbolics (field names, procedure names, and statementnumbers) in the Symbolic File. Must be entered in column 1.

CUTPRINT Parameter Add one of the following forms of the CUTPRINT parameter to suppress theprinting of all or part of the listing produced by the compiler. Enter theCUTPRINT parameter after the program name:

,CUTPRINT=ALL prints none of the compile listing

,CUTPRINT=MAP prints only the parts before the Data Division Map

,CUTPRINT=REF prints only the parts before the Cross-Reference List

To print a full compile listing, do not include the CUTPRINT parameter on theparameter card.

LISTER Parameter You must specify one of the following forms of the LISTER parameter to save allor part of the COBOL compile listing for online display (before and duringtesting). If the listing is saved, CA-InterTest displays the relevant portion on abreakpoint display. Specify LISTER after the CUTPRINT parameter on theparameter card. If the CUTPRINT parameter is not used, specify LISTER directlyafter the program name.

Note: If the LISTER parameter is omitted, no part of the listing is saved in theSymbolic File.

,LISTER=ALL saves the entire compile listing

,LISTER=MAP saves only the parts before the Data Division Map(recommended for COBOL)

,LISTER=REF saves only the parts that precede the Cross-Reference List(recommended for COBOL II, COBOL/370, and IBM COBOL for OS/390)

Examples The following parameter card, which saves the symbolic references for theprogram ORDEDIT, will not have any portion of the listing printed, and savesthe entire output of the compiler for online display.

Page 466: CA-Intertest for CICS User Guide

Assembler Options and Post-Processor Parameters

A�6 CA-InterTest 6.0 User Guide

Col = 1...5...10...15...20...25...30...35ORDEDIT,LISTER=ALL,CUTPRINT=ALL

The following parameter card saves the symbolic references for the programORDEDIT and saves the entire listing. By default, the entire compile output isprinted.

Col = 1...5...10...15...20ORDEDIT,LISTER=ALL

Assembler Options and Post-Processor Parameters

Specifying Assembler Options

The following sections must be produced by the assembler:

� Entire listing

� Cross-reference, either short or full

The Assembler Post-Processor Parameters

You must pass a parameter card to the Assembler post-processor IN25SYMA,which specifies the following:

pgmname,CUTPRINT=xxx,LISTER=xxx

pgmname is required, and CUTPRINT and LISTER are optional parameters, asdefined next.

PGMNAMEParameter

pgmname is the name of the program as defined in the CICS processing programtable (PPT). The program name causes the post-processor to save the programsymbolics (field names, procedure names, and statement numbers) in theSymbolic File. Must be entered in column 1.

CUTPRINT= Parameter To suppress the printing of all or part of the listing produced by the assembler,add one of the following forms of the CUTPRINT parameter after the programname on the parameter card:

,CUTPRINT=ALL prints none of the assembler listing

,CUTPRINT=REF prints only the parts before the Cross-Reference List

To print a full Assembler listing, do not include the CUTPRINT parameter on theparameter card.

Page 467: CA-Intertest for CICS User Guide

PL/I Compiler Options and Post-Processor Parameters

The Symbolic File A�7

LISTER Parameter You must specify one of the following forms of the LISTER parameter to save allor part of the Assembler listing for subsequent display (before and duringtesting). If the listing is saved, CA-InterTest displays the relevant portion on abreakpoint display. Specify LISTER directly after the CUTPRINT parameter. Ifthe CUTPRINT parameter is omitted, specify LISTER after the program name.

Note: If the LISTER parameter is omitted, no listing is saved in the Symbolic File.

,LISTER=REF saves only the parts that precede the Cross-Reference List

,LISTER=ALL saves the entire Assembler listing

Examples The following parameter card saves the symbolic references for the programORDEDIT, and saves the source code portion of the program. By default, theentire assembler output is printed.

Col = 1...5...10...15...20ORDEDIT,LISTER=REF

The following parameter card, which saves the symbolic references for theprogram ORDEDIT, prints only the parts before the Cross-Reference List andsaves the entire output of the assembler for online display:

Col = 1...5...10...15...20...25...30...35ORDEDIT,CUTPRINT=REF,LISTER=ALL

PL/I Compiler Options and Post-Processor Parameters

Specifying the PL/I Compiler Options

The suggested parameters for the PL/I optimizing compiler are:

� LIST option (Assembler-like listing of the generated code); optional

� Tables of Offsets; required

Use the following options with the IBM PL/I compiler: SOURCE,NONUMBER(NNUM) (OS/390 only), XREF(FULL), OFFSET,ATTRIBUTES(FULL), AGGREGATE, STORAGE, MAP, STMT (or GOSTMT),OPTIONS, NEST, NOMARGINI.

Do not use the following options: NUMBER, GONUM, MARGINI, %NOPRINT.

Note: For information on the %NOPRINT option, consult the CA-InterTest forCICS Getting Started.

Page 468: CA-Intertest for CICS User Guide

PL/I Compiler Options and Post-Processor Parameters

A�8 CA-InterTest 6.0 User Guide

The PL/I Post-Processor Parameters

Use a control card with a //SYSIN DD * JCL statement to pass the parameters tothe post-processor program, IN25SYMP. Specify the following:

pgmname,CUTPRINT=xxx,LISTER=xxx

pgmname is required, and CUTPRINT and LISTER are optional parameters, asdefined next.

PGMNAMEParameter

pgmname is the name of the program as defined in the CICS processing programtable (PPT). The program name will cause the post-processor to save theprogram symbolics (field names and statement numbers) in the Symbolic File.Must be entered in Column 1.

CUTPRINT= Parameter To suppress the printing of all or part of the listing produced by the compiler,add one of the following forms of the CUTPRINT parameter after the programname:

,CUTPRINT=ALL prints none of the compile listing

,CUTPRINT=REF terminates printing after the XREF table

,CUTPRINT=OFFSET terminates printing after the Table of Offsets

To print a full compile listing, do not include the CUTPRINT parameter on thecontrol card.

LISTER Parameter You must specify one of the following forms of the LISTER parameter to save allor part of the PL/I compile listing for subsequent display (before and duringtesting). If you save the listing, CA-InterTest displays the relevant part of codeon a breakpoint display. Specify the LISTER parameter immediately after theCUTPRINT parameter. If the CUTPRINT parameter is omitted, specify LISTERdirectly after the program name.

Note: If the LISTER parameter is omitted, no part of the listing is saved in theSymbolic File.

,LISTER=ALL saves the entire compile listing

,LISTER=REF saves the source and XREF sections only

,LISTER=OFFSET saves all of the listing up to and including the Table of Offsets

Examples The following control card saves the symbolic references for the programORDEDIT and saves the entire listing. By default, the entire compile output isprinted.

Col = 1...5...10...15...20ORDEDIT,LISTER=ALL

Page 469: CA-Intertest for CICS User Guide

VSE/POWER Option (POWER)

The Symbolic File A�9

The following parameter card, which saves the symbolic references for theprogram ORDEDIT, will not have any portion of the listing printed, but saves theentire output of the compiler for online display:

Col = 1...5...10...15...20...25...30...35ORDEDIT,CUTPRINT=ALL,LISTER=ALL

VSE/POWER Option (POWER)

VSE users can route the compiler output to VSE/POWER rather than SYSLST forsignificant performance improvements. To request that CA-InterTest for CICSuse VSE/POWER, you must add the POWER parameter to the parameter card.

POWER Parameter To have CA-InterTest use VSE/POWER, enter the following command. Specifythe same jobname that appears on the VSE/POWER $$ JOB statement.

POWER=jobname

To have CA-InterTest for CICS use VSE/POWER, enter the following command.Specify the same jobname that appears on the VSE/POWER $$ JOB statement.

POWER=(jobname,x,y)

� Replace x with the character that identifies the output class that contains theoutput produced by the compiler before CA-InterTest processing. The xspecification overrides the POWERIN installation option.

Note: If you specify x (the first output class), you must also specify y (thesecond output class).

� Replace y with the character that identifies the output class containing theoutput produced by the compiler after CA-InterTest processing if theCUTPRINT option is not specified. Usually, this is a class used to produce ahardcopy. The y specification overrides the POWEROT installation option.

If CUTPRINT is specified, the y specification is ignored and the CLASSspecification on the second $$ LST card determines the output class.

Examples The following parameter card saves symbolic references for program ORDEDIT.The output from the compiler is found in the VSE/POWER list queue under thename PAYROLL. The POWERIN and POWEROT installation options determinethe VSE/POWER classes.

Col = 1...5...10...15...20...25...30...35ORDEDIT,POWER=PAYROLL

Page 470: CA-Intertest for CICS User Guide

The Symbolic File Batch Utility Program IN25UTIL

A�10 CA-InterTest 6.0 User Guide

The following parameter card saves symbolic references for program ORDEDIT.The output from the compiler is found in the VSE/POWER list queue under thename PAYROLL with CLASS=C. The CA-InterTest for CICS post-processorchanges the class to A after it has completed its processing. The C,A specificationoverrides the POWERIN and POWEROT installation options.

Col = 1...5...10...15...20...25...30...35ORDEDIT,POWER=(PAYROLL,C,A)

The Symbolic File Batch Utility Program IN25UTIL

CA-InterTest for CICS provides a batch utility program to handle maintenanceand reporting functions for the Symbolic File. The program runs as a separatejob, with its functions provided with a parameter card.

Note: All control card entries must start in Column 1.

To produce a Symbolic File report containing system information with a detailedreport of each program on the Symbolic File, specify:

REPORT

To print the saved source listing for the program specified by XXXXXXXX,specify:

PRINT=XXXXXXXX

To write all the symbolic data for the program specified by XXXXXXXX, specify:

UNLOAD=XXXXXXX

To obtain a similar report on your terminal, enter one of the following CNTLcommands on a clear screen or in the command line of a CA-InterTest for CICSscreen.

� To see all programs, specify:

CNTL=INQ,IDX=ALL

� To see the program XXXXXXXX, specify:

CNTL=INQ,IDX=XXXXXXXX

� To remove old program data from the Symbolic File, see the CA-InterTest forCICS Getting Started.

Page 471: CA-Intertest for CICS User Guide

The Symbolic File Batch Utility Program IN25UTIL

The Symbolic File A�11

OS/390 Examples The following job generates a system report and prints the program listing forthe program COBDEMO.

//UTILITY JOB ........//STEP1 EXEC PGM=IN25UTIL//STEPLIB DD DSN=INTRTST.TEST.LOADLIB,DISP=SHR//MESSAGE DD SYSOUT=*//OUTPUT DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=121,BLKSIZE=2420)//PROTSYM DD DSN=INTRTSTV.PROTSYM,DISP=SHR//CARDS DD *REPORTPRINT=COBDEMO/*//

Note: The OUTPUT DD statement in the previous example is for all programsexcept COBOL II and Assembler H. For COBOL II and Assembler H programs,use the following statements:

//OUTPUT DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=133,BLKSIZE=3990) COBOL II//OUTPUT DD SYSOUT=*,DCB=(RECFM=FBM,LRECL=121,BLKSIZE=2420) Assembler H

Use the jobs illustrated in the next two examples to move a symbolic listing froma test Symbolic File to tape and then from tape to a production Symbolic File.This insures that the current version of the listing is preserved in case theprogram experiences problems in production and needs further debugging.

� The following job unloads program COBDEMO from the Symbolic File to anonlabeled tape.

//UTILITY JOB ........//STEP1 EXEC PGM=IN25UTIL//STEPLIB DD DSN=INTRTST.TEST.LOADLIB,DISP=SHR//MESSAGE DD SYSOUT=*//PROTSYM DD DSN=INTRTST.TEST.PROTSYM,DISP=SHR//UNLOAD DD UNIT=TAPE,VOL=SER=OSITAP,LABEL=(,NL),// DISP=(OLD,KEEP),DCB=(RECFM=FB,LRECL=2042,BLKSIZE=20420)//CARDS DD *UNLOAD=COBDEMO/*//

� The following job reloads program COBDEMO from a nonlabeled tape to theSymbolic File.

//UTILITY JOB ........//STEP1 EXEC PGM=IN25UTIL//STEPLIB DD DSN=INTRTST.TEST.LOADLIB,DISP=SHR//MESSAGE DD SYSOUT=*//PROTSYM DD DSN=INTRTST.PROD.PROTSYM,DISP=SHR//RELOAD DD UNIT=TAPE,VOL=SER=OSITAP,LABEL=(,NL),// DISP=(OLD,KEEP),DCB=(RECFM=FB,LRECL=2042,BLKSIZE=20420)//CARDS DD *PASSWORD=xxxxxxxxRELOAD=COBDEMO/*//

Note: Specify the password generated in your system.

Page 472: CA-Intertest for CICS User Guide

Batch Preparations for Composite Support

A�12 CA-InterTest 6.0 User Guide

VSE Examples The following job generates a system report and prints the program listing forthe program COBDEMO.

// JOB IN25UTIL// EXEC PROC=INTR250 LIBRARY INFORMATION// DLBL PROTSYM,’INTRTSTU.PROTSYM’,,VSAM,CAT=INTRUC// ASSGN SYS005,CUU INPUT TAPE// EXEC IN25UTIL,SIZE=AUTOREPORTPRINT=COBDEMO/*/&

The following job unloads the program COBDEMO from the Symbolic File to anonlabeled tape.

// JOB IN25UTIL// EXEC PROC=INTR250 LIBRARY INFORMATION// DLBL PROTSYM,’INTRTSTU.PROTSYM’,,VSAM,CAT=INTRUC// ASSGN SYS005,CUU INPUT TAPE// EXEC IN25UTIL,SIZE=AUTOUNLOAD=COBDEMO/*/&

Batch Preparations for Composite Support

The CA-InterTest for CICS composite support feature lets you take advantage ofall of the CA-InterTest for CICS capabilities when you test and debug compositemodules. A composite module is a load module defined in the PPT that consists ofseparately compiled or assembled parts brought together when the program islink-edited.

The part of the composite module that receives control from CICS is referred toas the main program; the remaining parts are referred to as subprograms. The mainprogram and subprograms can be written in the same or different languages.

Composite support lets you test and debug a subprogram as if it were a separateprogram. This means you can set breakpoints and other monitoring optionsindividually for the main program and any subprograms you specify.

Follow these steps for composite support:

1. For symbolic support, compile the main program and each subprogram youwant to test with the CA-InterTest post-processor. Follow the directions insection Batch Preparations for Symbolic and LIST Support.

2. Link-edit the programs.

3. Execute the CA-InterTest batch program IN25LINK to read the link-edit mapand store the necessary information in the Symbolic File.

Page 473: CA-Intertest for CICS User Guide

Specifying Parameters for IN25LINK

The Symbolic File A�13

It is more efficient to use the CA-InterTest for CICS batch program to obtain thenecessary link-edit information. However, you can also provide the link-editinformation online on the CNTL Composite Support screen, accessed fromOption 2.1 on the Primary Option Menu.

Note: Skip Step 1 if you do not want symbolic support.

Specifying Parameters for IN25LINK

Execute the CA-InterTest for CICS job step, IN25LINK, after the compositemodule is link-edited. Specify one or more parameter cards to identify thecomposite module, main program and any subprograms you want to test.

Identifying the Composite Module

The first parameter card is required. It specifies the PPT name of the compositemodule, beginning in column 1. You can also optionally specify the ,NOPURGEparameter. This parameter specifies that symbolic information for the compositemodule not be purged from the Symbolic File during a purge interval batch job.

The first parameter card has this format:

composite-name[,NOPURGE]

Note: The program name specified in the parameter statement for the post-processor step must also be the PPT name of the composite module. Refer to thesection Batch Preparations for Symbolic and LIST Support for details.

Identifying the Main Program and Subprograms

Subsequent parameter cards identify the main program and each subprogramyou want to test separately. These cards can be in any order and must specifytwo parameters, separated by commas, in this format:

link-name,monitor-name

link-name identifies the name of the COBOL program, Assembler CSECT, or PL/IControl Section as listed in the link-edit map. This parameter must begin incolumn 1.

Note: For a PL/I program, specify the name of the Control Section, which isgenerated by the compiler, that ends with 1.

Page 474: CA-Intertest for CICS User Guide

Specifying Parameters for IN25LINK

A�14 CA-InterTest 6.0 User Guide

monitor-name specifies the name under which the program is to be monitored.Follow these rules in specifying monitor-name:

� Each monitor-name must be unique.

� The monitor-name of the main program must be the PPT name of thecomposite module. However, the monitor-name of a subprogram cannot be aPPT name.

� The monitor-name can be identical to the link-name.

� If you compiled the main program or subprogram with the CA-InterTestpost-processor, the monitor-name must be identical to the program namespecified in that job step.

Note: For OS/390, you can omit all but the first parameter card that identifiesthe composite module. For VSE, you must specify a second parameter card toidentify the link-name and monitor-name of the main program.

Excluding Subprograms

By default, CA-InterTest excludes subprograms with DFH, DLZ, ILB, IGZ, andIBM prefixes when it reads the link-edit map. Normally, you will not want totest such programs. However, you can specify a parameter card to change thedefault exclusion rules. This parameter card can be positioned anywhere in thecard deck, except as the first card, and has one of the following formats:

.EXCLUDE=

.EXCLUDE=xxxxxxxx[,xxxxxxxx,...,xxxxxxxx]

� The .EXCLUDE= specification must begin in column 1.

� .EXCLUDE= instructs CA-InterTest not to exclude any subprograms.

� .EXCLUDE=xxxxxxxx instructs CA-InterTest to exclude subprograms whoselink-names are represented by xxxxxxxx.

� Specify the entire link-name to exclude a specific subprogram.

� Specify the beginning portion of the link-name to exclude a group ofsubprograms. For example, to exclude all subprograms with the prefixACA1, specify:

.EXCLUDE=ACA1.

Page 475: CA-Intertest for CICS User Guide

Specifying Parameters for IN25LINK

The Symbolic File A�15

Example A composite module with the PPT name BIGMOD consists of several separatelycompiled programs and library modules. Its main program is namedMAINMOD and is written in COBOL. BIGMOD also has three Assemblersubprograms that you want to test separately: SUBMOD-A, SUBMOD-B, andSUBMOD-C. None of the subprograms has its own PPT entry.

You have already assembled SUBMOD-A, SUBMOD-B, and SUBMOD-C withthe CA-InterTest for CICS Assembler post-processor program. You specifiedASMMOD-A, ASMMOD-B, and ASMMOD-C, respectively, as the programnames in that job step.

Now you are going to compile MAINMOD with the CA-InterTest for CICSCOBOL post-processor program and specify BIGMOD as the program name.Then you will link-edit MAINMOD, SUBMOD-A, SUBMOD-B, and SUBMOD-Cand execute the CA-InterTest for CICS batch program IN25LINK.

The link-edit map output for BIGMOD contains the following:

Control Section Origin Length Location

DFHECI 00 160 Command level COBOL stub

MAINMOD 160 78A8 Main program, COBOL

ILBOATB 7A08 11A COBOL library module

ILBOCOM0 7B28 173 COBOL library module

SUBMOD-A 7CA0 1200 Subprogram, Assembler

SUBMOD-B 8EA0 1001 Subprogram, Assembler

SUBMOD-C 9EA1 93A Subprogram, Assembler

ENTRY ADDRESS 160BIGMOD NOW REPLACED IN DATA SET.

Sample OS/390 JCL for the link-edit step and CA-InterTest for CICS job stepfollows. Note that the link-names specified on the parameter cards for theCA-InterTest for CICS job step are the program names as listed in the link-editoutput.

Note: If you are using the linkage editor DFSM S1.1, you must add PARM(MAP, ...) to your execute card.

Page 476: CA-Intertest for CICS User Guide

Specifying Parameters for IN25LINK

A�16 CA-InterTest 6.0 User Guide

//*//* Link-edit step//*//LINKJOB JOB YOUR-JOB-INFO//LKED EXEC PGM=IEWL,...//SYSLIB DD...//SYSLMOD DD...//SYSUT1 DD...//SYSLIN DD...//SYSPRINT DD DSN=&&INPUT,DISP=(,PASS),UNIT=SYSDA,SPACE=(TRK,(2,1)),// DCB=(DSORG=PS,LRECL=121,BLKSIZE=2420,RECFM=FB)//*//* CA-InterTest post-processor step//*//SYM EXEC PGM=IN25LINK,REGION=512K//SYSUDUMP DD SYSOUT=A//STEPLIB DD DSN=INTRTST.LOADLIB,DISP=SHR//STEPCAT DD DSN=CATALOG.INTRTST,DISP=SHR//INPUT DD DSN=&&INPUT,DISP=(OLD,DELETE)//OUTPUT DD SYSOUT=A,DCB=(RECFM=FBA,LRECL=121,BLKSIZE=3630)//MESSAGE DD SYSOUT=A//PROTSYM DD DSN=INTRTSTV.PROTSYM,DISP=SHR//CARDS DD *BIGMOD PPT name of composite moduleMAINMOD,BIGMOD link-name and monitor-name of main programSUBMOD-A,ASMMOD-A link-name and monitor-name of subprogramSUBMOD-B,ASMMOD-B link-name and monitor-name of subprogramSUBMOD-C,ASMMOD-C link-name and monitor-name of subprogram/*//

The above specifications would let you set breakpoints and options for any of theabove four programs using the monitor-names specified: BIGMOD, ASMMOD-A,ASMMOD-B, ASMMOD-C.

Observe these rules:

� The parameter statement for the post-processor step must specify the PPTname of the composite module as the program name. In this example, thePPT name is BIGMOD, so an appropriate parameter statement would be:

BIGMOD,LISTER=ALL

Refer to the section Batch Preparations for Symbolic and LIST Support fordetails on specifying the LISTER parameter statement.

� The first parameter card for the IN25LINK job step must identify thecomposite module, such as BIGMOD.

� The monitor-name of the main program must be the PPT name of thecomposite module; for example, BIGMOD, as illustrated in the secondparameter card.

The following JCL modifications are required to use the IN25LINK program:

1. The //SYSPRINT data set in the link-edit step must be modified.

2. A new job step to execute the IN25LINK program is inserted after thelinkage-editor step.

Page 477: CA-Intertest for CICS User Guide

Setting Composite Support

The Symbolic File A�17

Setting Composite Support

After executing program IN25LINK, access the CNTL Composite Support screen(accessed from Option 2.1 on the Primary Option Menu). This screen lists:

���� Link-edit information (link-name, offset, and length) for the main programand all subprograms

���� Monitor-names for each program for which you specified a parameter card

Note: The Composite Support screen will not include subprograms withprefixes DFH, ILB, and IBM, unless you specify a parameter card for such aprogram. In the previous example, subprograms DFHECI, ILBOATB, andILBOCOM0 would not appear on the Composite Support screen.

When CA-InterTest for CICS displays the Composite Support screen, you canmake the following changes:

� Add monitor-names for subprograms you want to test that do not havemonitor-name specifications

� Delete monitor-names of subprograms you do not want to test separately toreduce overhead

� Change the monitor-name and language of a subprogram

When you have made all necessary changes, press PF5 to set composite support.See the chapter �Monitoring Menu Options� for details.

When a Program Is Part of Multiple Programs or Is a Main Program

A subprogram can be link-edited into multiple composite modules. If you haveto test at the same time a subprogram that is part of two composite modules, youmust give CA-InterTest for CICS duplicate symbolic information and both sets oflink-edit information.

Similarly, a subprogram can also function as a separate CICS program with itsown PPT entry. If you need to test it separately as a subprogram, make sure itsmonitor-name is not the same as its PPT name.

Page 478: CA-Intertest for CICS User Guide
Page 479: CA-Intertest for CICS User Guide

Printing the Help File B�1

Appendix

B Printing the Help File

The CA-InterTest for CICS Help file contains extensive tutorial information thatcan be displayed online by entering HELP or by pressing PF1 from anyCA-InterTest for CICS screen. It has a browse capability from any point ofaccess.

The Help File Printout

You can print the Help file once it has been loaded from the distribution tapeusing the JCL in the following figures. The program prints one screen image perpage. The input to the program is the VSAM KSDS file that has been loadedfrom the distribution tape.

� The printout is formatted as 81-byte fixed length records; the first bytecontains the ANSI print control character, such as 1 for new page or a plussign, +, to overprint the same line.

� It is produced in uppercase and lowercase to enhance readability.

� The output is over 1000 pages.

� If your printer cannot handle lowercase characters specify PARM=UPPER inthe EXEC card of the JCL.

//PRINHELP JOB....//STEP1 EXEC PGM=IN25PRIH,REGION=256K//STEPLIB DD DSN=YOUR.INTRTST.LOADLIB,DISP=SHR//PROTHLF DD DSN=INTRTSTV.PROTHLF,DISP=SHR//OUTPUT DD SYSOUT=A//

Sample MVS JCL to Print the HELP File

* $$ JOB JNM=IN25PRIH,CLASS=C,USER=JEJ84// JOB IN25PRIH PRINT HELP FILE// EXEC PROC=INTR255 DLBL,EXTENT INFO AS NEEDED// DLBL PROTHLF,`CICS.LEAD.PROTHLF',,VSAM// EXEC IN25PRIH,SIZE=256KUPPER/*/&* $$ EOJ

Sample VSE JCL to Print the HELP File

Page 480: CA-Intertest for CICS User Guide
Page 481: CA-Intertest for CICS User Guide

Breakpoint Displays for Non-Symbolic Programs C�1

Appendix

CBreakpoint Displays forNon-Symbolic Programs

A non-symbolic breakpoint display appears for all non-symbolic programs. Inaddition, it appears if your COBOL or PL/I program was compiled without theCA-InterTest for CICS post-processor. Two examples are shown in thisappendix. Consult your systems programmer for further information.

Unconditional Breakpoint

The following figure is a sample non-symbolic breakpoint screen for anunconditional breakpoint. Each entry is described below.

� � �CNTL=GO,TASK=00492,C at +01A92 pgm=DAQCE121,addr=4CD85202 UBP: F=R6DI,T=R6DI Unconditional breakpoint.Mon.as DAQCE121 � Pgm DAQCE121 Trx EX02 Fac R6DI Trm in.....outTask 00492 at +01A92 CWK=2C27CC � TIOA none +01244 +0126EBLLs: 0 002AA4F8 1 802AAB48 2 002AE88C 3 002BF814 +01270 +01354

4 002C4808 5 002C48BE 6 002C4B52 7 002C4BA1 +01356 +013B68 002AC07A 9 002C50D6 10 002C54D3 11 002C64AD +013B8 +0141812 002C6606 13 002C6926 14 002C71EA 15 002C785C C.C.1 +014E0 +014F0

Nxt 41 10 D528 at +01A92 � Prev 50 10 D530 at +01A76 +014F8 +01514�Press ENTER to execute the default command on line 1, +01C7A +01C8AOVERTYPE it, or use any of the following PF KEYS: +01C98 +01CA8

1 Help 2 3 Source 4 5 Resume 6 Menu +01CB0 +01CC47 8 9 1 instruc 10 1 verb 11 Backtrace 12 Status +0177E +017AEAddr and content of relevant area: +019F4 +01A562C320C 002C29FD *.... * +01A58 +01A6C

+017B0 +017E2+01A6E curr.

� Default dispatch command abends the task for an automatic breakpoint. For allother breakpoints, the default is to continue task execution. The command canbe modified or overtyped with any other CA-InterTest command.

� Displacement of the instruction about to be executed.

� Name of the program that was stopped by CA-InterTest.

Page 482: CA-Intertest for CICS User Guide

Unconditional Breakpoint

C�2 CA-InterTest 6.0 User Guide

� Address of the instruction that triggered the breakpoint.

Note: CA-InterTest for CICS stopped the program before this instruction wasexecuted.

� Type of breakpoint: automatic (ABP), unconditional (UBP), conditional (CBP),request (RBP), or single-stepping (SBP). In most cases, there is a one or two linemessage explaining exactly why the breakpoint occurred.

� Name of the monitoring table entry.

Program name (Pgm), transaction code (Trx), and CICS facility (Fac) associatedwith the task; in this case, terminal (Trm) R6DI.

Task number and displacement of the instruction about to be executed.

Address of the area containing the copy of COBOL Working-storage for thistask. To display the area, issue the command CORE=CWK.

� Address of the first TIOA on the chain of such areas allocated to the task. Todisplay the area, issue the command CORE=TIOA.

� COBOL BLL cells or general registers 0-15 for Assembler or PL/I programs.

� Backtrace of the starting (IN) and ending (OUT) displacements or addresses ofthe most recently executed pieces of code. Every break in the sequentialexecution of the program results in a new entry. A loop counter tells how manytimes the piece of code above it was executed. The entry curr. stands for currentlocation.

� Machine code and offset (or absolute address) of the instruction that triggeredthe breakpoint.

� Machine code and offset (or absolute address) of last instruction that wasexecuted.

� Program function keys for immediate access to CA-InterTest facilities.

� Address and representation (in both character and hexadecimal form) of thearea of main storage that would have been modified by the next instruction.

Page 483: CA-Intertest for CICS User Guide

Automatic Breakpoint

Breakpoint Displays for Non-Symbolic Programs C�3

Automatic Breakpoint

The following sample shows a non-symbolic breakpoint screen for an automaticbreakpoint.

CNTL=GO,TASK=00492,AXXXX at +007F0pgm=DAQCE121,addr=250810� 37 ABP: ASRA abend in user code- data exception. �� Mon.as DAQCE121 � Pgm DAQCE121 Trx EX02 Fac R6DI Trm in.....out� Task 00492 at +007F0 CWK=0E4E5C TIOA 0DEC90 +00F4E +00F5A� BLLs: 0 000E5350 1 FF000000 2 000E51B4 3 003AA0F0 +013B2 +013B2

4 00000000 5 00000000 6 00000000 7 00000000 +013B6 +013CA8 00000000 9 00000000 10 00000000 11 00000000 � +013D6 +013DA12 00000000 13 00000000 14 00000000 15 00250C4C C.C.1 +013FA +0140E

� Nxt F8 22 6000 E000 at +007F0 Prev 58 E0 D214 at +007EC +0142C +01430Press ENTER to execute the default command on line 1, +014D4 +014D6OVERTYPE it, or use any of the following PF KEYS: +014E8 +014EC

1 Help 2 3 Source 4 5 Resume 6 Menu +00F5C +00F627 8 9 1 instruc 10 1 verb 11 Backtrace 12 Status +00F72 +00F76Addr and content of relevant area: +00F7E +00F82

0E4E5C 000000 *.... * +00F8E +00F9C+00D06 +00D08+00D0E #0127.0#0127.0 #0149.1#0149.1 #0150.0#0163.0 #0163.1#0163.1 #0163.2#0169.0 #0169.1#0169.1 #0170.0#0178.0 curr.

� Default CNTL command and location information. For an automaticbreakpoint, the default command abends the task. For all other breakpoints, thedefault is to continue task execution. The command can be modified orovertyped with any other CA-InterTest command.

Displacement of the instruction about to be executed follows the command onthe top line.

Name of the program that was stopped by CA-InterTest for CICS follows thedisplacement.

Address of the instruction that triggered the breakpoint.

Note: CA-InterTest for CICS stopped the program before this instruction wasexecuted.

� Type of breakpoint: automatic (ABP), unconditional (UBP), conditional (CBP),request (RBP), or single-stepping (SBP). In most cases, there is a one or two linemessage explaining exactly why the breakpoint occurred.

� Name of the monitoring table entry that caused the current monitoring to be ineffect.

Page 484: CA-Intertest for CICS User Guide

Automatic Breakpoint

C�4 CA-InterTest 6.0 User Guide

� Task number and displacement of the instruction about to be executed.

� Program name (Pgm), transaction code (Trx), and CICS facility (Fac) associatedwith the task; in this case, terminal (Trm) R6DI.

� COBOL BLL cells or general registers 0-15 for Assembler or PL/I programs.

Condition Code. The value of the condition code is the value that was savedwhen the breakpoint occurred.

Next and previous instructions. This line indicates the next instruction to beexecuted and the instruction that was executed previously.

Address and representation (in both character and hexadecimal form) of thearea of main storage that would have been modified by the next instruction.

� Backtrace. Each pair of entries describes the boundaries of a piece of theprogram that executed sequentially.

Default CNTL Command

In the previous screen, the following dispatch command appears in this field:

CNTL=GO,TASK=00492,AXXXX

This command is used to continue a program's execution from a breakpoint.

You can enter any appropriate CA-InterTest for CICS command in this field. Tomodify this command, overtype it.

Location Information

In the previous figure, the following location information is displayed:

at +007F0 pgm=DAQCE121, addr=250810

This tells you that a program named DAQCE121 is stopped at displacement 7F0.This is the displacement of the instruction that is about to be executed (check theprogram's listing to identify the instruction).

Page 485: CA-Intertest for CICS User Guide

Automatic Breakpoint

Breakpoint Displays for Non-Symbolic Programs C�5

Reason for the Breakpoint

The type of breakpoint and the reason for it are described in the previous figureby the following message:

37 ABP: ASRA abend in user code- data exception.

� The letters ABP indicate automatic breakpoint, and the number 37 is theerror code.

� The remainder of the line explains what the error code means. In this case,a Data Exception interrupt was set in motion by the monitored program.Ordinarily, this would cause a CICS abend with the code ASRA, butCA-InterTest averted the abend with this breakpoint.

Examples The following examples illustrate other reasons for a breakpoint.

02 UBP: At='999-abend' Unconditional breakpoint.

The message above indicates that an unconditional breakpoint (UBP) with theidentification 02 occurred because the user requested it at the COBOL paragraphnamed 999-Abend. The following is another version of the same message:

07 UBP: At=#374.1 Unconditional breakpoint.

This message indicates that an unconditional breakpoint with the identification 07was requested by the user at the second verb of COBOL statement number 374.

If the user requests the unconditional breakpoint by address or displacement, thefollowing message appears:

09 UBP: F=.ANY,T=V015 Unconditional breakpoint.

The parameter F=.ANY means that the user requested an unconditional breakpoint tooccur on any terminal (or for a task that has no terminal). The parameter T=V015means that the breakpoint display will be sent to terminal V015.

If the user requests single-stepping (SBP), the following message appears:

AT SBP: Single-stepping breakpoint.

If the user set a request breakpoint (RBP), a message similar to the following oneappears:

RBP: Request bkpt; CICS macro is: ...............

If the user requests a programmed breakpoint (PBP), the following messageappears:

00 PBP: Programmed breakpoint.

Page 486: CA-Intertest for CICS User Guide

Automatic Breakpoint

C�6 CA-InterTest 6.0 User Guide

Monitoring Table Entry

The name of the entry in the CA-InterTest for CICS Monitoring Table that causedthe current monitoring effort is always displayed. In the previous figure it is:

Mon.as DAQCE121

This tells you that the program is being monitored under (MONitored AS) theentry declared explicitly for the program named DAQCE121. It is important toknow the Monitoring Table entry because the available online options are thoseattached to that entry.

Note: As the tested task continues execution, part of it might be monitoredunder one Monitoring Table entry and part under another entry, depending onhow you formulated the request.

Examples If you were to request that this program be monitored only when it is run from aparticular terminal, or if the online TON= option were declared, the followingmessage would be displayed:

Mon.as DAQCE121 for V015

In this case, monitoring only takes place when the program named DAQCE121 isexecuted from the terminal named V015.

If the program were declared for monitoring under a transaction name(implicitly) instead of under its program name, the following message wouldappear:

Mon.as ORDE TRX

This indicates that the entry in the Monitoring Table is transaction (TRX), ORDE.

If the program were declared for monitoring under a terminal name (implicitly),the following message would appear:

Mon.as T111 TRM

This indicates that the entry in the Monitoring Table is terminal (TRM), T111.

Page 487: CA-Intertest for CICS User Guide

Automatic Breakpoint

Breakpoint Displays for Non-Symbolic Programs C�7

Program, Transaction, and CICS Facility

The names of the program, transaction, and CICS facility appear in the center ofthe third line from the top on the breakpoint screen. In the previous example, thefollowing information is displayed:

Pgm DAQCE121 Trx EX02 Fac R6DI Trm

This tells you that the name of the program being monitored is DAQCE121, thatthe transaction (Trx) that is executing this program is named EX02, and that theCICS facility that generated this task is the terminal (Trm) named R6DI.

� For tasks created automatically by the trigger level facility of a transient data,the FAC field names the Destination Control Table (DCT) entry. Forexample, FAC GCOS DCT would name the GCOS destination in the DCT.

� For tasks that do not own a terminal or a DCT entry, the FAC field displaysthe content of the TCAFCAAA field of the Task Control Area (TCA).

Task Identification Number and Address

The fourth line from the top of the breakpoint screen gives the task identificationnumber, the address of the COBOL WORKING-STORAGE, and the address ofthe Terminal Storage Area. In the previous example, this information isexpressed as follows:

Task 00492 at +007F0 CWK=0E4E5C TIOA 0DEC90

� The parameter TASK 00492 indicates the number of the task that was putinto the breakpoint state by CA-InterTest.

� The parameter at +007F0 repeats the address of the instruction that is aboutto be executed.

� The parameter CWK=0E4E5C gives the address of the storage area thatcontains the copy of the COBOL WORKING-STORAGE for this task. Todisplay the area, enter the command: CORE=CWK.

WARNING! Macro level COBOL programs operate on one WORKING-STORAGE area that is common to all tasks.

� The parameter TIOA 0DEC90 gives the address of the first terminal StorageArea (the Terminal Input/Output Area) on the chain of areas allocated forthe task at breakpoint. You can display the first TIOA by issuing thecommand CORE=TIOA.

Page 488: CA-Intertest for CICS User Guide

Automatic Breakpoint

C�8 CA-InterTest 6.0 User Guide

BLL Cells (COBOL) or General Registers (Non-COBOL)

BLL Cells For COBOL programs, this area of the display shows the contents of the 16consecutive fullwords, beginning with the fullword that contains the first BLLcell actually used by the task at the time of the breakpoint. Each displayedfullword is preceded by a number, from 0 to 15, relative to the number of thefirst BLL cell actually used in the program.

The monitored program might be using a different number of BLL cells, but allcan be displayed by issuing the proper CORE command. This can best be doneusing the symbolic names of the BLL cells.

In the previous example, the following BLL display is shown:

BLLs: 0 000E5350 1 FF000000 2 000E51B4 3 003AA0F0

4 00000000 5 00000000 6 00000000 7 00000000

8 00000000 9 00000000 10 00000000 11 00000000

12 00000000 13 00000000 14 00000000 15 00250C4C

In this example, the BLL cells with relative numbers 0, 2, 3, and 15 containaddresses. The BLL cell with the relative number 1, which in command levelprograms contains the address of the DFHCOMMAREA, shows the null value.

General Registers For Assembler or PL/I programs, this area displays the contents of registers 0 to15. Following is an example of such a display:

REG: 0 00000000 1 00250140 2 00000000 3 00000001

4 FFFFFFFE 5 00000000 6 00000000 7 00000000

8 00000000 9 00000000 10 0027500A 11 0027600A

12 0024C100 13 003AA490 14 00275008 15 00250C4C

This display shows the 16 consecutive fullwords that CA-InterTest for CICS usedto save registers 0 to 15 at the time of the breakpoint. For example, register 3contains the value of 1, and register 4 contains the value of -2.

Condition Code

The condition code appears to the right of the last line of the BLLS: or REGS:display, and is identified by the letters C.C. The value of the condition code is thevalue that was saved at the time of breakpoint. For an interpretation of thecondition code, consult the IBM System/370 Reference Card. In the previousexample, the condition code is 1.

Page 489: CA-Intertest for CICS User Guide

Automatic Breakpoint

Breakpoint Displays for Non-Symbolic Programs C�9

Next and Previous Instructions

The line directly below the last line of the BLLS or REGS area indicates the nextinstruction to be executed and the instruction that was executed previously. Inthe previous figure, the following line appears:

Nxt F8 22 6000 E000 at +007F0 Prev 58 E0 D214 at +007EC

� In the field marked Nxt, the machine code of the instruction that wasscheduled to be executed next when the breakpoint occurred is displayed. Itis shown in hexadecimal format, with its parts separated. In this example,the instruction has the op-code of F8, the length values of 2 and 2, the firstbase register 6, the second base register E, and both displacement values of000.

Following the instruction, on the same line, at +007F0 gives the displacementof the instruction in the program (7F0). If the instruction resides outside theprogram, the address of the instruction is given instead, expressed as sixhexadecimal digits.

� In the field marked Prev, the machine code of the instruction that wasexecuted just before the breakpoint occurred is displayed. It, too, is shown inhexadecimal format, with its parts separated. In this example, the instructionhas the op-code of 58, the receiving register E, the index register 0, the baseregister D, and the displacement value 214.

To the right of the instruction, on the same line, at +007EC gives thedisplacement of the instruction in the program (7EC). If the instructionresides outside the program, the address of the instruction is given instead,expressed as six hexadecimal digits.

Data Display Area

The data display area appears under the next and previous instruction line. Inthe previous example, it appears as:

0E4E5C 000000

This example shows only three bytes. However, when a larger data field isinvolved, the portion of the display can occupy the entire lower left corner of thebreakpoint screen.

This area varies according to the type of breakpoint that occurred:

���� Automatic Breakpoint. When possible, in the case of an automaticbreakpoint, CA-InterTest shows the area that would have been affected if thebreakpoint had not occurred. This example shows the receiving field of thenext instruction to be executed.

Page 490: CA-Intertest for CICS User Guide

Automatic Breakpoint

C�10 CA-InterTest 6.0 User Guide

���� Unconditional and Single-Stepping Breakpoints. For these types ofbreakpoints, CA-InterTest shows the area that was affected by the previouslyexecuted instruction, where applicable.

���� Request Breakpoint. CA-InterTest does not show the data display area forrequest breakpoints.

���� Programmed Breakpoint. For a programmed breakpoint, CA-InterTestshows the area designated by the programmer in the CALL PBP statementthat caused the breakpoint to occur.

The format of the data display area is similar to the CORE transaction screen.Each line presents up to 16 bytes in both hexadecimal and character format. Oneach line, the address of the first byte in that line is shown (for example, 0E4E5C),followed by the same contents in character format between asterisks, where non-displayable values are shown as periods.

Backtrace Display

The backtrace display appears in two vertical columns under the headingin.....out on the right side of the breakpoint screen. Each pair of entries describesthe boundaries of a piece of the program that executed sequentially; that is, theywere executed in the same order as the machine instructions that reside in themain memory.

The backtrace display is dynamic. The most recently executed piece of codeappears in the bottom line of the backtrace display, and the oldest piece of codethat was executed appears in the top line. As the execution of the programprogresses, new lines are added at the bottom and dropped from the top.

The following figure repeats the backtrace display shown in the previousexample.

in..... out

+00F4E +00F5A+013B2 +013B2+013B6 +013CA+013D6 +013DA+013FA +1040E+0142C +01430+014D4 +014D6+014E8 +014EC+00F5C +00F62+00F72 +00F76+00F7E +00F82+00F8E +00F9C+00D06 +00D08+00D0E #0127.0#0127.0 #0149.1#0149.1 #0150.0#0163.0 #0163.1#0163.1 #0163.2#0169.0 #0169.1#0169.1 #0170.0#0178.0 curr.

Page 491: CA-Intertest for CICS User Guide

Automatic Breakpoint

Breakpoint Displays for Non-Symbolic Programs C�11

In the previous example:

� The most recently executed piece of code is the line #0178.0 curr.

� The letters curr. stand for current location. The current location is alsoshown in the first line of the breakpoint screen.

� The # character precedes each COBOL statement number.

� Displacements or addresses are given for lines whose COBOL statementnumbers could not be found. The displacements are preceded by a plus sign,+, and the addresses are expressed as six hexadecimal digits.

The backtrace display reveals a number of facts about the way the monitoredprogram behaved:

� The second line from the bottom, for example, shows that from #0169.1 to#0170.0 the program executed sequentially, and then #0170.0 handed controlover to #0178.0.

� Before this happened�as the third line from the bottom shows�theprogram executed its instructions sequentially (from #0169.0 to #0169.1), butthen #0169.1 passed control to the same #0169.1. Most likely, this means thatat #0169.1 the program issued a CICS command from the second verb ofstatement number 169.

� The fourth line from the bottom shows that from the third verb in statementnumber 163 (#0163.2), the program passed control to statement 169.

In this manner, you can trace, with great precision, the execution of the programfrom any point in its logic all the way up to the breakpoint.

Note the following:

� If one of the pieces of code executed a loop, the number of times the loop wasexecuted appears as a decimal number under the appropriate line in thebacktrace display.

� If the ,GO= element of the CA-InterTest dispatch command was requested,the change in the logic flow is shown in the backtrace display just as if theprogram executed a branch or a GO TO command.

� At the beginning of the execution of a COBOL program, a number of lines ofthe backtrace display only indicate the execution of the COBOL initializationroutines. The first statement number shown is the one from which the firstbranch instruction was executed. This limitation should not pose a problem,since the execution of the Procedure Division began from the first codedstatement.

Page 492: CA-Intertest for CICS User Guide
Page 493: CA-Intertest for CICS User Guide

Examining Dumps D�1

Appendix

D Examining Dumps

Two kinds of abends, or abnormal terminations, are of interest to CA-InterTest forCICS users:

� Abends in CICS during execution of a transaction

When this happens, you must examine the transaction dump associated withthe abend to find any CA-InterTest Work Areas (also known as CA-InterTestDiagnostic Areas). The presence of such an area is a sure indication ofCA-InterTest monitoring. Only in this area can you find certain data aboutthe program, such as the values of registers, that you will need to know.

� Abends in CA-InterTest for CICS transactions (CNTL, CORE, FILE, ITST,LIST, SYMD)

To understand why these transactions abend, you need to know how theywork in CICS:

� CNTL and CORE transactions, when necessary, follow the chain ofactive CICS tasks and the chain of suspended CICS tasks to locate thetask whose data is to be displayed, and any other tasks to which theCNTL command could apply. If a chain is damaged, these transactionswill abend. Yet, the CICS system might be able to function for some timewith these chains damaged, as long as the CICS software does not haveto scan all the chains.

� CORE and FILE transactions are conversational, and can be defined inthe CICS Program Control Table (PCT) so that they will be abended byCICS if you take too long to respond with the next command.

� FILE transaction is simply a generalized application program, and it canabend in situations where the parameters you submit could not bechecked sufficiently before the CICS macro was issued. In mostinstances, CA-InterTest does not attempt to check for the same thingsthat the CICS software checks for, because such a duplication of effortwould significantly increase the size of the CA-InterTest software; even ifthose conditions were discovered by the CA-InterTest programs,CA-InterTest would have to issue the abend.

Page 494: CA-Intertest for CICS User Guide

CA-InterTest for CICS CICS Abend Codes

D�2 CA-InterTest 6.0 User Guide

CA-InterTest for CICS CICS Abend Codes

The following error codes are issued by CA-InterTest for CICS when errorconditions are discovered:

INTE�Indicates that an automatic breakpoint cannot be executed because:

���� The CA-InterTest automatic breakpoint facility is disabled.

���� There is no terminal on which to show the breakpoint display.

���� The terminal designated to receive the breakpoint display is not a 3270-typeCRT (or compatible model).

CORE�Is the same as the transaction code of the CORE transaction at your site.It means that the CORE transaction intercepted a CICS abend that makes itimpossible to continue the transaction.

NATI�indicates that a breakpoint display is being directed to a terminal thatdoes not have the Automatic Task Initiation (ATI) capability. If the status of theterminal is either transceive or receive (preferably, transceive), the terminal hasthe ATI capability. You can adjust the status by the CEMT service transaction.

KERN�Indicates that the task at a breakpoint could not recover from an abend.If you know the reason (for example, you abended the task), ignore this code;otherwise, contact CA-InterTest technical support.

INHA�Indicates that a program (usually a user program) has corrupted aCA-InterTest storage area so that CA-InterTest cannot continue processing.Check the CICS statistics to see if any storage violations occurred. If you findany, see which program caused the violation. This would be a program notbeing monitored by CA-InterTest.

Page 495: CA-Intertest for CICS User Guide

CA-InterTest for CICS Diagnostic Area

Examining Dumps D�3

CA-InterTest for CICS Diagnostic Area

CA-InterTest for CICS obtains the CA-InterTest for CICS Diagnostic Area whenit begins monitoring a program. CA-InterTest for CICS keeps the area until theprogram finishes its execution in that task.

There is one such area per logical level of a monitored program, per task. This meansthat in most cases there is only one area. However, if you have a situation in whichprogram A links to program B, which then links to program A again, the second useof program A necessitates a second CA-InterTest for CICS Diagnostic Area for thesame program.

The CA-InterTest for CICS Diagnostic Area is in a User class of storage, on the task'sstorage chain; therefore, it is printed in the CICS transaction dump. In the dump,you can identify the CA-InterTest for CICS Diagnostic Area by the charactersInterTest for CICS at displacement 8 in the User Class storage area(hexadecimal 8C at displacement 0).

You should first look for a CA-InterTest for CICS Diagnostic Area in anytransaction dump and make sure that the area was obtained for the program inquestion. Whatever the reason for the dump, the only place you can find theregisters and the most recent instruction is in that area. If more than one areaexists for the program, the one with the highest value in the WKACLOCK field(displacement 0260, hexadecimal) is the most recent one.

Page 496: CA-Intertest for CICS User Guide

CA-InterTest for CICS Diagnostic Area

D�4 CA-InterTest 6.0 User Guide

The table below provides an Assembler-like description of the fields in theCA-InterTest for CICS Diagnostic Area that are used in debugging. Thedisplacement of each field is given in hexadecimal on the left.

Release 4.x / 5.x Field Type Description

0000 WKAREA DSECT

0000 WKSAA DS 8X Storage Accounting Area (containsX�8C� in the first byte)

0008 WK1D1 DS CL9 If the �InterTest� identifier is corrupted,the area is not valid

0011 WKTASK# DS PL3 Task identification number

0014 WKTRANS DS CL4 Transaction identification

0018 WKPGMID DS CL8 Program identification

0020 WKTERM DS CL4 Terminal identification

0024 WKDATE DS PL4 Date

0028 WKTIME DS PL4 Time

002C WKMESG DS 0H Abbreviated error message; occurswhen an INTE abend was issuedinstead of an automatic breakpoint

002C WKERCODE DS C� XX� Error code, hexadecimalIf you requested an abend when thetask was at breakpoint, this code willbe 00. Also, see displacement 0248.

0030 WKERTEXT DS C�INTE ABEND AT �

003E WKERDSPL DS C� XXXX.� Displacement, at the ABEND request,of the instruction to be executed

0044 WKINSR DS CL6 Instruction about to be executed

004C WKINSRAD DS XL4 Address of the instruction in WKINSR

0050 WKTODO DS CL6 Instruction to be executed, if theinstruction in WKINSR is an EX(execute) instruction

0058 WKTODOIA DS F Address of instruction in WKTODO

005C WKTODOAD DS F Address of storage area to be affected

Page 497: CA-Intertest for CICS User Guide

CA-InterTest for CICS Diagnostic Area

Examining Dumps D�5

0060 HISWKSAV DS CL64 Registers 0 � 15; values of the registersshown before execution of theinstruction in WKINSR. This is thebest place to look for values in theregisters, even if the ABEND was notissued by CA-InterTest.

00A0 WKWITHIN DS CL256 Area surrounding the address that isabout to be affected by the instructionin WKINSR; valid only if the errorcode is not zero and an IN25 ABENDoccurs.

01A0 MYSAVE DS CL64 Internal CA-InterTest Save RegisterArea

01E0 CURHISP DS F Address of the current instruction

01E4 NEXHISP DS F Address of the next instruction

01E8 CONDCODE DS F Condition code of application program.The condition code is saved in the left-most byte of this field, in the same formatas in the PSW.

01EC HISBEG DS F Beginning of monitored program

01F0/Not available WKACPPTE DS F PPT entry of PGM in control

0204/254 WKPROMHD DS F Address of Monitoring Table header

0208/258 WKADSOCB DS F Pointer to active ADS OCB

0214/264 WKPROMPT DS F Address of Monitoring Table entry beingused for monitoring

0218/268 WKARNEXT DS F Next IN25 WKAR

021C/26C WKARPREV DS F Previous IN25 WKAR

022C/274 WKPROMAI DS F Pointer to Main PROM Table Entry

0244/290 XTENTABA DS F Address of backtrace table that recordsextents, or pieces of code executedsequentially with no branch instructionstaken, of the monitored program

Page 498: CA-Intertest for CICS User Guide

ABP and INTE Abend Error Codes

D�6 CA-InterTest 6.0 User Guide

0248/294 ADSMSLT1 DS C�ABP XX � Secondary error or breakpoint message;XX is the CA-InterTest error code. If taskabended on your request from anautomatic breakpoint, the ABP errorcode, displacement, and address arefound here. Instead of �ABP XX�, themessage could say �UBP XX� where XXis the ID number of the unconditionalbreakpoint.

024F/29B ADSMSDSP DS C�XXXX� Displacement

0253/29F DS C� �

0254/2A0 ADSMSADR DS C�XXXXXX� Address

025A/2A6 DS C� � Contains the reason for a breakpoint ifthe task abended with a dump after abreakpoint

ABP and INTE Abend Error Codes

The CA-InterTest for CICS Diagnostic Area is printed as one of the user classstorage areas in the INTE abend dump. It contains the error code as the first twocharacters of message XX INTE ABEND..., which can be found at the beginningof the area. The codes and their messages are shown in the table below. Thesetwo-character hexadecimal codes appear in the Inquiry Report, which can beobtained by pressing PF3 from the Breakpoint Display, or by enteringCNTL=INQ.

Code Description

01 Assembler only; an EX machine instruction issued upon an EX instruction.

02 An invalid machine instruction code. Note no override by OVR option.

03 This machine instruction not permitted under CICS; for example, an SVC.

04 A privileged machine instruction, illegal under CICS.

05 An operating system GETMAIN request, as opposed to a CICS GETMAIN.

06 The storage area about to be affected is, entirely or in part, outside of thestorage that is legally available to this CICS application.

07 The storage area about to be affected resides outside of the CICS region.

08 The named program module cannot be found in the program table (PPT), itsPPT entry is disabled, or it is unavailable to this CICS application.

Page 499: CA-Intertest for CICS User Guide

ABP and INTE Abend Error Codes

Examining Dumps D�7

09 The program module about to be deleted already has a zero current usecount.

0A The Transient Data or Temporary Storage area is incorrectly specified.

0B This Terminal Control request incorrectly specifies the TIOA address.

0C The storage area specified for this CICS request does not belong to this taskor is not a CICS storage area.

0D CA-InterTest logic error; call CA Technical Support for assistance.

0E This FREEMAIN request is illegal or specifies a wrong storage area address.

0F With this task about to terminate, one or more RELOAD=YES programmodules still do not have their main storage areas FREEMAINed.

10 Possible incorrect length of a Temporary Storage or Transient Data record.

11 A wild branch or direct machine instruction branch outside of the programmodule was detected. If not a mistake, apply the FOL option and continue.

12 Macro level coding only; this CICS macro specifies incorrect storage area.

13 A GETMAIN request with FLENGTH for more than 65504 bytes can beissued only when the program is in AMODE=31.

14 An attempt to modify this load module, which is considered reentrant,either explicitly (RNT=ON option) or as PL/I or COBOL II.

16 A GETMAIN for 0 bytes of storage has been detected.

17 Macro level coding only; incorrect length field in a variable-length record.

18 Macro level coding only; the DFHFC macro does not specify an FWA.

19 Macro level coding only; the DFHFC macro does not specify the storage areaof CLASS=FILE.

21 CA-InterTest ordered to continue a task from a breakpoint at an incorrectlocation.

23 The total number of CICS requests this program issued while monitored inthis task exceeded the value specified in the MXR option.

24 The total size of main storage this task is using just exceeded the valuespecified in the MXS option.

25 CICS abend intercepted, but not immediately after the last CICS request(either macro or command) or another outside CALL recognized byCA-InterTest.

26 CICS abend intercepted while a CICS macro was in progress.

27 CICS abend intercepted while an EXEC CICS command in progress.

Page 500: CA-Intertest for CICS User Guide

Execution Extents Table (Backtrace)

D�8 CA-InterTest 6.0 User Guide

28 CICS abend intercepted while a CALL outside the program, such as aDatabase request, recognized by CA-InterTest, was in progress.

29 EXEC CICS RETURN with TRANSID issued from other than the task�s toplogical level.

2C. An abend occurred while processing an IN25UEXI routine.

2D. A program check occurred in IN25PGM2.

34 A protection exception program check caused an ASRA abend intercept.

35 An addressing exception program check caused an ASRA abend intercept.

36 A specification exception program check caused an ASRA abend intercept.

37 A data exception (invalid packed numeric data format) caused an ASRAabend intercept.

38 A fixed point overflow program check caused an ASRA abend intercept.

39 A fixed point divide program check caused an ASRA abend intercept.

3A A decimal overflow program check caused an ASRA abend intercept.

3B A decimal divide program check caused an ASRA abend intercept.

3C An exponent overflow program check caused an ASRA abend intercept.

3D An exponent underflow program check caused an ASRA abend intercept.

3E A significance program check caused an ASRA abend intercept.

3F A floating point divide program check caused an ASRA abend intercept.

CC The storage area about to be affected by this EXEC CICS command resides,all or in part, outside the CICS main storage legally available to thisapplication program. The area could have been specified as INTO ( ), SET ( )or one of the LENGTHs.

Execution Extents Table (Backtrace)

CA-InterTest for CICS records the following information in the Execution ExtentsTable as it monitors a program:

� Pieces of the monitored program's code that were executed sequentially,without any branch instructions taken

� Number of times the loop was executed, if the code contains a loop

� Each CICS command and macro request

� Each CALL to a supported database management system

Page 501: CA-Intertest for CICS User Guide

CA-InterTest for CICS Entries in the CICS Trace Table

Examining Dumps D�9

This information appears on the breakpoint display as the backtrace. See theappendix, �Breakpoint Displays for Non-Symbolic Programs� for a description ofthe breakpoint display and an explanation of the backtrace. Whenever possible,CA-InterTest for CICS converts COBOL program displacements into COBOLstatement and verb numbers before the display is shown.

There is one Extents Table per CA-InterTest for CICS Diagnostic Area, pointed toby the address at displacement X�244� for Releases 4.x, and displacement X�0290�for Releases 5.x. The field name is XTENTABA. The table is a user-class storagearea. It can also be identified by the characters BKTR near the beginning of thestorage area.

The table consists of six-byte entries. You can find the oldest entry at the four-byte address that immediately follows the BKTR identifier. Each entry containsthree halfwords:

� The first halfword contains the displacement of the first instruction in theextent.

� The second halfword contains the displacement of the last instruction in theextent of the token branch.

� The third halfword contains the binary number of times the extent wasexecuted in a loop.

If the lower-order bit (X�0001�) is on in either of the first two halfwords, the tableentry does not describe an Execution Extent. If execution is being traced outsidethe monitored program, or if the displacement s= is greater than or equal to 64KB, the displacement is invalid.

CA-InterTest for CICS Entries in the CICS Trace Table

Special Entries

CA-InterTest for CICS writes special entries into the CICS Trace Table to assistyou in your analysis efforts. These entries appear in the Trace Table when it isfound in a dump, and when it is displayed with a CORE=STRA command (at abreakpoint) or the CORE=TRT command.

In the CICS formatted dump, these special entries are identified as follows:

USER 195.

Page 502: CA-Intertest for CICS User Guide

CA-InterTest for CICS Entries in the CICS Trace Table

D�10 CA-InterTest 6.0 User Guide

Unlike the regular CICS-written entries, the CA-InterTest for CICS entriesprovide displacements, which are the same displacements you can find in thelisting of the program. CA-InterTest for CICS writes these entries into the TraceTable, in addition to those issued by the monitored program and the CICSsoftware, when the monitored program is about to:

� Issue a CICS request (command).

� Issue a CICS request (macro).

� Be stopped at a CA-InterTest breakpoint or resume execution after aCA-InterTest breakpoint.

� Execute an instruction for which CA-InterTest disregards a presumed errorcondition because of an OVR (Override) option in effect.

� Issue a DL/I request.

� Issue a CICS request (either command or macro) and the active online NUP=option will affect the request.

� Issue a call to software defined in the CA-InterTest IN25UEXI table.

The entries issued for these cases consist of two fields, which are describedbelow.

� Field A contains the displacement of the request (or the breakpoint) from thebeginning of the program, expressed as four hexadecimal digits. If therequest was made outside the program, this field contains the addressinstead.

� Field B contains the following:

� At a CICS command, bytes 0 to 3 contain four hexadecimal digits thatspecify the command code (such as, 0204 for a handle condition).

� At a CICS macro, bytes 0 to 1 contain two characters that describe theservice type (SC = storage control, FC = file control, and so on) and bytes2 to 3 contain the request field in the TCA.

� At a breakpoint, bytes 0 to 2 contain the code indicating the type ofbreakpoint (ABP = automatic breakpoint, UBP = unconditionalbreakpoint, and so on) and byte 3 contains either a B (for Before thebreakpoint) or an A (for After the breakpoint).

� At each override condition, bytes 0 to 2 contain the characters OVR andbyte 3 contains the hexadecimal error rode. (The OVR option cancels theAutomatic Breakpoint display.)

� At a DL/I request, bytes 0 to 1 contain the characters DL.

� At an NUP-affected request, bytes 0 to 2 contain the characters NUP (theonline NUP= option prevents updates to files).

Page 503: CA-Intertest for CICS User Guide

CA-InterTest for CICS Entries in the CICS Trace Table

Examining Dumps D�11

� At a call to CA-InterTest-recognized software, bytes 0 to 1 contain thecharacters US and bytes 2 to 3 contain the numeric identifier from theIN25UEXI table.

CA-InterTest for CICS also writes four entries into the Extents Trace Table whenthe monitored program is about to pass control directly to another program (by abranch instruction and not by a CICS command or macro) and the online FOL=option is in effect. These entries are:

� In field A, the first entry contains the displacement that passes control. Infield B, it contains the characters FROM.

� In fields A and B, the second entry contains the name of the program thatpasses control.

� In field A, the third entry contains the displacement that obtains control. Infield B, it contains the characters INTO.

� In fields A and B, the fourth entry contains the name of the program thatobtains control.

When monitoring is dropped because of a BYP option or a request by anIN25UEXI routine, field B contains DROP.

Internal-Processing Entries

CICS trace table entries for CA-InterTest for CICS internal processing do notappear unless you request them. Normally, you do not want them when you areanalyzing your application's processing; the CA-InterTest for CICS programentries might conceal your application program entries.

To place the CA-InterTest for CICS program entries on the CICS Trace Table,issue the command:

CNTL=ITTRACE,ON

To remove the entries, issue the command:

CNTL=ITTRACE,OFF

Note the following:

� Turn on the ITTRACE before creating a dump for Computer AssociatesTechnical Support Staff.

� These commands have no effect on the CICS Trace Table entries normallymade by the monitored program or the special entries made byCA-InterTest, which is discussed in the previous section.

Page 504: CA-Intertest for CICS User Guide
Page 505: CA-Intertest for CICS User Guide

Using the FOL= Option 5�1

Appendix

E Using the FOL= Option

Note: Although the FOL= option can still be used, it has been replaced bySource Listing and CNTL facilities to dynamically called programs. Refer to the�Source Listing Facility� and �CNTL Commands and Menus� chapters fordetails.

It is often difficult to debug software that does not follow CICS standards. Touse CA-InterTest for CICS on such software, you must request the online FOL=option, which enables CA-InterTest for CICS to monitor a program even whenthat program passes control to an unknown address (for example, an addressthat is not part of CICS or another interface supported by CA-InterTest for CICS).

The chapter �CNTL: Commands and Menus� explains how to set and removethe FOL= option. This appendix provides additional background information onhow the FOL= option is actually used by the CA-InterTest for CICS system.

Finding the Program Table Entry

When the FOL= option is in force and the control of the CPU is about to leave thecode of the monitored program, CA-InterTest for CICS attempts to find out what:

� Program is about to receive control

� Options, such as breakpoints, apply to that program

CA-InterTest for CICS does this by trying to find the CICS Program Table (PPT)entry that belongs to the program that is about to receive control. If CA-InterTestfor CICS can locate this entry, it is possible for CA-InterTest for CICS to usedisplacements that apply to the beginning of the new program rather thandisplacements that apply to the old program.

Page 506: CA-Intertest for CICS User Guide

Finding the Monitoring Table Entry

5�2 CA-InterTest 6.0 User Guide

If the PPT entry is found, CA-InterTest for CICS does the following:

� CA-InterTest makes four special entries in the CICS Trace Table to indicatewhich program passed control and from where it passed control, and whichprogram received control and from where.

� CA-InterTest begins to show data pertaining to the new program in thebreakpoint display. For example, any displacements in the backtrace portionof the breakpoint screen are calculated relative to the program that justreceived control. You also see a short message in the backtrace display toindicate which program passed control directly to the current one.

The PPT entry is only found if the target program has been located, or if it residesin main storage. If the program is not permanently resident, it is considered onlyif its current use count is at least one. In addition, CA-InterTest for CICS will notbe able to find the PPT entry if control is being passed to a piece of code that doesnot reside in a storage area of the CICS Program Storage Class.

Finding the Monitoring Table Entry

If the new PPT entry is found, CA-InterTest for CICS also tries to find theMonitoring Table entry that belongs to the program that obtained controldirectly. This allows the new PPT entry to assume all options, such asbreakpoints, that were declared for the program that is about to receive control.

If found, the new Monitoring Table entry is assumed to be together with all theoptions associated with this entry. However, CA-InterTest for CICS carries theFOL= option over such a Monitoring Table switch so that the FOL= optionremains active for the remainder of the monitoring effort, even though theMonitoring Table entry that is now in control might not have a FOL= optiondeclared. This means that any options, such as breakpoints, that you would liketo see applied to the program that is receiving control can be declared for theMonitoring Table entry associated with the program.

Moreover, you can declare these options in the most convenient way; forexample, breakpoints can be declared by displacements, and the UBP= and BYP=options can be declared for displacements and for addresses. The addressesensure that if CA-InterTest for CICS cannot find the PPT and Monitoring Tableentries, it continues monitoring under the Monitoring Table entry of the programthat passed control.

Page 507: CA-Intertest for CICS User Guide

Finding the Monitoring Table Entry

Using the FOL= Option 5�3

WARNING! CA-InterTest disregards the Exclusion Table during the search for thenew Monitoring Table entry because monitoring cannot be interrupted at the place of thewild branch. Before CA-InterTest can interrupt monitoring, it has to know wherecontrol is returned so that later it can resume monitoring. However, the location towhich control is returned depends on the design of the monitored program, andCA-InterTest cannot predict that. (This is why monitoring cannot be interrupted on awild branch.)

Page 508: CA-Intertest for CICS User Guide
Page 509: CA-Intertest for CICS User Guide

Monitoring Restrictions F�1

Appendix

F Monitoring Restrictions

Program Control Restrictions

For CA-InterTest for CICS to be able to monitor a program, it must first obtaincontrol from the CICS Program Control Program (DFHPCP). This means that aprogram control macro (DFHPC) must be executed in one of two ways:

� Directly by the program to be monitored

� Indirectly as a result of other macros and commands

If a program is eligible for monitoring by CA-InterTest for CICS, monitoring canbegin only if one of the following conditions is satisfied:

� The program to be monitored is the first program to participate in atransaction. In other words, the program has been named in the CICSTransaction Table (PCT).

� The program to be monitored received control from another programthrough a program control macro (DFHPC TYPE=LINK OR DFHPCTYPE=XCTL) or a program control command (EXEC CICS LINK or EXECCICS XCTL).

� The program to be monitored received control from another programthrough a direct branch instruction. In addition, the program that passedcontrol must be monitored by CA-InterTest, and must have the onlineFOL=option active. Refer to the chapter �CNTL: Commands and Menus� fordetails.

� The program to be monitored received control as the abend exit routine. Inother words, the program (or part of it), was named in a DFHPCTYPE=SETXIT macro or in an EXEC CICS HANDLE ABEND command,executed prior to the abend.

Page 510: CA-Intertest for CICS User Guide

Program Control Restrictions

F�2 CA-InterTest 6.0 User Guide

If a non-monitored program passes control to another program directlythrougha branch instruction rather than a macro or command, monitoring willnot be set in motion. This is true even though the program that is receivingcontrol is declared in the CA-InterTest for CICS Monitoring Table using a branchinstruction rather than a macro or command. CA-InterTest for CICS normallytreats this situation as a wild branch and initiates an automatic breakpoint. If theonly FOL=option is declared (this can be done right after the breakpoint occurs),monitoring continues wherever possible. For additional details, see the FOL=keyword of the IN25OPTS macro in the CA-InterTest for CICS Getting Started.

Execution Restrictions

As CA-InterTest for CICS executes the instructions of the monitored program, itmust be able to recognize:

� Any CICS service requests (macros and commands). This is to preventCA-InterTest from monitoring the CICS software.

� Any other means the monitored program could use to pass control to otherparts of the application.

CA-InterTest for CICS recognizes CICS service requests if the macros and commandsare coded into the monitored program. However, it might not recognize a macro inan Assembler language program if the macro is not coded as a macro, and thestatements that prepare the macro service request are coded and arranged differentlyfrom that particular CICS macro's expansion.

It is essential that CA-InterTest for CICS recognize other means of passing controlbecause CA-InterTest for CICS has to be aware of any wild branches, which arebranches that go outside the program in an unpredictable way as a result of erroneousaddresses. Therefore, if means other than CICS macros and commands are used topass control, CA-InterTest for CICS must be generated with the proper facilitiessupported.

Page 511: CA-Intertest for CICS User Guide

Program Control Restrictions

Monitoring Restrictions F�3

Special Circumstances

There are some special circumstances you should be aware of:

� CA-InterTest will not monitor a program whose name in the PPT begins withthe characters DFH unless that program is specifically declared formonitoring by its program name. Such a program cannot be monitored bydeclaring a transaction or terminal for monitoring, or even by declaring theentire application system. The reason is that CA-InterTest automaticallyassumes this program belongs to the CICS system software.

� You must prevent CA-InterTest from monitoring certain programs that rununder CICS, even if they run only partly under CICS. Use the CNTL=EXCLcommand to exempt these programs from monitoring. You can identify theprogram, transactions, and terminals to be exempted by giving their fullidentifications or by using generic identifications. However, it is best tofollow the procedure we recommend and always explicitly declare programsfor monitoring, by using a CNTL+ON, PROG=... command.

� Never request CA-InterTest to monitor interfaces to database managementsystems and, in DOS/VSE, the ICCF facility. Again, if you do as suggestedand declare programs for monitoring explicitly, you will not have tospecifically exclude these interfaces.

Page 512: CA-Intertest for CICS User Guide
Page 513: CA-Intertest for CICS User Guide

Glossary�1

Glossary

abendA program error that forces abnormal termination of a task.

abend interceptThe process by which CA-InterTest detects and prevents an error.

automatic breakpointThe temporary halt in program execution that occurs when CA-InterTest detects and prevents an error.

automatic resetThe ability to automatically reset testing options for a recompiled program.

auto-steppingThe ability to automatically step through the execution of a program. See single-stepping.

auxiliary storageFiles, databases, temporary storage, and transient data.

BacktraceThe path of executed code that brought a program to a particular point.

Backtrace Summary displayThe screen displayed by the Source Listing Facility when the Backtrace Facility is invoked, which summarizes theprogram�s execution path.

batch symbolic preparationsThe batch steps performed before testing a program with CA-InterTest that enable CA-InterTest to recognizesymbolic locations.

BreakpointThe point at which a program is halted. This can be a location set by a programmer or where CA-InterTestautomatically detected an error.

breakpoint activitiesThe functions that can be performed when a program is halted at a breakpoint.

breakpoint displayThe diagnostic screen displayed by the Source Listing Facility when CA-InterTest halts a program. There are twoformats: Source Listing Breakpoint display and Detailed Breakpoint display.

Page 514: CA-Intertest for CICS User Guide

Glossary�2 CA-InterTest 6.0 User Guide

Breakpoint Primary Option MenuThe ISPF-like menu displayed at a breakpoint using PF6 or the MENU command. Many breakpoint activities, as wellas the main ISPF Primary Option Menu, are options on the Breakpoint menu.

Breakpoint-Related areasMain storage related to the program halted at a breakpoint.

CA-InterTest tablesThe tables in which CA-InterTest stores information about the programs being monitored.

character formatThe format in which FILE displays data with 50 alphanumeric characters to a line.

checkpoint facilityThe facility that sets CA-InterTest checkpoints at specified intervals for subsequent restart.

CNTLThe CA-InterTest transaction that controls program monitoring.

Command Builder MenusCNTL and CORE menus that allow users to specify functions without worrying about command syntax.

compiler outputInformation produced when a program is compiled, such as maps, cross-reference tables and messages.

complex dataCOBOL qualified, indexed, or subscripted data names. CORE's Breakpoint-Related Areas menu can be used todisplay this data.

composite supportCA-InterTest's full symbolic support for programs that consist of independently compiled modules brought togetherat link-edit time.

conditional breakpointA breakpoint set by a user that takes effect only when a specified condition is met.

COREThe CA-InterTest transaction that displays and modifies main storage.

CORE dump displayA display of main storage with 16 bytes to a line in both hexadecimal and character representation.

CORE structured displayA display of main storage. For COBOL, this is a DMAP (MVS) or SYM MAP (VSE) sequence; for Assembler, this isan entire DSECT.

Detailed Breakpoint displayThe breakpoint display that includes the backtrace and the contents of relevant storage.

DiagnosticsInformation provided by CA-InterTest to help users find and correct program errors.

Page 515: CA-Intertest for CICS User Guide

load and go tape

Glossary�3

dump formatThe format in which CORE and FILE display data with 16 bytes to a line in both hexadecimal and characterrepresentation.

dynamic error correctionThe process by which users can correct errors online and continue testing.

FILEThe CA-InterTest transaction that displays and modifies auxiliary storage.

Function Selection MenuThe CNTL menu from which users can select different monitoring functions.

generic specificationThe identification of a group of programs, transactions, or terminals by one or more characters.

global loggingA report of system-wide CA-InterTest activity.

global monitoringCA-InterTest's ability to monitor all the programs in the system.

HELPThe CA-InterTest transaction that provides HELP for all functions and online error messages.

Indirect Commands facilityThe CA-InterTest facility that allows you to dynamically alter or supplement COBOL and PL/I programs by usingCOBOL-like statements without having to leave your test session to recompile your program.

indirect commandsA series of COBOL-like statements used to dynamically alter or supplement COBOL and PL/I programs at abreakpoint.

indirect addressingCORE's ability to access main storage by first accessing a fullword that contains the address of the area to bedisplayed.

interactive testingThe online process by which CA-InterTest helps users test programs, dynamically correct errors and continue testing.

ITSTThe CA-InterTest transaction that displays the ISPF-like Primary Option Menu. Options on the Primary OptionMenu afford easy access to all CA-InterTest and CA-SymDump functions, as well as online Help, new features, andthe status of CA-InterTest installation options.

LISTThe CA-InterTest transaction that displays source listings and compiler output online so users can view and debugprograms.

load and go tapeCA-InterTest's installation tape, which can be installed in a few hours.

Page 516: CA-Intertest for CICS User Guide

Glossary�4 CA-InterTest 6.0 User Guide

LoggingCA-InterTest's ability to record activity during a test session.

main storageThe computer's memory where instructions and data are kept during processing.

MonitoringThe process by which CA-InterTest serves as an intermediary between a program and the CICS system so it candetect and prevent errors.

monitoring optionsThe CNTL features that let users adapt monitoring to their individual needs. All monitoring options may be setthrough ITST menus as well as CNTL menus or commands.

non-3270-terminal tasksTasks that execute on non-3270 terminals.

non-symbolic programsPrograms that have not been compiled or assembled with the necessary batch procedure to update CA-InterTest'sSymbolic File and for which CA-InterTest cannot provide symbolic support.

non-terminal tasksTasks that execute without a terminal.

post-processorThe CA-InterTest step, performed when a program is compiled or assembled, that puts listing and symbolicinformation in CA-InterTest's Symbolic File.

Primary Option MenuThe name of the main menu displayed by the ITST transaction. Options on the Primary Option Menu afford easyaccess to all CA-InterTest and CA-SymDump functions, as well as online Help, new features, and the status of CA-InterTest installation options.

production systemThe CICS system where an installation's data processing work is performed.

program locationA location within a program that can be identified by a paragraph name, label, statement number or offset.

protection optionsThe CNTL features that let users change the default rules for modifying main storage, the CSA, and load modules.

purging tasksRemoving tasks halted at a breakpoint after a specified interval has elapsed.

replacement optionsThe CNTL features that let users replace program, file, and transient data queue names and temporary storage IDs.

request breakpointA breakpoint set by a user which halts a program prior to all or specified CICS commands, macros, DL/I calls, orcalls to other software.

Page 517: CA-Intertest for CICS User Guide

Symbolic File

Glossary�5

Resume menuThe menu available from the Breakpoint Primary Option menu that presents many options on how to resume orabend execution from an automatic or user-set breakpoint.

resuming task executionAllowing a program to continue to execute after it has been halted at a breakpoint.

single-steppingHalting a program after it executes one or more verbs, statements or instructions.

source listingA program's code after it has been compiled or assembled.

Source Listing Backtrace displayThe screen displayed by the Backtrace Facility that illustrates the program�s execution path, statement by statement.

Source Listing Breakpoint displayThe diagnostic display provided by the Source Listing Facility when CA-InterTest halts a program at a breakpoint.

Source Listing CommandsThe simple commands, such as STATUS and MONITOR and PROFILE, that can be entered on the command line ofany Source Listing display or breakpoint to perform testing and navigation functions.

Source Listing FacilityThe CA-InterTest facility that displays a program's source listing and compiler output online so the program can bedebugged.

Source Listing ProfileA series of options that determine how CA-InterTest will display a program's source listing and breakpoints.

special optionsThe CNTL features that let users alter the default monitoring rules.

status reportA report that identifies the monitoring options in effect for a program, transaction or terminal, and also providesbreakpoint information. The Monitoring Status report allows users to remove monitoring, breakpoints, and othermonitoring options directly from the display.

step amountThe number of verbs, statements, or instructions CA-InterTest allows a program to execute before halting it.

storage violationAn attempt by a program to modify storage it does not own.

structured storage displaySee CORE structured display.

Symbolic FileThe CA-InterTest file that contains symbolic information for all programs compiled or assembled with the necessarybatch procedure.

Page 518: CA-Intertest for CICS User Guide

Glossary–6 CA-InterTest 6.0 User Guide

symbolic locationsProgram locations that can be referenced by the data names or statement numbers defined in the program.

System-Related areasMain storage related to CICS system areas, tables and programs.

system-wide optionsThe CNTL features that let users alter monitoring functions for the entire system.

Task-Related areasMain storage areas related to a particular task.

test systemThe CICS system where an installation's programs are tested.

unconditional breakpointA breakpoint set by a user that takes effect whenever the program reaches the specified location.

utility optionsThe CNTL features that let users display the contents of CA-InterTest tables and files, and reset monitoring for arecompiled program.

vertical formatThe format, resembling DITTO output, in which FILE displays data with 50 characters to a line in both hexadecimaland character format.

wild branchA program branch to an unknown address outside its own load module.

Page 519: CA-Intertest for CICS User Guide

Index–1

Index

=

=x.y.z commandon Source Listing display, 3-12

A

Abending tasks, 9-11, 9-12, 9-68

Abends, CICScodes, CA-InterTest, D-2

ABP keyword, 9-13, 9-66

ABP option, 7-21, 8-3, 9-18, 9-60

Action charactersSource Listing display, 3-15

Active tasksdisconnecting from terminal, 7-29purging, 7-29viewing online, 8-5

AICA abendspreventing, 9-22

ALL keyword, 9-8, 9-17USR=.ANY, 9-7

Application invocation parameter list, 12-14

Assembler programsoptions, A-6post-processor parameters, A-6, A-7

Automatic breakpointsglobal facility, 8-3, 9-13, 9-14, 9-66HELP for correcting/continuing, 5-7local option, 7-21, 8-3, 9-18, 9-60

monitoringautomatically setting, 7-13, 9-41

monitoring, automatically setting, 9-8non-3270 terminal tasks, 8-7non-terminal tasks, 8-6overriding, 9-26overriding, permanent, 5-9overriding, temporarily, 5-8production system, 7-21, 8-3, 9-18, 9-60source listing example, 5-2

Automatic single-stepping, 9-67stop value, 3-31turning on, 3-31wait amount, 3-31

Auxiliary storage, 1-6

Auxiliary Storage, 11-1

B

Backtrace facility, 5-21accessing, 5-22automatic stepping, 5-29bookmark, 5-22navigating through execution, 5-29Source Listing Breakpoint screen, 5-24, 5-34

Backtrace Summary, 5-21bookmark, 5-23ending a session, 5-26From field, 5-23PF keys, 5-26reading, 5-25select column, 5-23Source Listing Summary, 5-24statement block, 5-24

BACKWARD command, 2-7

Page 520: CA-Intertest for CICS User Guide

Index–2 CA-InterTest for CICS User Guide

BALR instructionspermitting, 7-18, 9-19

BDAM filesadding a record, 11-57browsing a file, 11-54, 11-55FILE functions for, 11-53FILE screen, 11-51searching for a data string, 11-55updating a record, 11-56viewing a record, 11-51, 11-53, 11-54

BKPT Terminal IDchanging from Source Listing Profile, 3-33

BMS mapsdisplaying, 10-54

Bookmark, 5-22

BOTTOM command, 2-7

Breakpoint locations menuexample, 4-9stop at all data name references, 4-8stop at all paragraphs or all labels, 4-8stop at first statement, 4-8stop at specified verb, 4-8

Breakpoint locations screensetting unconditional breakpoints, 4-7

Breakpoint Locations screen, 4-26, 9-42, 9-45

Breakpoint Primary Option Menu, 5-21menus and submenus, 2-6using, 2-3ways to access, 2-3

Breakpoint-Related Areas menu (Assembler), 10-25

Breakpoint-Related Areas menu (COBOL), 10-17example of, 10-23

Breakpoint-Related Areas menu (PL/I), 10-26

Breakpoints. See Request breakpoints. See Variable-change breakpoints. See Conditional breakpoints. SeeUnconditional breakpoints

activities, 1-5additional displays, 5-31CORE commands, 10-36, 10-38, 10-42, 10-44,10-45CORE menus (Assembler), 10-25CORE menus (COBOL), 10-17, 10-18, 10-19,10-23, 10-24CORE menus (PL/I), 10-26data, working with, 5-10definition of, 1-2

disabling, 9-10, 9-67instructions, bypassing, 7-18, 9-20, 9-58moving, 9-10, 9-68non-3270 terminal tasks, 8-7non-symbolic, C-4, C-5, C-6, C-7, C-8, C-9, C-10,C-11non-terminal tasks, 8-6purging tasks at, 9-14, 9-66resetting after recompiling, 6-11restoring screen, 10-44scrolling to next, 6-11setting, 1-4setting, when, where and why, 4-1terminals, disconnecting at, 7-29transferring with New Program Copy, 4-4types, 4-1

BTRACE command, 5-22

BWD command, 2-7

BWD command, on Source Listing display, 3-12

BYP option, 7-18, 9-19, 9-57

Bypass of automatic breakpoint, 5-9

C

CAIN8000error resolution, 3-43

CAIN8001error resolution, 3-43

CAIN8002error resolution, 3-43

CAIN8003error resolution, 3-43

CAIN8004error resolution, 3-44

CAIN8005error resolution, 3-44

CA-InterTestdefinition of, 1-1global logging, 9-14, 9-66initializing, 3-2, 3-19, 3-21, 3-22, 3-23, 5-11, 5-37,5-38, 9-7methods of using, 1-7monitor, 1-2product status, viewing online, 2-5reports, 9-12, 9-64

Page 521: CA-Intertest for CICS User Guide

Index–3

restarting, 9-7starting, 3-2Symbolic file, 9-12, 9-65tables, 9-12, 9-65terminating, 9-7transaction IDs, 3-3transactions, 1-10

CALC option, 10-56

CBP option, 9-20

CHANGE command (CHG), 10-50, 10-51, 10-52

Changing the From Terminal ID, 3-33

Changing the terminal ID, 3-34

Checkpoint facility, 9-14, 9-66

CHGE function, 11-17

CICS areasdisplaying (CORE commands), 10-48displaying (CORE menus), 10-27, 10-29structured storage display, 10-6, 10-9

CICS commandshalting program before, 4-20, 9-53

CICS Life of Task, 12-13

CICS macroshalting program before, 4-20, 9-53

CICS requestslimiting, 7-21, 9-60

CICS trace table, 9-30

CKPT keyword, 9-14, 9-66

CLOT keyword, 12-13

CNTLcapabilities, 9-1, 9-33functions, 9-35HELP, 9-34menus and screens, 9-35PF keys, 9-40

CNTL commandon Source Listing display, 3-12

CNTL commandsabending tasks, 9-11, 9-12generic specification, 9-5hierarchy rules, 9-6initializing CA-InterTest, 3-19, 3-21, 3-22, 3-23,5-11, 5-37, 5-38, 9-7modules of, 9-15

monitoring, excluding from, 9-9monitoring, removing, 9-7monitoring, resetting, 9-13monitoring, setting, 9-7options

removing, 9-8, 9-17setting, 9-8, 9-9, 9-17summary of, 9-15syntax, 9-17

reports, status, 9-12restarting CA-InterTest, 9-7resuming task execution, 9-9, 9-11resuming task execution at an indirectcommand, 9-11summary of, 9-2syntax, 9-4system-wide options

setting, 9-13terminating CA-InterTest, 9-7

CNTL Function Selection menu, 8-13

COBOL and COBOL II programscompiler options, A-2, A-4post-processor parameters, A-5

COBOL IIdynamically called programs, 8-2LE/370 condition handlers, 8-2nested programs, 3-38using the post-compiler, 3-38

COBOL II and COBOL/370, E-1

COBOL/370compiler options, A-2dynamically called programs, 8-2post-processor parameters, A-5

COLLAPSE command, 2-7

Command fieldcommands supported from Selection Lists, 2-7

Compiler optionsCOBOL and COBOL II programs, A-2IBM COBOL for MVS programs, A-2PL/I programs, A-7

Compiler outputaccess to, 1-9

Composite support, 7-23, 9-23, A-12batch preparations, A-12, A-13, A-15example of, 7-25removing, 7-28setting (Assembler), 7-28

Page 522: CA-Intertest for CICS User Guide

Index–4 CA-InterTest for CICS User Guide

setting (batch), 7-23, 7-24, A-17setting (online), 7-26, 7-27

Conditional Breakpoint screen (COBOL), 4-13, 4-15,9-46, 9-49

Conditional Breakpoint screen (Detailed), 4-16, 9-50

Conditional breakpointsCOBOL, 4-13, 9-47CORE keywords, 4-18, 9-52definition of, 1-5figurative constants, 4-15, 9-48length of comparison, 4-17, 9-51removing, 4-26, 4-27, 9-20, 9-45, 9-49setting, 4-26, 9-20, 9-45

Source Listing facility, 4-10setting, example of, 4-15, 9-49

Conditional BreakpointsAssembler and PL/I, 4-16, 9-50

Conditional Locations screen, 4-27, 9-49

Conventionsfastpath menu notation, 2-3

CORE, 10-1dump format, 10-11, 10-12menus, 10-1menus, accessing, 10-14PF keys (menus), 10-16PF keys (structured display), 10-10, 10-13, 10-16Source Listing Breakpoint screen, 10-1storage display formats, 10-3structured display (Assembler and CICS), 10-6,10-9structured display (COBOL), 10-3, 10-5structured display (PL/I), 10-3structured display (USE option), 10-7

CORE commandon Source Listing display, 3-12

CORE commands, 10-30CALC option, 10-56chaining, 10-55CICS areas

displaying, 10-48complex COBOL data names

displaying, 10-37elements, 10-33indirect addressing, 10-35locations and displacements, specifying, 10-32main storage

displaying, 10-31, 10-32displaying at breakpoint, 10-42

displaying at breakpoint (Assembler), 10-38,10-39displaying at breakpoint (COBOL andPL/I), 10-36, 10-37displaying system-related areas, 10-47, 10-49displaying task-owned areas, 10-47, 10-48displaying when not at breakpoint, 10-41

main storage, acquiring at breakpoint, 10-44main storage, modifying, 10-50, 10-51, 10-52main storage, modifying at breakpoint, 10-45main storage, scanning, 10-53main storage, verifying, 10-52PL/I symbolic programs, 10-39programs

deleting, 10-54loading, 10-54

screenrestoring at breakpoint, 10-44

scrolling, 10-35storage pointer, 10-34USE option, 10-7

CORE keywordsconditional breakpoints, 4-18, 9-52

CSAmodifying, 7-18, 7-19, 9-21, 9-58

CSA option, 7-18, 7-19, 9-21, 9-58

CustomizationEDF, 8-23

CUTPRINT parameter, A-5, A-6, A-8

CWAmodifying, 7-18, 7-19, 9-21, 9-58

D

Databreakpoint activities, 5-10

Data namequalified name, 3-38

Databasespassword-protected, 11-14

DATATYPE fieldtemporary storage, 11-58

DB2 databaseschanges

confirming, 11-46

Page 523: CA-Intertest for CICS User Guide

Index–5

columnupdating, 11-45

columnsselecting, 11-42, 11-45

command list, 11-47FILE functions, 11-44FILE screen, 11-40FILE, accessing, 11-40row, deleting, 11-45row, inserting, 11-46scrolling, 11-41SQL commands, entering, 11-41

DB2 programsadvanced debugging, 12-10attach facility, 12-2calls

types of, 12-11DSNC abends, 12-12host variables

inspecting, 12-5SQL requests

breakpoints for, 12-4SQL return codes, 12-7

Demo Sessionsavailable in Getting Started Guides, 3-2

Detailed Breakpointbacktrace, 5-33CNTL commands, defaults, 5-36execution, continuing, 5-35PF keys, 5-34, 5-35reading a backtrace, 5-34restoring the breakpoint, 5-38source code view options, 5-38switching to Source Listing, 5-39using, 5-32

DFLTUSERviewing value online, 7-6

Diagnostic area, CA-InterTest, D-3

Diagnostic information, 1-4

Displayregisters, 3-26titles, 3-26

DL/I databasesFILE functions, 11-34FILE screen, 11-31halting program before calls to, 4-20, 9-53segment

adding, 11-37

copying, 11-38deleting, 11-39updating, 11-36

SSA formats, 11-34

DLTE command, 10-54

DOWN command, 2-7

DSNC abends, 12-12

DSNCRCT keyword, 11-47

Dumpsexamining, D-1, D-2, D-8, D-9, D-10, D-11

Dynamically called programsFOL=PPT option, 8-2monitoring, E-1

E

EDF, 8-23

END command, 2-7on Source Listing display, 3-12

END keyword, 9-7

Ending FILE session, 11-15

Error detection and prevention, 1-3

Errorsoverriding, 9-26

EXCL keyword, 9-9

Execution Extents Table, D-8

Execution pathtracing, 5-21

EXPAND command, 2-7

F

FEP option, 9-21

FEPIFront-End Programming Interface, 8-22

FILE, 11-1BDAM files, 11-51, 11-53, 11-54, 11-55, 11-56,11-57breakpoint usage, 5-20

Page 524: CA-Intertest for CICS User Guide

Index–6 CA-InterTest for CICS User Guide

capabilities, 11-1, 11-2changes, and main storage, 5-20common functions, 11-20DB2 databases, 11-39DL/I databases, 11-31ending FILE session, 11-15HELP, 11-17initiating, 5-19, 11-5LAST sub-function, 11-21logging facility, 11-14PF keys, 11-15record identification, 11-21saving records, 11-19screen

copying, 11-20initial, 11-6

scrolling, 11-16Source Listing Breakpoint screen

access from, 5-19temporary storage, 11-60, 11-62temporary storage screen layout, 11-58terminating, 11-15transient data, 11-65, 11-66universal mode of data entry, 11-14VSAM files, 11-21work area, 11-3

changing, 11-17displaying, 11-19dumping, 11-20filling with character string, 11-18

File namesreplacing, 7-15, 9-28, 9-55

Filespassword-protected, 11-14updating

preventing, 7-21, 9-26, 9-59

FOL option, 7-21, 9-22, 9-59, 9-65

Formatcharacter, 11-9dump, 11-8structured, 11-11vertical, 11-10

FORWARD command, 2-7

From Terminal IDchanging from Source Listing Profile, 3-32

Front-End Programming Interface (FEPI)TIMEOUT values, 8-23

FUNC field

common functions, 11-20

Function Selection Menu, 9-36, 9-37

FWD commandon Source Listing display, 3-12

G

Generic specification, 7-11, 9-5, 9-38

Global logging, 9-14, 9-66

GLOG keyword, 9-14, 9-66

GO keyword, 9-9

H

HELP command, 2-7on Source Listing display, 3-12

HELP facilityautomatic breakpoint usage, 5-7browse capability, 3-3CNTL, 9-34FILE, 11-17ITST, 7-9printing, B-1transaction IDs

listed in, 3-3using, 1-8

Hexadecimal calculator, 10-56

HOGAN Systems programs, monitoring, 8-8, 8-9

Host variables, 12-5displaying, 12-6

I

IBM COBOL for MVS programscompiler options, A-2post-processor parameters, A-5

ICT option, 9-22

IN25LINK, A-13, A-15

IN25UTIL program, A-10, A-12

Page 525: CA-Intertest for CICS User Guide

Index–7

INCL keyword, 9-9

Indexed data namesdisplaying

CORE command, 10-37CORE menu, 10-19

Indirect addressing, 10-35

Indirect commandsresume menu access, 6-6

Indirect Commandsaccess from Source Listing, 5-41accessing, 5-41CNTL command, 9-11COBOL programs, 5-53COBOL variable syntax, 5-56examples, 5-40formatting, 5-52listing, 5-50PL/I programs, 5-54PL/I variable syntax, 5-57screen description, 5-43status report, 5-46using, 5-39using conditional expressions, 5-55using data names, 5-53using figurative constants, 5-55using variables, 5-53using with CNTL menus, 9-61

INQ keyword, 9-12, 9-65

Installation optionsSource List BKPT field, 3-32viewing online, 2-5, 7-5viewing, online, 7-6

Instruction counter, 9-22

Interactive testing, 1-2

ITST commandon Source Listing Display, 3-12

ITST transactionaccessing Primary Option Menu, 2-2

J

Jump command, 2-3on Source Listing display, 3-12

K

Keep window functions, 5-12, 5-13

KEP option, 9-22

L

LAST sub-function, 11-21

LE/370 condition handlers, 8-2ABI=OFF option, 8-2segmented monitoring, 8-2

LET option, 7-19, 9-23, 9-58

Linkage section, 3-25

LISTbatch preparations, A-1

LIST keyword, 9-12

LISTER parameter, A-5, A-7, A-8

LNK option, 9-23

LOAD command, 10-54

Load modulemodifying, 7-19, 9-23, 9-58

LOC field, 11-16

LOG fieldtemporary storage, 11-58

M

Main storage, 10-1acquiring at breakpoint, 10-44bit manipulation, 10-51contents, 5-34deleting program modules, 10-28display formats, 10-3displaying, 10-31, 10-32displaying (Assembler), 10-39displaying (PL/I), 10-39displaying at breakpoint, 10-25, 10-26, 10-42displaying at breakpoint (Assembler), 10-38displaying at breakpoint (COBOL and PL/I),10-36, 10-37displaying at breakpoint (COBOL), 10-18, 10-19

Page 526: CA-Intertest for CICS User Guide

Index–8 CA-InterTest for CICS User Guide

displaying complex COBOL data names, 10-19,10-37displaying in a keep window, 9-22displaying system-related areas, 10-27, 10-47,10-49displaying task-owned areas, 10-47, 10-48displaying task-related areas, 10-30displaying when not at breakpoint, 10-41displaying, from Source Listing Breakpointscreen, 5-14dump format, 10-11, 10-12examining, 1-6indirect addressing, 10-35instructions that read, 9-21keeping, in a keep window, 5-12limiting, 7-21, 9-24, 9-60loading program modules, 10-28modifying, 1-6, 7-18, 7-19, 9-19, 9-23, 9-58, 10-50,10-51, 10-52modifying at breakpoint, 10-25, 10-26, 10-45modifying system-related areas, 10-29modifying task-related areas, 10-30modifying, example of, 10-23modifying, from Source Listing Breakpointscreen, 5-14MOVE command, preformatted, 5-17programs

deleting, 10-54loading, 10-54

protecting, 7-19, 9-26, 9-58scanning, 10-53searching for data, 10-24, 10-29setting address, 10-52structured display (Assembler and CICS), 10-6,10-9structured display (COBOL and PL/I), 10-3, 10-5verifying, 10-52viewing in keep window, 5-12

Main Storage facilitycapabilities, 10-2

Main Storage Facilityaccess, 10-1

MAP command, 10-54

Margin field, 3-25

MENU commandon Source Listing Display, 3-12to display breakpoint menu, 2-3

Menus and displaysbreakpoint menus and submenus, 2-6commands for Option field, 2-7

fastpath option selection (=x.y), 2-3getting help, 2-3Option selection, 2-3overview, 2-1PF key definition, 2-4structure and navigation, 2-4

Modifyregisters, 3-28

Modules (CNTL commands)executing, 9-15

MON option, 9-24setting and removing, alternate methods, 8-11

MONITOR commandon Source Listing display, 3-12on Source Listing Display, 3-12on Source Listing screen, 3-5

Monitoringabending tasks, 9-11all programs, 7-11all programs of a user, 9-7automatic breakpoints, 7-21, 8-3, 8-6, 8-7, 9-13,9-14, 9-18, 9-60, 9-66CNTL commands and menus, 9-1COBOL II and COBOL/370 programs, E-1composite support, 7-23, 7-24, 7-25, 7-26, 7-27,9-23, A-12conditional breakpoints, 4-26, 9-20, 9-45dynamically called programs, E-1excluding from, 9-9from Source Listing facility, 3-4generic specification, 7-11, 9-5, 9-38global, 7-11, 9-7, 9-66hierarchy rules, 7-12, 9-6, 9-39limiting, 7-16, 7-19, 7-21, 8-4, 9-31, 9-56, 9-58,9-60methods of initiating, 7-8, 9-34MSA programs (under CA-InterTest 5.x), 8-8non-3270 terminal tasks, 8-7non-terminal tasks, 8-5options

removing, 9-8, 9-17setting, 9-8, 9-9, 9-17summary of, 9-15

production system, 8-3, 8-5programs, multiple, 3-38protection options, 7-17, 7-20, 9-57, 9-58removing, 7-12, 9-7, 9-40removing using menus, 7-14removing using status display, 7-13replacement options, 7-15, 7-17, 9-55, 9-57

Page 527: CA-Intertest for CICS User Guide

Index–9

reportglobal, 9-12, 9-65

request breakpoints, 4-20, 9-27, 9-53, 9-55resetting, 9-13, 9-64resuming task execution, 9-9, 9-11, 9-67, 9-68setting, 7-12, 9-7, 9-40SLB option, 3-36special options, 7-20, 7-21, 9-59, 9-60status after testing, 6-9status report, 4-26, 7-12, 9-6, 9-12, 9-13, 9-39,9-40, 9-41, 9-45, 9-62system-wide, 7-11system-wide options, 7-30, 9-8, 9-13, 9-65terminal options, 7-12, 7-16, 7-19, 7-21, 8-4, 9-31,9-40, 9-56, 9-58, 9-60UBP option. See Unconditional breakpoints. SeeUnconditional breakpointsunconditional breakpoints, 9-31, 9-42User ID option, overview, 3-36, 7-4User ID options, 8-4utility functions, 9-64wild branch, after, 7-21, 9-22, 9-59

Monitoring activity. See Monitoring status display

Monitoring Command Builder, 9-35main menu, 9-36, 9-37

Monitoring menuaccess, 7-3functions, 7-2

Monitoring MenuPF keys, 7-3

Monitoring Menu Options, 7-1

Monitoring status displayCNTL command entry, 6-10

Monitoring Status displayaccessing, 2-9exiting, 2-12expanding and collapsing, 2-10introduction, 2-9refreshing the display, 2-12removing monitoring, breakpoints, options, 2-11using, 2-8

Monitoring Submenus, 7-7

Monitoring tableautomatic creation of entries, 9-8, 9-40displaying, 9-12

MOVE command, 10-45CORE menu, 10-20

MOVEIN command, 10-52

MSA programs, monitoring, 8-9

MUS option, 7-21, 8-4, 9-60

MXR option, 7-21, 9-60

MXS option, 7-21, 9-60

N

Nested program field, 3-18, 5-11

New copy option, 7-14functions, 6-11

NEW keyword, 7-14, 9-13, 9-65

New Program Copy, 6-11transfers breakpoints, 4-4

No file updating, 7-21, 9-26, 9-59

NOM option, 9-25setting and removing

alternate methods, 8-11

Non-symbolic breakpoint screen, C-4, C-5, C-6, C-7,C-8, C-9, C-10, C-11

NRB option, 9-25

NUP option, 7-21, 9-26, 9-59

O

OFF keyword, 9-7

Offset location, 3-24

ON keyword, 9-7

Option field of ITST menuscommands supported, 2-7

Option selectionjump notation, 2-3

Override automatic breakpoint, 5-8

OVR option, 9-26

Page 528: CA-Intertest for CICS User Guide

Index–10 CA-InterTest for CICS User Guide

P

Passwordsfiles and databases, 11-14

PBP facility, 8-19, 8-20, 8-21

PF keysCNTL, 9-40CORE (menus), 10-16CORE (structured display), 10-10, 10-13, 10-16Detailed Breakpoint, 5-35FILE, 11-15menus, 2-4Source Backtrace Summary, 5-26Source Listing Backtrace, 5-28Source Listing Breakpoint, 5-6Source listing display, 3-17SQL records in FILE, 11-44

PGMNAME parameter, A-5, A-6, A-8

PL/I programscompiler options, A-7CORE commands, 10-39displacements, calculating, 10-56post-processor parameters, A-7, A-8

Plus signs, 5-24

Post-processor programs, A-1Assembler options, A-6Assembler parameters, A-6, A-7COBOL and COBOL II compiler options, A-2,A-4COBOL parameters, A-5COBOL/370 compiler options, A-2IBM COBOL for MVS compiler options, A-2PL/I compiler options, A-7PL/I parameters, A-7, A-8recompiling with, 6-11

POWER parameter, A-9

Primary Option Menuaccess from Breakpoint menu, 5-21accessing from a breakpoint, 2-3PF key definitions, 2-4using, 2-2ways to access, 2-2

PRO option, 7-19, 9-26, 9-58

Production system, 1-6automatic breakpoints, 8-3monitoring, 8-3, 8-5

limiting, 8-4monitoring at one terminal, 8-4monitoring for a single user, 8-4

PROFILE command, 3-26on Source Listing display, 3-12

Program executionjump to another location, 6-3navigating, 5-29options, at a breakpoint, 6-1resume menu, 6-4

Program monitoring menunew copy option, 7-14setting an unconditional breakpoint, 4-6

Program namesreplacing, 7-15, 9-28, 9-55

Programmed breakpoints, 8-19Assembler programs, 8-21COBOL programs, 8-21PL/I programs, 8-20removing, 8-21

Programsadjusting the margins, 3-25batch preparations, A-1generic specification, 7-11, 9-5, 9-38non-symbolic, C-1, C-2recompiling after testing, 6-10status after testing, 6-9Symbolic file, listing of, 9-12, 9-65viewing online, 3-4

Protection optionsremoving, 7-17, 7-20, 9-57, 9-58setting, 7-17, 7-20, 9-57, 9-58

PTFs. See Status/maintenance option

PURGE keyword, 9-14, 9-66

Q

Qualified data namesdisplaying

CORE command, 10-37CORE menu, 10-19

Qualified nameCOBOL nested programs, 3-38

Page 529: CA-Intertest for CICS User Guide

Index–11

R

RBP option, 9-27

RCTSee Resource Control Table, 12-14

RCT keyword, 12-14

RDIIN keyword, 12-14

Read bufferpreventing, 9-25

Reentrancy check, 7-21, 9-28, 9-59

RegistersAmode field, 3-28Condition Code field, 3-28display, 3-26ExecKey field, 3-28modify, 3-28TransIsolate field, 3-28view the area pointed to, 3-29

Replacement optionsremoving, 7-15removing, CNTL menus, 9-55setting, 7-15, 9-28, 9-29setting, CNTL menus, 9-55

Replacement Options screen, 7-15, 9-56

Reportsglobal, 9-65status, 4-26, 9-6, 9-12, 9-13, 9-39, 9-41, 9-45, 9-62

Request breakpointsdefinition of, 1-5for SQL requests, 12-4removing, 4-20, 4-21, 9-27, 9-53removing from CNTL, 9-55removing from menus, 4-27setting, 4-20, 4-21, 9-27, 9-53

Source Listing facility, 4-20setting from CNTL, 9-55setting within loop, 9-27terminal options, 9-27

Resource Control Tabledisplaying, 12-14viewing, 11-47, 11-48, 11-49, 11-50

RESTART keyword, 9-7

Resume menu, 6-4option 1 Next Instruction, 6-4option 2 Label, 6-5

option 3 Statement, 6-5option 4 Offset, 6-5option 5 Indirect Commands, 6-6option 6 Next EXEC/CALL, 6-6option 7 nnn Steps, 6-7option 8 nnn Machine Instructions, 6-7

Resuming task execution, 9-9, 9-11, 9-67, 9-68example, 9-68

RFC option, 7-16, 9-28, 9-56

RNT option, 7-21, 9-28, 9-59

RPC option, 7-15, 9-28, 9-56

RTD option, 7-16, 9-29, 9-56

RTS option, 7-16, 9-29, 9-56

Run locationdifferent terminal, 3-33, 3-34no terminal, 3-33, 3-34

S

SCAB command, 10-53

SCAN command, 10-53

Scroll amountHALF, 3-29PAGE, 3-29setting, 3-29STOP, 3-29

Search field, 3-18

Searching for dataSource Listing facility, 3-18

Segmented monitoringdefinition of, 8-8

Segmented monitoring options, 8-9, 8-10, 8-12, 8-13,8-16, 8-17

enabling, 8-10examples

using command syntax, 8-17installation requirements, 8-10MON (monitor on) option

defined, 8-9MONOM

option, online status, 8-10NOM (monitor off) option

defined, 8-9password protection for, 8-10

Page 530: CA-Intertest for CICS User Guide

Index–12 CA-InterTest for CICS User Guide

setting and removingusing CNTL menus, 8-13, 8-16using command syntax, 8-16, 8-17using Source Listing, 8-12

used with HOGAN Systems programs, 8-9, 8-10used with MSA programs, 8-9, 8-10

SELECT command, 11-42, 11-45

SET command, 10-52

Single-stepping, 6-2, 9-67resume menu options, 6-7

SLB option, 7-20, 9-29, 9-59

Source List BKPT= fielddefault value, 5-39

Source Listing Backtrace, 5-21access, 5-27PF keys, 5-28reading, 5-27

Source Listing BreakpointSource List BKPT= OFF, 3-32Source List BKPT= ON, 3-32

Source Listing Breakpoint screenaccessing/modifying databases, 5-19accessing/modifying files, 5-19automatic breakpoint example, 5-2automatic breakpoint, help for, 5-7breakpoint letters, 5-2commands supported, 5-3CORE, using, 10-1displaying, 9-29examining, 5-2keep window display, 5-12main storage, display functions, 5-14PF keys, 5-6requesting, 7-20, 9-59

Source Listing displayadjusting the margins, 3-25breakpoint letter indicators, 3-10Command line usage, 3-12field definitions, 3-9Option # field, 3-11PF key definitions, 3-17scrolling function, 3-23using the Search field, 3-18

Source Listing Displayareas, defined, 3-8commands supported, 3-12

Source Listing facility

exiting, 3-5, 3-45initiating, 3-4monitoring multiple programs, 3-38profile options, 3-23program execution, 3-45setting breakpoints, 3-4, 3-5

conditional, 4-10request, 4-20unconditional, 4-3

setting monitoring, 3-4, 3-36

Source Listing Facilityinitiating, 3-24

Source Listing Facilityaccess to, 1-9initiating, 3-24overview, 3-1preparing your programs, 3-2

Source Listing Profileauto-stepping, 3-31BKPT terminal ID, 3-33default settings, 3-26display registers, 3-26display titles, 3-26From terminal ID, 3-32options, 3-26PF7/8 Amount field, 3-23scroll amount, 3-29set the User ID, 3-34setting scroll amount, 3-23source list BKPT, 3-32step amount, 3-30

Source menu, 3-6

Source Selection List, 3-6using Masking characters, 3-6

User ID, 7-22

Special optionsremoving, 7-20, 7-21, 9-59, 9-60setting, 7-20, 7-21, 9-59, 9-60

SQLrequests, 12-4return codes, 12-7

SQL Commandsdatabases, 11-47

SQL/DS programsadvanced debugging, 12-10calls

types of, 12-11

Page 531: CA-Intertest for CICS User Guide

Index–13

host variablesinspecting, 12-5

Resource Adapter, 12-3SQL requests

breakpoints for, 12-4SQL return codes, 12-7

SQLCAdisplaying, 12-9

SQLCA keyword, 12-9

SQLRCODE keyword, 12-8, 12-13

SSA formats, 11-34

START keyword, 3-19, 3-21, 3-22, 3-23, 9-7

STATUS ALL commandon Source Listing display, 3-12

STATUS commandon Source Listing display, 3-12

Status display, 4-26, 7-12, 9-6, 9-12, 9-13, 9-39, 9-40,9-41, 9-45, 9-62

commands supported, 2-7example, 9-63removing monitoring, 7-13

Status/Maintenance menuglobal options, displaying, 7-6

Status/maintenance optiondescription, 2-5on Primary Option Menu, 2-2

Step amountsetting, 3-30

Steppingautomatic, 3-31

Storage pointer, 10-34

Storage protectionbypassing, 7-18, 9-19, 9-57removing from shared areas, 9-32

STR option, 9-30

Structured Query Language (SQL), 11-40

Subscripted data namesdisplaying

CORE command, 10-37CORE menu, 10-19

SVC instructionspermitting, 7-18, 9-19

SYM keyword, 9-12, 9-65

Symbolic filebatch preparations, A-1batch utility program, A-10, A-12CICS areas

displaying, 10-48programs, listing of, 9-12, 9-65

Symbolic Version Listassembler programs, 3-41COBOL programs, 3-40PL/I programs, 3-40using, 3-41, 3-42

Synchronized processingmaintaining, 3-39Symbolic Version List, 3-39warning message, 3-39

System-Related Areas menu, 10-27, 10-28

System-wide monitoringusing menus, 7-11

System-wide options, 7-30, 9-8, 9-13, 9-65

T

TAL option, 9-30

Task-Related Areas menu, 10-30

Tasksabending, 9-11, 9-12, 9-68CORE menus, 10-30non-3270 terminal, 8-7non-terminal, 8-5purging, 9-14, 9-66resuming execution, 9-9, 9-11, 9-67, 9-68

Temporary storageadding a queue record, 11-61FILE functions for, 11-59FILE screen layout, 11-58purging a queue, 11-62viewing a queue record, 11-60

Temporary storage IDsreplacing, 7-15, 9-29, 9-55

TER option, 9-30

Terminal monitoring menusetting an unconditional breakpoint, 4-6

Terminalschanging IDs, 9-30

Page 532: CA-Intertest for CICS User Guide

Index–14 CA-InterTest for CICS User Guide

disconnecting active task, 7-29generic specification, 7-11, 9-5, 9-38non-3270 terminal, 8-7

Test cycle activitiespreliminaries, 3-2starting a session, 3-4

Test system, 1-6

Titlesdisplay, 3-26

TON option, 7-16, 7-19, 7-21, 8-4, 9-31, 9-56, 9-58,9-60

TOP commandscrolling an Options list, 7-10

Trace table, 9-30

Trace TableCA-InterTest entries, D-9, D-10, D-11

Transaction dump, 9-10, 9-11

Transaction IDsfor CA-InterTest, 3-3for CA-SymDump, 3-3

Transaction monitoring menusetting an unconditional breakpoint, 4-6

Transactionsgeneric specification, 7-11, 9-5, 9-38

Transient dataadding a record, 11-66retrieving a record, 11-65

Transient data queuesreplacing, 7-15, 9-29, 9-55

U

UBP option, 9-31, 9-32

Unconditional breakpointsdefinition of, 1-4indirect command option, 4-8removing, 4-24, 4-26, 9-31, 9-42, 9-45set at all labels, paragraphs, or procedures, 4-5set at labels, paragraphs, or procedure names,4-5set from Cross-Reference section, 4-4setting, 9-31, 9-42setting from menus, 4-6

setting from Source Listing, 4-3setting within loop, 4-8, 9-32, 9-43specifying options, 4-8terminal options, 4-8, 9-31, 9-43user ID option, 4-8

USE option, 10-7

User help filemaintaining entries, 2-5

User IDchanging from Source Listing, 3-34example, setting breakpoints from menus, 4-9option to monitoring, command syntax, 9-32option to monitoring, discussion, 7-4protection options, 7-19Source Listing Profile, 3-34

USH option, 9-32

USR keywordUSR=specific, 9-7

USR option, 9-32in production, 8-4

Utility functions, 9-64

V

Variable length datadisplaying

CORE command, 10-37

Variable-change breakpointssetting, 9-48setting from menus, 4-14

VER command, 10-52

VSAM filesbrowsing, 11-25data string

searching for, 11-26FILE functions for, 11-23FILE screen, 11-22mass insertion, 11-28record

adding, 11-27copying, 11-29deleting, 11-30identifying, 11-21large-key

deleting, 11-31

Page 533: CA-Intertest for CICS User Guide

Index–15

updating, 11-27viewing, 11-24

remote files and temporary storage support, 11-3

VSE/POWER, A-9

W

What's new (8)on Primary Option Menu, 2-2

Wild branch, 7-21, 9-22, 9-59

Working-storage, 3-25

Wrong results, 3-45