xpedref72
April 5, 2018 | Author: Anonymous |
Category:
Documents
Description
XPEDITER/TSO and XPEDITER/IMS Reference Manual Release 7.2 ii XPEDITER/TSO and XPEDITER/IMS Reference Manual Please direct questions about XPEDITER/TSO and XPEDITER/IMS or comments on this document to: XPEDITER Technical Support Compuware Corporation 31440 Northwestern Highway Farmington Hills, MI 48334-2564 1-800-538-7822 Outside the USA and Canada, please contact your local Compuware office or agent. This document and the product referenced in it are subject to the following legends: Copyright 1996-2003 Compuware Corporation. All rights reserved. Unpublished rights reserved under the Copyright Laws of the United States. U.S. GOVERNMENT RIGHTS-Use, duplication, or disclosure by the U.S. Government is subject to restrictions as set forth in Compuware Corporation license agreement and as provided in DFARS 227.7202-1(a) and 227.7202-3(a) (1995), DFARS 252.227-7013(c)(1)(ii) (OCT 1988), FAR 12.212(a) (1995), FAR 52.227-19, or FAR 52.227-14 (ALT III), as applicable. Compuware Corporation. This product contains confidential information and trade secrets of Compuware Corporation. Use, disclosure, or reproduction is prohibited without the prior express written permission of Compuware Corporation. Access is limited to authorized users. Use of this product is subject to the terms and conditions of the user's License Agreement with Compuware Corporation. XPEDITER, Code Coverage, File-AID, Abend-AID, FrontLine, and Compuware Shared Services are trademarks or registered trademarks of Compuware Corporation. IBM, CICS, and DB2 are trademarks of International Business Machines Corporation. CA-MIM, CA-ROSCOE, ENDEVOR, LIBRARIAN, PANEXEC, and PANVALET are trademarks or registered trademarks of Computer Associates International, Inc. Adobe ® Acrobat ® Reader copyright © 1987-2002 Adobe Systems Incorporated. All rights reserved. Adobe and Acrobat are trademarks of Adobe Systems Incorporated. All other company and product names are trademarks or registered trademarks of their respective owners. Doc. CWXTRX7C December 27, 2002 iii Contents Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii Summary of Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xiii What’s New in Release 7.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xiii What’s New in Release 7.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii Intended Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii Accessing Other Products . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii About This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii Notation Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii Common Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xviii Reading the Syntax Diagrams. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xx Related Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi Documentation Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxii FrontLine Support Web Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxii Online Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxii World Wide Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii Getting Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii Chapter 1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Command Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Breakpoint Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Program Data Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Screen Manipulation Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utility Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Test Session Control Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Batch Connect Processing Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . Command Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Entering Primary Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Entering Line Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Command Qualification Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Module (External Procedure) Qualification for PL/I . . . . . . . . . . . . . . . . . Module (External Program) Qualification for COBOL . . . . . . . . . . . . . . . Module Qualification for Assembler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Module (External Program) Qualification for C Language . . . . . . . . . . . . Chapter 2. XPEDITER/TSO Commands (AA SNAP - COVER) . . . . . . . . . . . . . . . . . AA SNAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ACCEPT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AFTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–1 1–1 1–1 1–1 1–1 1–2 1–2 1–2 1–2 1–2 1–3 1–4 1–4 1–5 1–7 1–8 2–1 2–1 2–1 2–1 2–1 2–1 2–2 2–2 2–2 2–2 2–3 2–3 2–3 iv XPEDITER/TSO and XPEDITER/IMS Reference Manual Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–3 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–4 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–6 ALLOCATE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–7 Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–7 Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–8 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–8 AT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–9 Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–9 Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–9 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–9 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–10 BEFORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–10 Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–10 Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–10 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–11 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–13 BOTTOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–14 Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–14 Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–14 BROWSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–14 Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–14 Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–14 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–15 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–15 CCHILITE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–15 Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–15 Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–16 CONNECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–18 Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–18 Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–18 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–19 COUNT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–19 Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–19 Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–19 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–20 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–21 COVER. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–22 Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–22 Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–22 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–22 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–23 Chapter 3. XPEDITER/TSO Commands (DELETE - EXIT) . . . . . . . . . . . . . . . . . . . . DELETE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DLEFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DLI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–1 3–1 3–1 3–2 3–3 3–3 3–3 3–4 3–4 3–5 3–5 3–5 3–5 3–6 v DOWN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–6 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–6 Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–7 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–7 DRIGHT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–7 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–7 Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–8 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–8 DROP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–9 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–9 Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–9 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–9 END. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–11 Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–11 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–11 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–11 EXCLUDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–12 Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–12 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–12 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–13 EXIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–13 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–13 Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–13 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–14 Chapter 4. XPEDITER/TSO Commands (FIRST - HELP) . . . . . . . . . . . . . . . . . . . . . 4–1 F (First) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–1 Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–1 Usage Note. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–1 FADB2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–2 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–2 Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–2 File-AID for DB2 Primary Option Menu . . . . . . . . . . . . . . . . . . . . . . . . . . 4–3 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–6 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–6 FIND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–8 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–8 Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–8 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–9 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–9 FIND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–10 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–10 Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–10 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–12 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–14 GEN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–15 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–15 Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–15 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–16 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–16 GETMAIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–18 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–18 Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–18 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–19 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–19 GO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–20 vi XPEDITER/TSO and XPEDITER/IMS Reference Manual Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GOBACK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GOTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GPREGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HELP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–20 4–21 4–22 4–22 4–23 4–23 4–23 4–23 4–23 4–23 4–23 4–23 4–24 4–25 4–25 4–25 4–25 4–25 4–27 4–27 4–27 4–27 Chapter 5. XPEDITER/TSO Commands (IF - MOVE) . . . . . . . . . . . . . . . . . . . . . . . 5–1 IF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–1 Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–1 Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–1 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–1 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–2 INCLUDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–3 Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–3 Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–3 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–3 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–4 INSERT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–5 Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–5 Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–6 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–6 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–7 INTERCEPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–11 Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–11 Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–12 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–13 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–14 KEEP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–14 Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–14 Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–14 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–16 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–18 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–23 L (Last) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–26 Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–26 Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–26 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–26 LEFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–27 Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–27 Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–27 vii Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LINE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LOAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LOCATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LOG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MEMORY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MONITOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MOVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–28 5–28 5–28 5–28 5–29 5–29 5–31 5–31 5–31 5–31 5–32 5–32 5–32 5–32 5–33 5–33 5–33 5–33 5–33 5–33 5–33 5–34 5–35 5–36 5–36 5–36 5–37 5–37 5–37 5–37 5–38 5–39 Chapter 6. XPEDITER/TSO Commands (NOLINES - TEST) . . . . . . . . . . . . . . . . . . 6–1 NOLINES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–1 Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–1 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–1 PAUSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–1 Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–2 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–2 PEEK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–5 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–5 Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–5 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–6 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–14 RESET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–15 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–15 Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–16 RESUME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–16 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–16 RETEST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–16 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–16 Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–16 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–16 RETURN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–17 viii XPEDITER/TSO and XPEDITER/IMS Reference Manual Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . REVERSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Steps in Using REVERSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RIGHT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RUN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SCRNSAVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SHOW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SKIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SOURCE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . STATUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . T (Template) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TEST. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–17 6–17 6–17 6–17 6–17 6–18 6–18 6–18 6–19 6–19 6–19 6–20 6–20 6–20 6–20 6–20 6–21 6–21 6–21 6–21 6–35 6–35 6–36 6–36 6–36 6–39 6–46 6–46 6–46 6–47 6–48 6–48 6–48 6–48 6–49 6–49 6–50 6–50 6–50 6–51 6–51 6–52 6–52 6–52 6–52 6–52 6–53 7–1 7–1 7–1 7–1 7–1 7–1 7–1 7–1 7–1 Chapter 7. XPEDITER/TSO Commands (TOGGLE - :) . . . . . . . . . . . . . . . . . . . . . . . TOGGLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TRACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–2 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–2 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–3 TSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–4 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–4 Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–4 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–4 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–4 UP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–5 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–5 Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–5 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–5 USE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–6 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–6 Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–6 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–7 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–7 USING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–7 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–7 Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–7 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–8 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–8 VERIFY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–10 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–10 Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–10 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–11 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–11 WHEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–12 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–12 Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–13 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–13 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–14 WHEREIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–15 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–15 Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–15 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–15 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–16 WS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–16 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–16 Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–16 XCHANGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–17 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–17 Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–17 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–17 XPED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–18 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–18 Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–18 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–18 : (Colon) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–19 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–19 Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–19 Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–19 x XPEDITER/TSO and XPEDITER/IMS Reference Manual Appendix A. COBOL-Structure Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–1 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G–1 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I–1 xi Figures 2-1. 2-2. 2-3. 2-4. 3-1. 3-2. 3-3. 4-1. 4-2. 4-3. 4-4. 4-5. 4-6. 4-7. 4-8. 4-9. 4-10. 4-11. 4-12. 4-13. 4-14. 4-15. 4-16. 4-17. 4-18. 4-19. 5-1. 5-2. 5-3. 5-4. 5-5. 5-6. 5-7. 5-8. 5-9. 5-10. 5-11. 5-12. 5-13. 5-14. 5-15. 5-16. 5-17. 6-1. 6-2. 6-3. 6-4. 6-5. 6-6. 6-7. 6-8. 6-9. 6-10. 6-11. 6-12. 6-13. The EDIT File List 1 Screen ...................................................................................... 2–8 Repository Record Selection Screen #1.................................................................. 2–17 Repository Record Selection Screen #2.................................................................. 2–17 XPEDITER/TSO Code Coverage Source Display Screen ........................................ 2–18 Entering the DROP and MEMORY Commands .................................................... 3–10 Memory Display at Established Address................................................................ 3–10 Restoring the Original DSECT Address.................................................................. 3–11 Using the F Line Command to Reshow Excluded Lines ......................................... 4–1 Result of Entering the F Line Command................................................................. 4–2 File-AID for DB2 Primary Option Menu.................................................................. 4–4 Using the FADB2 EXPLAIN Line Command ........................................................... 4–6 SQL Source Analysis Screen ..................................................................................... 4–7 Using the FADB2 EXPLAIN Line Command ........................................................... 4–7 SQL Source Analysis Screen ..................................................................................... 4–8 Result of Finding the Data-Name SUBS................................................................. 4–14 Result of Finding String B010 IN PARAGRAPH..................................................... 4–14 Expanding an EXEC Statement Using the G Line Command .............................. 4–17 Result of Entering the G Line Command.............................................................. 4–17 Entering GEN as a Line Command ....................................................................... 4–17 Result of Expanding Macros Using the GEN Command ...................................... 4–18 Entering the GETMAIN Command ....................................................................... 4–20 Result of Executing the GETMAIN Command...................................................... 4–20 Example of Typing Over the Contents of a Register ............................................. 4–26 Result of Typing Over Contents of Register 12 with Register 6 ............................ 4–26 Entering a Decimal Number into a Register.......................................................... 4–26 Doubling the Value of a Register........................................................................... 4–27 Entering an IF Conditional Expression in a COBOL Program ................................ 5–2 Entering an IF Conditional Expression in a PL/I Program...................................... 5–2 Entering an IF Conditional Expression in an Assembler Program.......................... 5–2 Entering an IF Conditional Expression in a C Language Program ......................... 5–3 Result of Entering the I Line Command ................................................................. 5–7 Inserting a Program Fix ........................................................................................... 5–7 Intercepting TRITSTA and Showing Breaks........................................................... 5–14 Keeping Labeled Dependent USINGs .................................................................... 5–19 Example of Keeping a Table Sub-element ............................................................. 5–21 Displaying a Table in the Keep Window............................................................... 5–23 Example of Keeping an Array Element.................................................................. 5–24 Using the L Line Command to Reshow Excluded Lines ....................................... 5–26 Result of Entering the L Line Command .............................................................. 5–26 LINE OFFSET Format on the Source Screen .......................................................... 5–30 LINE 24 Format on the Memory Screen................................................................ 5–30 Result of Entering the MEMORY Command......................................................... 5–35 Memory Screen Showing Pointer Qualification.................................................... 5–36 COBOL Example of Inserted Code Using PAUSE.................................................... 6–2 Result of Creating a Breakpoint Using PAUSE in Inserted Code ............................ 6–2 PL/I Example of Inserted Code Using PAUSE.......................................................... 6–3 Result of Creating a Breakpoint Using PAUSE in Inserted Code ............................ 6–3 Assembler Example of Inserted Code Using PAUSE................................................ 6–3 Result of Creating a Breakpoint Using PAUSE in Inserted Code ............................ 6–4 C Language Example of Inserted Code Using PAUSE ............................................. 6–4 Result of Creating a Breakpoint Using PAUSE in Inserted Code ............................ 6–5 Source for PEEK Examples ....................................................................................... 6–6 Result of Entering PEEK on a GROUP-ITEM ........................................................... 6–7 Example of Entering PEEKE on a GROUP-ITEM ..................................................... 6–7 Result of Entering PEEK ELEMENT-2 or PEEKE ELEMENT-2 .................................. 6–7 Source for E Line Command Example .................................................................... 6–7 xii XPEDITER/TSO and XPEDITER/IMS Reference Manual 6-14. 6-15. 6-16. 6-17. 6-18. 6-19. 6-20. 6-21. 6-22. 6-23. 6-24. 6-25. 6-26. 6-27. 6-28. 6-29. 6-30. 6-31. 6-32. 6-33. 6-34. 6-35. 6-36. 6-37. 6-38. 6-39. 6-40. 6-41. 6-42. 6-43. 6-44. 6-45. 7-1. 7-2. 7-3. 7-4. 7-5. 7-6. 7-7. 7-8. 7-9. Numeric Items Displayed After an E Line Command on NUM-REC...................... 6–7 Source Before Horizontal Scrolling of a Displayed Item ......................................... 6–8 Result After Pressing PF23 Key for Horizontal Scrolling of a Displayed Item......... 6–8 Result of Entering an H Line Command on ID-NUMBER ...................................... 6–8 Invalid Numeric Display.......................................................................................... 6–9 Displaying a COBOL Table ...................................................................................... 6–9 Displaying a COBOL Table Occurrence ................................................................ 6–10 Result of Entering PEEK on NAMES_N_CNTRS..................................................... 6–11 Result of Entering PEEKE on NAMES_N_CNTRS................................................... 6–11 Numeric Items Displayed After an E Line Command on NUM_REC ................... 6–12 Source Before Horizontal Scrolling of a Displayed Item ....................................... 6–12 Result After Pressing PF23 Key for Horizontal Scrolling of a Displayed Item....... 6–12 Result of Entering an H Line Command on IN_REC ............................................ 6–13 Invalid Numeric Display........................................................................................ 6–13 Displaying an Array Occurrence............................................................................ 6–14 Displaying Data Areas............................................................................................ 6–15 Displaying Register Contents ................................................................................ 6–15 Example of the SHOW BREAKS Command .......................................................... 6–40 Example of the SHOW COUNTS Command ........................................................ 6–40 Example of the SHOW DCBS or SHOW FILES Command.................................... 6–41 Example of the SHOW INDEX Command............................................................ 6–41 Example of the SHOW KEEP Command ............................................................... 6–42 Example of the SHOW MODULES Command...................................................... 6–42 Example of the SHOW PREVIOUS Command ...................................................... 6–43 Example of the SHOW OPTIONS Command........................................................ 6–43 Example of the SHOW REGION Command ......................................................... 6–44 Example of the SHOW TRACE Command ............................................................ 6–44 Example of the SHOW WHENS Command .......................................................... 6–45 Example of the SHOW WHERE Command........................................................... 6–45 Example of the SHOW ALLOCATES Command ................................................... 6–45 Example of the SHOW USING Command ............................................................ 6–46 Status Screen .......................................................................................................... 6–50 Entering the USING Command .............................................................................. 7–9 Displaying Memory at the Reassigned Address....................................................... 7–9 Reassigning Address to TSTREC............................................................................. 7–10 Entering the V Line Command on Instructions ................................................... 7–11 Verify Instruction Display ..................................................................................... 7–12 Entering the V Line Command on Data Areas ..................................................... 7–12 Verify Display of Data Areas .................................................................................. 7–12 WHEN Conditional (Data Change) Breakpoint .................................................... 7–14 Displaying Working Storage.................................................................................. 7–17 xiii Preface S um_ Chgs XPEDITER is a testing and debugging tool for COBOL, Assembler, PL/I, and C programs that run in TSO (both interactive and batch), IMS, CICS, and ROSCOE environments. XPEDITER simplifies the tasks of testing and debugging by giving programmers complete control over the execution of their programs at the source code level without requiring source or object code changes. Members of Compuware’s XPEDITER family of debugging and testing products include XPEDITER/TSO, XPEDITER/IMS, XPEDITER/CICS, XPEDITER/Code Coverage, XPEDITER/Xchange, and XPEDITER/DevEnterprise (for the workstation). Summary of Changes This section includes brief descriptions of the changes to XPEDITER/TSO and XPEDITER/IMS for Release 7.2. For those updating directly from Release 7.0, changes made for Release 7.1 are also summarized. What’s New in Release 7.2 Compuware is pleased to announce XPEDITER/TSO and XPEDITER/IMS Release 7.2, with these new features: Foreground DB2 Stored Procedure Support The TSO foreground can now be used for debugging DB2 Stored Procedures, eliminating the requirement for available JES-controlled initiators. Generic IDs with DB2 Stored Procedures Now different users running DB2 stored procedures with a common generic ID can be distinguished from one another. Retention of IMS Breakpoints XPEDITER will now save breakpoints set in IMS transactions from one test session iteration to the next. DB2 Group Support With Release 7.2, support is provided for multiple DB2 subsystems configured as data sharing groups on the same LPAR as XPEDITER/TSO. Support for z/OS 1.3 and 1.4 XPEDITER continues to provide support for the latest release of IBM’s operating system. IMS Release 8.1 Support XPEDITER/IMS now provides support for Version 8 of IMS. xiv XPEDITER/TSO and XPEDITER/IMS Reference Manual Additional Enhancements IMS/VS Quickstart for DLI XPEDITER will read your JCL’s IMS PARM string for APARM information and pass it to the test, unless overridden in XPEDITER’s IMS setup panel. If the DLI test includes DB2, XPEDITER can obtain the DB2 plan name and system name from the DDITV02 file. Abending Module Information The XPEDITER log will now identify the load library of the module in which an abend has occurred so you can verify the correct library was used. Enhanced SHOW ZAPS Display The output of the SHOW ZAPS command will list applied XPEDITER PTFs plus the load library where the PTFs reside. SHOW LINKLIST Command This new SHOW command parameter will display a list of libraries in the system linklist and write the list to the XPEDITER log. C Language KEEPE/PEEKE XPEDITER’s KEEPE and PEEKE commands have been extended to C programs, making it easier to navigate variable content. Batch Connect Log and Script Retention The SCRIPT DATASET and LOG DATASET screens are now used during the creation of the Batch Connect JCL to specify the final disposition of the Log and Script files. Enhanced SHOW WHEN Command Conditional breakpoints can now be selectively deleted when displayed with the SHOW WHEN command. Post Script for Batch Connect With Release 7.2, you can specify a script to run automatically at the conclusion of a Batch Connect session. BIND DB2 Packages XPEDITER’s DB2 BIND PLAN function has been extended to let you BIND packages as well. You can also now edit the generated JCL. What’s New in Release 7.1 Compuware is pleased to announce XPEDITER/TSO and XPEDITER/IMS Release 7.1, with these new features: Toleration Support for VisualAge PL/I XPEDITER has further broadened its language compatibility to provide toleration support for modules processed using IBM’s VA PL/I compiler. Preface xv IMS UserID Support This new feature will allow XPEDITER/IMS running in MPPs to intercept transactions based on IMS userID. With this new functionality, multiple users can run and/or debug the same IMS transaction without affecting each others’ test sessions. DB2 Support Extended to DB2 Release 7.1 XPEDITER’s industry-leading support for DB2, including Stored Procedure support, has been extended to release 7.1 of DB2. DB2 Trigger and UDF Debugging XPEDITER now enables User Defined Functions (UDFs) and triggers to be intercepted and debugged. SMP/E Delivery Delivery and maintenance of XPEDITER/TSO and XPEDITER/IMS is now performed using IBM’s System Modification Program Extended (SMP/E). Additional Features: Direct Access to File-AID/IMS: Compuware’s powerful File-AID/IMS product is now directly accessible with a new Primary Menu selection. Enhanced Quickstart Support The STEPLIB, execution parameters, DB2 subsystem and plan, and DSNLOAD setup information required for establishing XPEDITER’s interactive testing environment can now be automatically retrieved from your JCL. Integrated File-AID/MVS Browse and Edit Functions: The file browse (FB) and file edit (FE) capabilities in File-AID/MVS can now be accessed conveniently from within XPEDITER. Any file accessible to File-AID/MVS can be browsed or edited via the Preview Files option at test session initialization to confirm the content of test conditions. Extended Batch Connect Terminal Support: Model 3, 4, and 5 terminals are now fully supported by the Batch Connect facility in XPEDITER/TSO. Display of PACKED fields in COBOL 2.2: XPEDITER will now use a scrollable area to display the contents of 31-digit comp-3 fields. xvi XPEDITER/TSO and XPEDITER/IMS Reference Manual xvii Introduction I nt ro This manual is an alphabetically arranged reference for XPEDITER/TSO and XPEDITER/IMS primary and line commands. The command syntax, keywords, usage, and examples are provided. Intended Audience This manual is written for application programmers engaged in program development and maintenance. A working knowledge of COBOL, Assembler, PL/I, C language, and your local system environment is assumed. Accessing Other Products XPEDITER/TSO and XPEDITER/IMS are fully integrated with Compuware’s File-AID for DB2 (Release 3.5 or above), Abend-AID (Release 7.0.2 or above for COBOL and Assembler, and Release 8.0.4 or above for PL/I and C Language), and XPEDITER/DevEnterprise Batch Debugger (Release 2.0 or above). From the XPEDITER/TSO Primary Menu, you can access a CICS region where other Compuware tools, such as XPEDITER/CICS and CICS AbendAID, can be used. About This Book This book describes all XPEDITER/TSO and XPEDITER/IMS commands. Some commands are only valid for certain languages, and in some cases a command will operate slightly different across languages. Throughout the book are boxes that identify the language for which information is valid. An example of these boxes is shown below: COBOL PL/I Assembler C Language Notation Rules • Uppercase characters are used in text for commands, keywords, and function keys. • Screen titles appear in text with initial capitals. • Information that the user enters is shown in boldface. • Screen information quoted in the text is shown in boldface. • Occasional dataset and library member names are shown in boldface type for emphasis. • Valid abbreviated forms of primary commands and keywords follow a general rule. – Long abbreviations consist of the first three characters, except where a longer abbreviation is more meaningful. For example, the abbreviation of the keyword STATEMENT is STATE. – Short abbreviations consist of the first character, except where another character better represents the word. For example, the short abbreviation of the primary command EXCLUDE is X. xviii XPEDITER/TSO and XPEDITER/IMS Reference Manual – Where the single character abbreviation would be the same for two commands, the less frequently used command has only a long abbreviated form. • Commands are not case sensitive; they can be typed in all lowercase in the command area. VisualAge PL/I: The compiler for VisualAge PL/I is somewhat different in the way it handles certain aspects of the language. One such difference involves the method by which statements are identified. Traditionally, each PL/I statement was given a unique statement number for identification in the various elements of the compiler output. Under VisualAge PL/I compilation, however, the identification is less finite, with only the file and line number being used to discern between language constructs. Because this mechanism is somewhat awkward when using XPEDITER, the Compuware Language Processor instead associates each file and line number combination with a single sequential line number. It is this generated line number which is used by XPEDITER with VisualAge PL/I programs as the replacement notation for statement number under previous PL/I compilers. As a result, references to the term “statement” in XPEDITER documentation, messages and panels actually refer to the line construct (which may contain multiple statements) in a VisualAge PL/I environment. Common Parameters location A place where breakpoints can be set or deleted. You can specify a valid location list separated by spaces or commas, or a range; e.g., statement-number THRU statementnumber. THRU is a required keyword when a range is specified. Valid locations are: COBOL statement-number module-name paragraph-name ALL STATE ALL PROG program-name ALL PARA PL/1 statement-number module-name label-name ALL STATE ALL PROC procedure-name ALL LABELS Assembler statement-number expression ALL STATE address module-name ALL LABELS +/- offset addresslabel-name C Language line-number module-name label-name ALL STATE ALL FUNC function-name ALL LABELS statement-number A program statement number. Introduction xix line-number A SEQNBR of a line in the compile listing. label-name The entry in the name field of an Assembler or PL/I language statement. label-name The entry in the name field of a C language line. paragraph-name A COBOL paragraph name in the current module. CSECT-name An Assembler CSECT name in the current module. A colon (:) is used to delimit procedure names. procedure-name A PL/I procedure name in the current module. function-name A C language function name in the current module. data A COBOL data-name or data item. An Assembler data-label or register (Rn). A PL/I variable. An IBM C variable-name. CSR The cursor. When valid, put the cursor on a data-item variable, data-label, or register and press an assigned PF key, or type the command on the command line. literal Signed or unsigned integer or floating point number, alphanumeric string (' '), hexadecimal string (X' '), or figurative constant (spaces, zeros, high-values, or lowvalues). program-name The name of the module or the subroutine to be tested. module-name The name of a module or CSECT. If you are calling a module in the current load module, enter the module-name followed by a single colon (:). If the called module is not in the current load module, the module-name must be preceded by the load module name and double colons (::) and followed by a single colon (:). For example: BEFORE TRIMAIN::TRISUB: address A 24- or 31-bit address. + offset An area in storage relative to the beginning of the area. The plus (+) sign must be followed by a valid hexadecimal number. address-expression A symbolic address, +/- calc, or absolute address. xx XPEDITER/TSO and XPEDITER/IMS Reference Manual symbolic address An address expressed by Rn? or Rn% indirect addressing. conditional-expression Any valid XPEDITER/TSO-supported expression that compares the relationship of two items, tests the truth value of a specified condition, or checks when a program variable changes value. Subsequent action of the program is dependent on the result. The following standard operators are valid: Equal (=) Greater than (>) Less than () less than (NOT IO_AREA sets a keep at the variable IO_AREA based on the pointer PCB_PTR. Procedure Qualification Example Entering: KEEP EDIT_DATA:CUST_REC sets a keep at CUST_REC declared in procedure EDIT_DATA. Nested Procedure Qualification Example Entering: KEEP PROCESS_INPUT:EDIT_DATA:CUST_REC sets a keep at the variable CUST_REC declared in procedure EDIT_DATA that is contained within procedure PROCESS_INPUT. The following entries are the rules for COBOL. COBOL Module (External Program) Qualification for COBOL XPEDITER/TSO’s breakpoint, program data, and screen manipulation commands will operate in the qualified program unless they are explicitly qualified to another separately compiled program. For example, if TRIMAIN is the qualified program and you enter: BEFORE 24 1-6 XPEDITER/TSO and XPEDITER/IMS Reference Manual a before breakpoint is set at statement 24 in TRIMAIN. To use XPEDITER/TSO commands in a separately compiled program that is not the qualified program, you must use a single colon (:) to explicitly qualify the program name. For example, if the qualified program is TRIMAIN and you want to set a before breakpoint at statement 15 in the separately compiled program TRITST, the following must be entered: BEFORE TRITST:15 Note: See “Load Module Qualification” below for information about qualifying program names that are not unique. You can make a separately compiled program the qualified program using the SOURCE command. For example, if the qualified program is TRIMAIN and you enter: SOURCE TRITST TRITST becomes the qualified program. You can then set breakpoints and perform debugging functions in TRITST. Alternatively, you can enter: SOURCE TRITST BEFORE 15;KEEP TST-REC to make TRITST the qualified program with a before breakpoint set at statement 15 and a Keep window opened for the variable TST-REC in TRITST. The SOURCE command allows you to refer to a separately compiled program by the CSECT name or entry name if the program is already loaded. Otherwise, you must refer to a separately compiled program by the name of the load module. Load Module Qualification If a separately compiled program in your application is link-edited into multiple load modules, you need to use load module qualification to refer to a specific instance of the program. Load module qualification consists of using double colons (::). For example, to set a before module breakpoint in the separately compiled program TRIRPT in load module MAINPGM, use a combination of load module qualification (::) and module (program) qualification (:) as shown below: BEFORE MAINPGM::TRIRPT: Load module qualification must also be used to refer to a separately compiled program whose name is identical to a nested program name in the qualified program. Data Qualification The following are examples of qualifying data when entering XPEDITER/TSO commands. For example, entering: KEEP SIDE-A sets a keep on the data item SIDE-A in the qualified program. If duplicate variable names exist in the program, XPEDITER/TSO displays a message, and you will need to qualify the variable name using data qualification syntax. For example, entering: KEEP SIDE-A OF WORK-REC sets a keep on SIDE-A of WORK-REC. Nested program qualification may be necessary if there is a duplicate data name across nested programs. For example, entering: KEEP TRIPROG:SIDE-A OF WORK-REC Overview 1-7 sets a keep on SIDE-A of WORK-REC in nested program TRIPROG. Nested program qualification can be repeated as many times as necessary to provide a unique reference. For example, entering: KEEP PROCESS-INPUT:EDIT-DATA:WORK-REC sets a keep at the variable WORK-REC in the program EDIT-DATA that is contained within the program PROCESS-INPUT. The following entries are the rules for Assembler, beginning with Module Qualification. Assembler Module Qualification for Assembler XPEDITER/TSO’s breakpoint, program data, and screen manipulation commands will operate on the qualified module unless they are explicitly qualified to another module. For example, if TRIMAINA is the qualified module and you enter: BEFORE +21C+E a before breakpoint is set to stop before offset +21C+E in TRIMAINA. To use XPEDITER/TSO commands in a module that is not the qualified module, you must use a single colon (:) to explicitly qualify the module name. For example, if the qualified module is TRIMAINA and you want to set a before breakpoint to stop before label ZEROIT in module TRITSTA, the following would be entered: BEFORE TRITSTA:ZEROIT You can make a module the qualified module using the SOURCE command. For example, if the qualified module is TRIMAINA and you enter: SOURCE TRITSTA TRITSTA becomes the qualified module. You can then set breakpoints and perform debugging functions in TRITSTA. Alternatively, you can enter: SOURCE TRITSTA BEFORE ADDIT;KEEP TSTREC TRITSTA becomes the qualified module with a before breakpoint set at the label ADDIT and a Keep window opened for the data label TSTREC. The SOURCE command allows you to refer to a module by the CSECT name or entry name if the module is already loaded. You can also refer to a module by the name of the load module if the module is the link-edited entry point in the load module. Load Module Qualification To perform debugging functions in a program/module that has a duplicate copy link edited into a different load module, or a statically linked version and a dynamically linked version of the same program/module, you must use load module qualification. Load module qualification consists of using double colons (::). For example, to set a before module breakpoint in the TRIRPTA in load module MAINPGM, use a combination of load module qualification (::) and module qualification (:) as shown below: BEFORE MAINPGM::TRIRPTA: 1-8 XPEDITER/TSO and XPEDITER/IMS Reference Manual Label Qualification High Level Assembler uses the period (.) notation to refer to a uniquely qualified DSECT label based on different registers. For example, CUSTOMER.LASTNAME refers to a field, EMPLOYEE.LASTNAME refers to another field, and both fields use the same DSECT. The following entries are the rules for C Language, beginning with Module (External Program) Qualification. C Language Module (External Program) Qualification for C Language XPEDITER/TSO’s breakpoint, program data, and screen manipulation commands will operate in the qualified external program unless they are explicitly qualified to another separately compiled program. For example, if TRIMAINC is the qualified external program and you enter: BEFORE 24 a before breakpoint is set at line 24 in TRIMAINC. To use XPEDITER/TSO commands in a separately compiled program that is not the qualified external procedure when the procedure name is not contained in the qualified external program, you must use a single colon (:) to explicitly qualify the program name. For example, if the qualified external program is TRIMAINC and you want to set a before breakpoint at line 15 in the separately compiled program TRITSTC, the following must be entered: BEFORE TRITSTC:15 Note: Refer to "Load Module Qualification" below for information about qualifying program names that are not unique. You can make a separately compiled program the qualified program using the SOURCE command. For example, if the qualified program is TRIMAINC and you enter: SOURCE TRITSTC TRITSTC becomes the qualified program. You can then set breakpoints and perform debugging functions in TRITSTC. Alternatively, you can enter: SOURCE TRITSTC;BEFORE 15;KEEP tst_rec to make TRITSTC the qualified program with a before breakpoint set at line 15 and a Keep window opened for the variable tst_rec in TRITSTC. The SOURCE command allows you to refer to a separately compiled program by the CSECT name or entry name if the program is already loaded. Otherwise, you must refer to a separately compiled program by the name of the load module. Load Module Qualification To perform debugging functions in an external function that has a duplicate copy link edited into a different load module, or a statically linked version and a dynamically linked version of the same external function, you must use load module qualification. Load module qualification consists of using double colons (::). For example, to set a before module breakpoint in the external function TRIRPTC in load module MAINPGM, use a combination of load module qualification (::) and module (external function) qualification (:) as shown below: BEFORE MAINPGM::TRIRPTC: Overview 1-9 Load module qualification must also be used when a non-qualified external function name is identical to a function name in the qualified program. Data Qualification The following are examples of qualifying variable names when entering XPEDITER/TSO commands. For example, entering: KEEP TOTAL_COUNT sets a keep at the variable TOTAL_COUNT in the qualified program. If duplicate variable names exist in the external program, XPEDITER/TSO displays a message and you will need to qualify the variable name using data qualification syntax. The following are data qualification examples. Structure Qualification Example Entering: KEEP CUST_REC.TOTAL_COUNT sets a keep at the structure member TOTAL_COUNT of structure CUST_REC. Note: Function qualification may be necessary if there is a duplicate data name in another function. Entering: KEEP TRIFUNC:CUST_REC.TOTAL_COUNT sets a keep at the structure member TOTAL_COUNT of structure CUST_REC in function TRIFUNC. Pointer Qualification Example Entering: KEEP PCB_PTR->IO_AREA sets a keep at the variable IO_AREA based on the pointer PCB_PTR. Function Qualification Example Entering: KEEP EDIT_DATA:CUST_REC sets a keep at CUST_REC declared in function EDIT_DATA. 1-10 XPEDITER/TSO and XPEDITER/IMS Reference Manual 2-1 Chapter 2. XPEDITER/TSO Commands (AA SNAP - COVER) AA SNAP COBOL PL/I Assembler C ha p 2 C Language Description The AA SNAP command displays an Abend-AID Snapshot report containing context sensitive diagnostic information about an abend. This command is valid only if you have OS Abend-AID release 7.0.2 (COBOL and Assembler) or 8.0.4 (PL/I and C) or above installed at your site. Note: In order to properly view a Snapshot report, the Abend-AID product must have been installed with LANGTYP=USAUC on the GLOBAL table. For additional information, refer to the MVS Abend-AID Reference Manual. If no abend is present, the Snapshot report displays environment specific run-time characteristics during a test session. If you have the Abend-AID VSAM, IDMS, IMS, or DB2 options, the report also displays subsystem-related debugging information. AA SNAP is not valid in an unattended batch test. Input AA SNAP Usage Notes ALL Languages 1. The Snapshot report is formatted according to your terminal size (80 or 133) and written to a temporary dataset called ABENDAID DD. If you want to save the abend information for printing, you must allocate the ABENDAID DD to a permanent dataset. 2. When you have finished viewing the Snapshot report, press PF3 or enter END to return to the source display. Enter BROWSE ABENDAID on the command line of any run-time screen to redisplay the Snapshot report. 3. Browse the report using the PF7 and PF8 keys to scroll up and down, or view specific sections of the report using the FIND command. Examples ALL Languages 2-2 XPEDITER/TSO and XPEDITER/IMS Reference Manual 1. To display a Snapshot report, enter AA SNAP on the command line of any run-time screen. 2. You can bypass the Header page and go directly to a specific report section from the source display. For example, to go directly to the Diagnostic section, enter the following on the Source screen: AA SNAP; FIND 'DIAGNOSTIC' The Diagnostic section of the report is displayed. ACCEPT COBOL Description The ACCEPT command assigns a value, retrieved from a preallocated file, to the specified data item. Input ACCEPT identifier FROM ddname The parameter descriptions for the ACCEPT command are: identifier A data name defined in the program. FROM Required keyword before entering a ddname. ddname The preallocated file from which the data item receives its value. The file must be sequential, a PDS member, or the terminal, and either fixed or variable blocked. The default is SYSIN. Usage Notes 1. Each time an ACCEPT command is issued, the next record within the file is retrieved and assigned to the data item. However, the last record is repeatedly assigned if ACCEPT commands are issued for the same ddname in excess of the records in the file. 2. If FROM ddname is omitted, XPEDITER/TSO assumes the default ddname of SYSIN. If the ddname is allocated to the terminal, XPEDITER prompts the user for input. 3. The file allocated to the ddname identifier cannot be used by a READ or WRITE statement in the same program. 4. If the length of the data assigned is less than that of the alphanumeric data item, the data is left-justified. If the length of the data assigned is less than that of the numeric data item, the data is right-justified and padded with zeros. 5. The value of identifier can specify a relative displacement and length modifier; that is, it can be a substring of a data item. XPEDITER/TSO Commands (AA SNAP - COVER) 2-3 6. All files opened by XPEDITER/TSO when ACCEPT commands are issued are closed with either a RETEST or EXIT command. Examples 1. To assign a value to the data item WORK-REC from the file allocated to the ddname INITFILE, enter the following on the command line: ACCEPT WORK-REC FROM INITFILE 2. To assign a value to the data item WORK-REC when the ddname defaults to SYSIN, enter the following on the command line: ACCEPT WORK-REC AFTER COBOL PL/I Assembler C Language Description The AFTER command sets a breakpoint to pause after the execution of an instruction. The breakpoint is indicated by an A in column 9 on the Source screen. If the line command area is expanded for 31-bit mode addressing, the breakpoint indicator is displayed in column 11 on the source screen. An after breakpoint is automatically set at each COBOL GOBACK or STOP RUN statement, at each } ending an external function in C language, or on each PL/I RETURN or END statement of the main program before starting a debugging session. This after breakpoint is interpreted as an after module breakpoint. All other after breakpoints are interpreted as after statement breakpoints. An after breakpoint on any contained program, function, or procedure name puts a break on the GOBACK, EXIT, EXIT PROGRAM, and RETURN statement in a COBOL program, the } at the end of a C language function, or on the RETURN and/or END statement in a PL/I program. When the after breakpoint is encountered, XPEDITER/TSO temporarily suspends execution of your program, issues a message, and returns control to you. Use the GO command when you are ready to resume execution of your program. In an unattended batch test, a record of the AFTER command is written to the log, but execution is not suspended. Input AFTER AFT A location AFTER Line Command Syntax A AA Set an after breakpoint on a line Set after breakpoints on a block of lines The parameter description for the command is: location A place where breakpoints can be set or deleted. Valid locations are: statementnumber, paragraph-name, ALL STATE, ALL PARA, ALL FUNC, or ALL PROG. You can 2-4 XPEDITER/TSO and XPEDITER/IMS Reference Manual specify a list separated by spaces or commas, or by a range; e.g., statement-number THRU statement-number. THRU is a required keyword when a range is specified. For additional information on these parameters, refer to “Notation Rules” on page xvii. Usage Notes ALL Languages 1. The DELETE command or DA line command is used to remove an after breakpoint. 2. When an after breakpoint is encountered, the execution arrow is displayed as a double-headed arrow: ====>>. 3. XPEDITER/TSO indicates the next logical statement to be executed when a breakpoint pause occurs. 4. The use of the ALL keyword sets after breakpoints in the qualified module or external procedure. AFTER ALL PROG, AFTER ALL FUNC, or AFTER ALL PROC sets the after module breakpoint at every program/procedure/function within the current external program/procedure. AFTER ALL with no object keyword defaults to AFTER ALL STATE. 5. When an after breakpoint is set, a message reports the number of primary and line commands successfully completed. However, if an error is encountered, this message is not displayed until after the error is corrected. 6. All currently kept items (see “KEEP” on page 5-14) are updated when an after breakpoint is encountered and before control is returned to the terminal. 7. The after breakpoint can be set on a statement with any or all of the other breakpoint commands except the SKIP command. When an after breakpoint is set on a line that contains a skip, the S (Skip) is removed and replaced with an A (After). 8. The before and after breakpoints can be set on the same instruction to pause before and after execution. An @ in column 9 indicates that you have entered both an AFTER and a BEFORE command on the same line. COBOL 1. After a statement means XPEDITER/TSO pauses before execution of the next logical statement in the same module. The actual occurrence of the AFTER breakpoint depends on the keyword used: a. For nonbranching verbs such as MOVE and COMPUTE, execution stops before the next physical instruction unless the statement is the last one in the paragraph. b. For branching verbs, execution stops as follows: IF Pauses before the first statement of the executing true or false path. Pauses before the next logical instruction. Pauses before the next logical statement in the current module. At a call to an external program, execution stops after completing the call. On a call to a nested program, execution pauses on the first statement of the nested program. PERFORM CALL 2. After a paragraph means the breakpoint is set after the paragraph name and before the first instruction in the paragraph. It does not pause after executing all the statements in the paragraph or section. XPEDITER/TSO Commands (AA SNAP - COVER) 2-5 3. After a module means the breakpoint is set on all of the GOBACK, EXIT, STOP RUN, or EXIT PROGRAM statements in the outer or main program, and execution pauses before control is given back to the calling module. Module names are qualified with terminating colons. PL/I 1. An after breakpoint set at a call to an external procedure stops after completing the call. An after breakpoint set at a call to an internal procedure stops before executing the first statement in the procedure. 2. Breakpoints can be set only on code lines, not data lines. 3. XPEDITER/TSO sets the breakpoint on the first code statement on the line. Breakpoints cannot be set at other statements on the same line. Use a GO 1 to stop at every statement on a line. 4. AFTER PROC_A: (with colon qualification) sets an after module breakpoint at procedure PROC_A; i.e., the breakpoint is set at the END procedure name and/or RETURN statement of the procedure. AFTER PROC_A (without colon) sets an after breakpoint at label PROC_A in the currently qualified module (external procedure). 5. AFTER LOADMA::PROC_A: sets an after module breakpoint in external procedure PROC_A in load module LOADMA, whereas, AFTER LOADMB::PROC_A: sets an after module breakpoint in external procedure PROC_A of load module LOADMB. Assembler 1. When a breakpoint is set after an instruction, XPEDITER/TSO pauses before execution of the next logical instruction in the same module. Where the after breakpoint actually occurs depends on the instruction: – For nonbranching instructions such as MVC and AP, execution stops before the next physical instruction. – For branching instructions such as BC, BR, or CALL MACRO, execution stops before the next logical instruction in the same module. 2. When an Assembler program is loaded at the start of a test session or when an after module breakpoint is set, a before breakpoint is placed at the RETURN macro, at every L R13,4(R13) instruction followed by a BR R14 instruction, on the CEETERM macro, or on every PR Assembler instruction as the default after module breakpoint. If the program does not use the standard linkage conventions, no default after module breakpoint is set, but an informational message is written to the log. 3. If an after breakpoint is set on an unexpanded macro, XPEDITER/TSO pauses after the execution of the last instruction in the macro. 4. If a breakpoint is set within an unexpanded macro (not on the first or last line), a dollar sign ($) appears in column 9 to indicate a breakpoint. The macro is expanded for viewing when execution reaches the breakpoint. 5. Relative addressing (+/- calculation factor) and indirect addressing (Rn%/Rn?) are supported with the AFTER command. 6. The A line command is valid on any Assembler instruction except the object of an EX instruction. 7. The A line command cannot be entered on the same line at the same time with any other line commands except B. C Language 1. An after breakpoint set at a call to an external module stops after completing the call. An after breakpoint set at a call to an internal function stops after executing the first line in the function. 2-6 XPEDITER/TSO and XPEDITER/IMS Reference Manual 2. Breakpoints cannot be set on lines containing only data declarations. 3. XPEDITER/TSO sets the breakpoint on the first instruction on the line. Breakpoints cannot be set at other statements on the same line. 4. AFTER PROC_A: (with colon qualification) sets an after module breakpoint at function PROC_A; i.e., the breakpoint is set at the closing brace of the function. 5. AFTER LOADMA::PROC_A: sets an after module breakpoint in external function PROC_A in load module LOADMA, whereas, AFTER LOADMB::PROC_A: sets an after module breakpoint in external function PROC_A of load module LOADMB. 6. Placing an after breakpoint on a function which has been inlined may be ineffective. Although the closing brace (}) typically represents the epilog code for a function, this code does not exist when the compiler inlines the function. Examples COBOL 1. To stop after statements 45, 49, 51, 52, and 53 in the current module and after the paragraph DETERMINE-TYPE in module TRITST, enter: AFTER 45 49 51 THRU 53 TRITST:DETERMINE-TYPE 2. To stop after the paragraph DETERMINE-TYPE in the module TRITST, when TRITST is contained in more than one load module, you must qualify the module with the load module if it is not the current one. For example: AFTER TRISUB::TRITST:DETERMINE-TYPE 3. To stop after all GOBACK statements in a nested program, enter: AFTER NESTSUB: PL/I 1. A series of breakpoints can be specified by delimiting each entry with one blank space and qualifying module names and procedure names with colons. For example, to stop after statements 30, 32, 36, 37, and 38 in the current module and after procedure VALIDATE_TRIANGLE: in module TRITSTP, enter: AFTER 30 32 36 THRU 38 TRITSTP:VALIDATE_TRIANGLE: 2. From the current module TRIMAINP, to stop after the procedure DETERMINE_TYPE: in the module TRITSTP, enter: AFTER TRITSTP:DETERMINE_TYPE: 3. To stop after the procedure DETERMINE_TYPE: in the module TRITSTP, when TRITSTP is contained in more than one load module, you must qualify the module with load module if it is not the current one. For example: AFTER TRISUB::TRITSTP:DETERMINE_TYPE: 4. To stop after module TRIRPTP, enter: AFTER TRIRPTP: 5. To remove all after breakpoints in the currently qualified module, enter: DELETE AFTER Assembler XPEDITER/TSO Commands (AA SNAP - COVER) 2-7 1. To stop after the 24-bit address pointed to by the address contained in register 6 (indirect addressing), enter: AFTER R6% 2. To stop after the GOBACK label in module TRIRPTA, enter: AFTER TRIRPTA:GOBACK 3. To stop after the GOBACK label in module TRIRPTA, when TRIRPTA is contained in more than one load module, you must qualify the module with the load module if it is not the current one. For example: AFTER TRISUBA::TRIRPTA:GOBACK 4. To remove all after breakpoints in the current module, enter: DELETE AFTER 5. To stop after offset 0E from the label AGAIN (relative addressing), enter: AFTER AGAIN+0E C Language 1. A series of breakpoints can be specified by delimiting each entry with one blank space and qualifying module names and function names with colons. For example, to stop after lines 30, 32, 36, 37, and 38 in the current module and after function VALIDATE_TRIANGLE: in module TRITSTC, enter the following: AFTER 30 32 36 THRU 38 TRITSTC:VALIDATE_TRIANGLE: 2. From the current module TRIMAINC, to stop after the function DETERMINE_TYPE: in the module TRITSTC, enter the following: AFTER TRITSTC:DETERMINE_TYPE: 3. To stop after the function DETERMINE_TYPE: in the module TRITSTC, when TRITSTC is contained in more than one load module, you must qualify the module with the load module if it is not the current one. For example: AFTER TRISUB::TRITSTC:DETERMINE_TYPE: 4. To stop after module TRIRPTC, enter the following: AFTER TRIRPTC: 5. To remove all after breakpoints in the currently qualified module, enter the following: DELETE AFTER ALLOCATE COBOL PL/I Assembler C Language Description The ALLOCATE command dynamically accesses the file allocation utility (FAU) from the debugging session. When XPEDITER/TSO detects missing files, you can enter the 2-8 XPEDITER/TSO and XPEDITER/IMS Reference Manual ALLOCATE command to transfer control to the FAU, allocate the missing files, and then return directly to the Source screen. ALLOCATE is only valid with ISPF support. Input ALLOCATE ALLOC dsname The parameter description for the ALLOCATE command is: dsname The dataset name of an existing file allocation list. ALLOCATE dsname automatically accesses the named dataset. If the dataset contains a file list and the allocations are successful, you will not see any FAU facilities. If the dataset contains JCL, the FAU is accessed and the JCL dataset is displayed on the Select DDNAME screen. On this screen, you can select the DD statements to be copied to the file list. Usage Notes ALL Languages 1. If an error occurs during allocation, the Edit File List screen is displayed with an error message. Correct the problem and enter END to allocate the files. 2. A screen similar to the one illustrated in Figure 2-1 is displayed when you enter the ALLOCATE command from the Source screen. See the XPEDITER/TSO and XPEDITER/IMS User’s Guide for detailed information about the file allocation utility. Figure 2-1. The EDIT File List 1 Screen Profile: 2 ------------- XPEDITER/TSO - EDIT FILE LIST 1 ----------- Empty Table COMMAND ===> SCROLL ===> CSR UP, DOWN, LEFT, and RIGHT Scrolling Available Line Commands: Primary Commands: D (Delete) S (Select detail) CANcel (Quit without saving) I (Insert) BR (Browse dataset) COPY (Copy JCL or File List) R (Repeat) ED (Edit dataset) SAVE (Save and continue) END (Allocate, Save, and End) ----------------------- DSNAME ----------------------- DISP DDNAME DUMMY, TEMP, TERM, SYSOUT, *, OR A DATASET NAME STAT -------------------------------------------------------------------------------’’’’’’ ’’’’’’ ’’’’’’ ’’’’’’ ’’’’’’ ’’’’’’ ’’’’’’ ’’’’’’ ’’’’’’ Assembler XPEDITER/TSO Commands (AA SNAP - COVER) 2-9 1. XPEDITER/TSO does not intercept I/Os for Assembler programs. If a file was not preallocated during the test session, XPEDITER/TSO does not suspend execution or issue a warning message. Instead, you receive the following system message if TSO PROFILE WTPMSG is turned on. IEC130I XXXXXXXX DD STATEMENT MISSING 2. If input files were allocated to the terminal, XPEDITER/TSO does not prompt you with the following message: *** ENTER INPUT RECORD OR /* (AT END) FOR DDNAME XXXXXXXX *** Input data is accepted from the primary command line. AT COBOL PL/I Assembler C Language Description The AT command sets a before breakpoint on a sourceless main program or subprogram (COBOL and Assembler) or a main or fetched procedure (PL/I). This command lets you test and debug programs that do not have a source listing available, such as old modules and third party packages. The AT command can be entered from the Source, Log, Memory, and Show screens. The AT command is not valid in an unattended batch test. Input AT location The parameter description for the AT command is: location A place where breakpoints can be set or deleted. See “Common Parameters” on page xviii for details about location. Usage Notes ALL Languages 1. When the AT breakpoint is reached, the AT Display screen shows your program in dump format. Reissue the AT command to set additional breakpoints. a. Use the DELETE command to remove specific breakpoints. b. The AT command can be entered in an initial or post test script. COBOL 1. You cannot use the REVERSE command when stopped at an AT breakpoint. 2-10 XPEDITER/TSO and XPEDITER/IMS Reference Manual Examples ALL Languages 1. To set a breakpoint at CSECT SAMPLE, enter the following: AT SAMPLE: 2. To remove a breakpoint at offset +3e in CSECT SAMPLE, enter the following: DELETE AT SAMPLE:+3e 3. To set a breakpoint at offset +60 in the subprogram TRITSTA, enter the following: AT TRITSTA:+60 4. To remove a breakpoint at address 45a09e8, enter the following: DELETE AT 45a09e8 BEFORE COBOL PL/I Assembler C Language Description The BEFORE command sets a breakpoint to pause before execution of an instruction. The breakpoint is indicated by a B in column 9 on the Source screen. If the line command area is expanded for 31-bit mode addressing, the breakpoint indicator is displayed in column 11 on the Source screen. Before breakpoints are automatically set at the PROCEDURE DIVISION (COBOL), each external function definition (C language), or PROCEDURE (PL/I), and at one or more ENTRY statements in the main program before a debugging session starts. These automatic before breakpoints are interpreted as before module breakpoints. All other before breakpoints are interpreted as before statement breakpoints. When the before breakpoint is encountered, XPEDITER/TSO temporarily suspends execution of your program, issues a message, and returns control to you at the terminal. Use the GO command when you are ready to resume execution. In an unattended batch test, a record of the BEFORE command is written to the log, but execution is not suspended. Input BEFORE BEF B location BEFORE Line Command Syntax B BB Set a before breakpoint on a line Set before breakpoints on a block of lines The parameter description for the BEFORE command is: XPEDITER/TSO Commands (AA SNAP - COVER) 2-11 location A place where breakpoints can be set or deleted. Valid locations are: statementnumber, paragraph-name, ALL STATE, ALL PARA, ALL FUNC, or ALL PROG. You can specify a list separated by spaces or commas, or by a range; e.g., statement-number THRU statement-number. THRU is a required keyword when a range is specified. For additional information on these parameters, refer to “Notation Rules” on page xvii. If the primary command line is too small to list breakpoints or to stack commands, use the SET CMDSIZE command to expand the command line up to three lines. Usage Notes ALL Languages 1. Qualification must be used with the BEFORE command when applicable. Refer to “Command Qualification Rules” on page 1-4. 2. The DELETE command or DB line command is used to remove a before breakpoint. 3. The use of ALL and its keywords sets before breakpoints in the qualified module. BEFORE ALL with no object keyword defaults to BEFORE ALL STATE. In COBOL, BEFORE ALL PROG sets the before module breakpoint at every PROCEDURE DIVISION and ENTRY statement in the current source. In PL/I, BEFORE ALL PROC sets the before module breakpoint at every procedure within the current external procedure. In C language, BEFORE ALL FUNC sets a before module breakpoint at every function within the current, qualified program. 4. When a before breakpoint is encountered, an execution arrow (=====>) is displayed and the line is highlighted. 5. When a before breakpoint is encountered, all currently kept lines (see “KEEP” on page 5-14) are updated before control is returned to the terminal. Also, the Keep window automatically displays the variables on the current line. 6. When a before breakpoint is set, a message reports the number of primary and line commands successfully completed. However, if an error is encountered, the message is not displayed until after the error is corrected. 7. The before breakpoint can be set with any or all of the other breakpoint commands except the SKIP command. When a before breakpoint is set on a line that contains a skip, the S (Skip) is removed and replaced with a B (Before). 8. When you enter before and after breakpoints on the same statement to pause before and after the execution of a section of program code, an @ appears in column 9 as an indicator. COBOL 1. XPEDITER/TSO interprets each before breakpoint as follows: – Before a statement means XPEDITER/TSO pauses before execution of the statement for which the breakpoint is set. Often, the next logical statement to be executed is not the next physical statement in the source program. COBOL verbs such as IF, PERFORM, READ, and GO alter the flow of execution. – Before a paragraph means the breakpoint is set directly preceding execution of the first statement in the paragraph. – Before a module means one or more before breakpoints is set at the PROCEDURE DIVISION statement and every entry point in the specified program. The breakpoint is set after addressability (to any passed parameters) has been established. The Linkage Section items of the called module can be displayed or modified. 2-12 XPEDITER/TSO and XPEDITER/IMS Reference Manual 2. A series of breakpoints can be specified by delimiting each entry with one blank space and qualifying module names with colons. For example, entering: BEFORE 36 TRITST: TRIRPT:WRITE-DTLS sets a before breakpoint at statement 36 in the current TRIMAIN program, another before breakpoint at the PROCEDURE DIVISION statement in module TRITST, and another one at the paragraph WRITE-DTLS in the module TRIRPT. PL/I 1. Before breakpoints can be set only on code lines, not data lines. 2. XPEDITER/TSO sets the breakpoint on the first code statement on the line. Breakpoints cannot be set at other statements on the same line. Use a GO 1 to stop at every statement on a line. 3. BEFORE PROC_A: (with colon qualification) sets a before module breakpoint at procedure PROC_A; i.e., the breakpoint is set at the PROC statement and one or more ENTRY statements in PROC_A. BEFORE PROC_A (without colon) sets a before breakpoint at label PROC_A in the currently qualified module (external procedure). 4. BEFORE LOADMA::PROC_A: sets a before module breakpoint in external procedure PROC_A in load module LOADMA, whereas, BEFORE LOADMB::PROC_A: sets a before module breakpoint in external procedure PROC_A of load module LOADMB. Assembler 1. When an Assembler program is loaded at the start of a test session, a default before CSECT breakpoint is placed at the link-edited entry or at all unique CSECTs containing code. 2. B (Before) line commands entered on lines containing the CSECT or START directive are interpreted as before CSECT breakpoints. B (Before) line commands entered on lines containing the L R13, 4(R13) instruction followed by the BR R14 instruction are interpreted as after CSECT breakpoints. The RETURN macro, the CEETERM macro, and the PR Assembler instruction are also interpreted as after CSECT breakpoints. All other B line commands are interpreted as before statement breakpoints. 3. If a breakpoint is set within an unexpanded macro (not on the first or last line), a dollar sign ($) appears in column 9 to indicate a breakpoint. The macro is expanded for viewing when execution reaches the breakpoint. 4. Relative addressing (+/- calculation factor) and indirect addressing (Rn%/Rn?) are supported with the BEFORE command. 5. The B line command is valid on any Assembler instruction except the object of an EX instruction. 6. The B line command cannot be entered on the same line at the same time with any other line commands except A. C Language 1. Breakpoints cannot be set on lines containing only data declarations. 2. XPEDITER/TSO sets the breakpoint on the first code statement on the line. Breakpoints cannot be set at other statements on the same line. 3. BEFORE PROC_A: (with colon qualification) sets a before module breakpoint at function PROC_A; i.e., the breakpoint is set at the offset of the first code statement in function PROC_A. BEFORE PROC_A (without colon) sets a before breakpoint at label PROC_A in the currently qualified module. XPEDITER/TSO Commands (AA SNAP - COVER) 2-13 4. BEFORE LOADMA::PROC_A: sets a before module breakpoint in external function PROC_A in load module LOADMA, whereas, BEFORE LOADMB::PROC_A: sets a before module breakpoint in external function PROC_A of load module LOADMB. Examples COBOL 1. To stop before statements 45, 49, 51, 52, and 53 in the current module, enter the following: BEFORE 45 49 51 THRU 53 2. To stop before the paragraph DETERMINE-TYPE in the module TRISUB, enter the following: BEFORE TRISUB:DETERMINE-TYPE 3. To set a before breakpoint on all statements in a nested program, enter the following: BEFORE NESTSUB:ALL Assembler 1. To stop before offset +21C+E in the current module (relative addressing), enter: BEFORE +21C+E 2. To stop before CSECT label TRICSECT in the current module, enter: BEFORE TRICSECT 3. To stop before label VALIDATE in module TRITSTA, enter: BEFORE TRITSTA:VALIDATE PL/I 1. From the current module TRIMAINP, to stop before the procedure DETERMINE_TYPE: in the module TRITSTP, enter the following: BEFORE TRITSTP:DETERMINE_TYPE: 2. To stop before the procedure DETERMINE_TYPE: in the module TRITSTP, when TRITSTP is contained in more than one load module, you must qualify the module with the load module if it is not the current one. For example: BEFORE TRISUB::TRITSTP:DETERMINE_TYPE: 3. To remove all before breakpoints in the current module, enter: DELETE BEFORE C Language 1. From the current module TRIMAINC, to stop before the function DETERMINE_TYPE:, in the module TRITSTC, enter the following: BEFORE TRITSTC:DETERMINE_TYPE: 2. To stop before the function DETERMINE_TYPE: in the module TRITSTC, when TRITSTC is contained in more than one load module, you must qualify the module 2-14 XPEDITER/TSO and XPEDITER/IMS Reference Manual with the load module if it is not the current one. For example, you may enter the following: BEFORE TRISUB::TRITSTC:DETERMINE_TYPE: 3. To remove all before breakpoints in the current module, enter: DELETE BEFORE BOTTOM COBOL PL/I Assembler C Language Description The BOTTOM command scrolls to the end of the data currently displayed on the screen. XPEDITER/TSO displays the last available line of data as the second to last line in the data area. A *** BOTTOM OF MODULE *** indicator appears in the last line of the data area. This command is the same as the DOWN MAX command. See “DOWN” on page 3-6 for information on the DOWN command. Input BOTTOM BOT BROWSE COBOL PL/I Assembler C Language Description The BROWSE command displays sequential and PDS files or datasets. Browse is not valid in an unattended batch test. Input BROWSE BRO ddname 'dsname' The parameter descriptions for the BROWSE command are: ddname The name of a preallocated file. The file must be sequential or a PDS member, and either fixed or variable blocked. 'dsname' A fully qualified dataset name enclosed in single quotation marks. XPEDITER/TSO uses the initial quote to distinguish it from a ddname. XPEDITER/TSO Commands (AA SNAP - COVER) 2-15 Usage Notes ALL Languages 1. The BROWSE command cannot be used to view an open output file. 2. The BROWSE command can be used to view the contents of sequential and partitioned datasets. If the dataset is partitioned, the PDS member must be supplied. If the ddname option is used, temporary or VIO files can be browsed. 3. XPEDITER/TSO supports both fixed and variable length record formats. The dataset can be any LRECL or BLKSIZE. 4. XPEDITER/TSO does not support browsing of SYSOUT, TERM, VSAM, BDAM, or ISAM datasets or DB2, IDMS, or IMS databases. 5. If a ddname is specified, it must be preallocated. A browse on a ddname in a concatenated file is not allowed. 6. All XPEDITER/TSO commands are valid from the Browse command line. The FIND and LOCATE commands apply to the browsed dataset while the browse function is active. 7. The browse function is terminated by any one of the following commands: END LOCATE * SOURCE Examples ALL Languages 1. To browse a dataset named TESTCAS1.DATA, enter the following on the command line: BROWSE 'TESTCAS1.DATA' 2. To browse a file allocated to the ddname OUTFILE, enter the following on the command line: BROWSE OUTFILE CCHILITE COBOL PL/I* Assembler * Code Coverage does not currently support VisualAge PL/I programs. However, highlighting will be in effect for any non-VA PL/I programs involved in the Code Coverage test. Description The CCHILITE command is only valid when XPEDITER/Code Coverage is active for the test. It provides a visual aid via annotation and a high-intensity background to indicate which lines have or have not been executed. This highlighting can apply to either the executed or the unexecuted lines of code. In some programming languages (such as 2-16 XPEDITER/TSO and XPEDITER/IMS Reference Manual COBOL), a statement may occupy more than one source line. Only the executable portion will be highlighted/annotated. The easiest way to determine if a line could be highlighted is to attempt to place a breakpoint on that line. If you can’t, it isn’t executable and is not able to be highlighted/annotated. CCHILITE will only apply to source which is being Code Covered and is not optimized. (Optimization causes the results to appear confusing and is therefore not supported.) Please note that when the Branch Coverage feature of Code Coverage is enabled, a conditional statement will only be considered executed if both of its paths have been executed. Input CCHILITE option The valid options are described below: ON Highlighting is based only on the current execution data. All unexecuted verbs will be highlighted and annotated with the letter U. Executed verbs will be annotated with the letter E, but not highlighted. This will affect all current modules for which there is source at the time CCHILITE is issued. OFF Turns off all Code Coverage highlighting. TOGGLE The current setting for highlighting, and the corresponding annotation, will be reversed. If unexecuted verbs had been highlighted and annotated with the letter U (so executed verbs were lowlighted and annotated with the letter E), then after the CCHILITE TOGGLE command is issued, all executed verbs will be highlighted and annotated with the letter E (so unexecuted verbs will be lowlighted and annotated with the letter U). Note that TOGGLE cannot be issued until highlighting is activated. REP Indicates a request to highlight based on prior XPEDITER/Code Coverage data stored in the Repository being used for this test. The REP option of CCHILITE requires a Repository created with XPEDITER/Code Coverage 2.0 or greater. A selection panel similar to that shown in Figure 2-2 is displayed. You can type in search arguments or blank out a field to indicate that it should not participate in selection (so all values for that field are considered matches). XPEDITER/TSO Commands (AA SNAP - COVER) 2-17 Figure 2-2. Repository Record Selection Screen #1 ------------------------- REPOSITORY RECORD SELECTION ------------------------COMMAND ===> SCROLL ===> CSR PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 01/22/1999 COMP TIME:14:59:51 ------------------------------------------------------------ Before TRIMAIN -REPOSITORY: 'PFHABC0.CC20.REPOSIT' TYPE: C SELECTION CRITERIA: SYSTEM==> CCHILITE TEST TESTID==> TEST HELP USERID==> PFHABC0 Press ENTER to process or enter END command to terminate The SYSTEM name, TESTID, and USERID are initialized to the values from the current test. You can change them or blank them out on the Repository Record Selection screen as shown in Figure 2-2. Upon pressing Enter, the Repository is searched for records that match your search criteria. (The PROGRAM, MODULE, COMPILE DATE, and COMPILE TIME are taken from the current source and cannot be changed). The records that match (if any) are returned in a display similar to the one shown in Figure 2-3. Figure 2-3. Repository Record Selection Screen #2 ------------------------- REPOSITORY RECORD SELECTION ------------------------COMMAND ===> SCROLL ===> CSR PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 01/22/1999 COMP TIME:14:59:51 ------------------------------------------------------------ Before TRIMAIN -REPOSITORY: 'PFHABC0.CC20.REPOSIT' TYPE: C TOP ENTRY: 1 MATCHING ENTRIES: 2 - SYSTEM NAME _ CCHILITE TEST _ CCHILITE TEST *** end of selection *** --- TEST ID --TEST HELP TEST HELP USER ID PFHABC0 PFHABC0 DEBUG N Y Press ENTER to process or enter END command to terminate From this screen (Figure 2-3), you may select the Repository records that are to be used to apply the highlighting/annotation. This will affect the currently displayed Source Module. (All other modules for which there is source at the time CCHILITE is issued will be treated as though CCHILITE ON had been issued.) Note: When highlighting is active, the source display will contain indicators in the title bar. 2-18 XPEDITER/TSO and XPEDITER/IMS Reference Manual For an example of active highlighting, refer to the screen shown in Figure 2-4. Figure 2-4. XPEDITER/TSO Code Coverage Source Display Screen MODE:CODECOVER------UHR-- XPEDITER/TSO - SOURCE ------------------------------COMMAND ===> SCROLL ===> CSR PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 01/22/1999 COMP TIME:15:46:00 -------------------------------------------------------- Before TRIMAIN =====> B PROCEDURE DIVISION USING PARM-INFO. 000039 E MAIN-PARA. 000040 E PERFORM INIT-PARA. 000041 U PERFORM ANALYZE-NEXT-REC 000042 UNTIL OUT-OF-RECS = 'Y'. 000043 U PERFORM ENDING-PARA. 000044 A GOBACK. 000045 E INIT-PARA. 000046 E MOVE ZERO TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4). 000047 E OPEN INPUT INFILE. 000048 E MOVE 'N' TO OUT-OF-RECS. In the preceding example shown in Figure 2-4, the title line indicates that the mode is CODECOVER. This is followed by up to 3 indicator bytes. The first is U (if Unexecuted lines are highlighted), or E (if Executed lines are highlighted). This indicator will not be displayed if the source is from an optimized program. The second is H (to indicate that CCHILITE is on). The third is R if Repository data has been used to apply the highlighting/annotation for the displayed source. CONNECT COBOL PL/I Assembler C Language Description The CONNECT command connects a VTAM terminal to a job submitted through XPEDITER/TSO’s Batch Connect facility. This command lets you monitor a complete job with multiple steps or a single step job that is not yet ready to be attached. Use the DISCONNECT command to disconnect the VTAM terminal from the batch job. Note: The CONNECT command can be entered on any screen except the Source screen and any screen accessed from the source (Memory, Browse, Log). Input CONNECT nodename NODE jobname (jobid) (jobid) The parameter descriptions for the CONNECT command are: nodename The node name associated with the APPLID of the batch job. NODE Required keyword following the node name. XPEDITER/TSO Commands (AA SNAP - COVER) 2-19 jobname The name of the job to connect to. If jobid is also specified, it must be contained within parentheses. (jobid) The ID of the job to connect to. The jobid must be contained within parentheses. Usage Notes ALL Languages 1. If the CONNECT command is entered with no parameters, you will connect to the next available job that is ready for connection. 2. When a nodename is entered, a single attempt is made to connect to the named node. (NODE is required.) If the attempt fails or the connection is broken, the command is terminated. 3. When a jobname is entered without a jobid, all jobs with the specified name are searched. If there is only one active job with the specified name, a connection is made. If there is more than one active job with that name, no connection is made and the command is terminated. 4. When a jobname is entered with a jobid, the specific job is connected if that job is currently executing or waiting to be executed. The jobid must be contained within parentheses. 5. When a jobid is specified, the specific job is connected if that job is currently executing or waiting to be executed. Again, the jobid must be contained within parentheses. COUNT COBOL PL/I Assembler C Language Description The COUNT command monitors program execution and reports the number of times a specified statement or range of statements has been executed. You can also set a condition to pause execution when the execution count reaches the specified limit. The count is indicated by a 7-digit counter starting in column 74 on the Source screen. Input COUNT COU C location MAX n COUNT Line Command Syntax C CC Set a count breakpoint on a line Set count breakpoints on a block of lines The parameter descriptions for the COUNT command are: 2-20 XPEDITER/TSO and XPEDITER/IMS Reference Manual location A place where breakpoints can be set or deleted. Valid locations are: statement number, paragraph name, ALL STATE, ALL PARA, ALL FUNC, or ALL PROG. You can specify a list separated by spaces or commas, or specify a range; e.g., statementnumber THRU statement-number. THRU is a required keyword when a range is specified. For additional information on these parameters, refer to “Notation Rules” on page xvii. MAX n Sets a limit on the number of times a statement can be executed, where n is a positive integer. Usage Notes ALL Languages 1. Use the DELETE command or DC line command to remove the counter. 2. The use of ALL and its keywords sets count breakpoints in the qualified module. 3. The counter field can be typed over to set a limit. Enter a COUNT command on an instruction, type over the counter with a positive integer, and press Enter. XPEDITER/TSO accepts the value, displays the current count, and suspends execution when the execution count reaches the limit. To exceed the limit, type over the displayed value with a positive integer greater than the current count and press Enter. XPEDITER/TSO accepts the new value and redisplays the current count. To turn off the new value without resetting the count breakpoint, type over the displayed count with zeros. The current count will be redisplayed, but the maximum value will be eliminated. 4. When a maximum count limit is reached in batch mode testing, the kept variables are updated in the log. Execution resumes following the log update as if the COUNT command had been reset. 5. The qualification syntax is valid with the COUNT command and should be used when applicable. Refer to “Command Qualification Rules” on page 1-4. 6. The SHOW COUNTS command enters a record in the log of all counted lines for the module. 7. A counter is effective with any or all other breakpoint commands. 8. When a count breakpoint is set, a message reports the number of primary and line commands successfully completed. However, if an error is encountered, the message is not displayed until after the error is corrected. 9. A breakpoint is set if the program attempts to exceed the predetermined limit set by the MAX keyword. A new COUNT MAX command must be issued to raise the limit. Note: COBOL The MAX keyword is not valid in review mode. 1. Inline PERFORMs: When running a COBOL program which contains PERFORM VARYING or PERFORM UNTIL, the results displayed by the COUNT command may appear incorrect. The execution and initialization of these statements generates a path through the COBOL code that reflects the Assembler code behind the COBOL program. On occasion, this path will appear to contradict what might normally be expected. Be aware that the counts on the beginning and ending statements of inline XPEDITER/TSO Commands (AA SNAP - COVER) 2-21 PERFORMs are subject to these compiler paths. The focus of the COUNT command output should be the execution counts for all statements between the PERFORM and the END-PERFORM. PL/I C Language 1. Counts can be set only on code lines, not data lines. 2. XPEDITER/TSO sets the count on the first code statement on the line. Counts cannot be set at other statements on the same line. Assembler 1. A count breakpoint set on an unexpanded macro is incremented each time the first instruction in the macro is executed. 2. COUNT module-name is not valid. 3. Relative addressing (+/- calculation factor) and indirect addressing (Rn%/Rn?) are supported with the COUNT command. 4. The C line command is valid on any type of Assembler instruction except the object of an EX instruction. 5. The C line command cannot be entered on the same line at the same time with any other line commands. Examples ALL Languages 1. To maintain counts for certain statements, enter: COUNT 42 54 56 2. To maintain counts for all statements in a range, enter the following on the command line: COUNT 45 THRU 53 3. To maintain counts for all statements in the current module/procedure, enter the following on the command line: COUNT ALL STATE 4. To maintain a count of statement 78 to a maximum of 5 executions, enter: COUNT 78 MAX 5;GO COBOL 1. To count all paragraphs in a nested program, enter the following on the command line: COUNT NESTSUB:ALL PARA Assembler 1. To maintain counts for all labels in the current module, enter: COUNT ALL LABELS 2. To maintain counts for label AGAIN in module TRIMAINA, enter: COUNT TRIMAINA:AGAIN 2-22 XPEDITER/TSO and XPEDITER/IMS Reference Manual 3. To count how often the specified address is executed, enter: COUNT 06AE2 PL/I 1. To maintain a count for the procedure ANALYZE_NEXT_REC:, enter the following on the command line: COUNT ANALYZE_NEXT_REC: C Language 1. To maintain a count for the function analyze_next_rec, enter the following on the command line: COUNT analyze_next_rec COVER COBOL PL/I* Assembler * Code Coverage does not currently support VisualAge PL/I programs. However, statistics will be collected on any non-VA PL/I programs involved in the Code Coverage test. Description The COVER command is used in the input command stream (XPIN DD) to activate Code Coverage for the current test. It is also used to denote a System Name with which to associate all Code Coverage results recorded during an execution. Input COVER system name test ID The parameter description for the COVER command is: system name A 15-character field used as a “grouping” tag associated with the Code Coverage results produced during this run. The name may contain embedded blanks, but cannot be entirely blank. test ID A 15-character field used as a secondary “grouping” tag associated with the Code Coverage results produced during this run. The name may contain embedded blanks, but cannot be entirely blank. Usage Notes ALL Languages Except C and VisualAge PL/I 1. Code Coverage is activated by entering a Y (Yes) in the Code Coverage Test? field on the ISPF test panel. This will result in the COVER command being placed in the XPIN dataset. XPEDITER/TSO Commands (AA SNAP - COVER) 2-23 2. The COVER command should be placed after the XPED command, but before any breakpoint commands. 3. If multiple COVER commands are issued, the System Name/Test ID on the last command is used. 4. The COVER command and all associated parameters are recorded in the log. Examples ALL Languages Except C and VisualAge PL/I 1. To associate Code Coverage statistics with a January PAYROLL notation, enter: COVER PAYROLL JANUARY 2. To associate Code Coverage statistics with a department, enter: COVER DEPARTMENT 27 2-24 XPEDITER/TSO and XPEDITER/IMS Reference Manual 3-1 Chapter 3. XPEDITER/TSO Commands (DELETE - EXIT) DELETE COBOL PL/I Assembler C ha p 3 C Language Description The DELETE command turns off the effect of other XPEDITER/TSO commands. Usage differs for interactive and unattended batch tests. In an interactive test, the DELETE command without a command keyword removes all pending line commands. You must enter a keyword to delete a specific command. In an unattended batch test, you cannot use the DELETE command without a command keyword. A record of the command is written to the log. 3-2 XPEDITER/TSO and XPEDITER/IMS Reference Manual Input DELETE DEL D ALL AFTer location AT location BEFore location COUnt location EXCLude statement-number GEN statement-number INSert INTercept program-name module-name Keep data CSR MONitor module-name ALL NOLines Peek data CSR Skip location TRAce location VERIFY location WHEN data conditional-expression DELETE Line Command Syntax D D D D D D: DA DB DC DD DE DG DH DS DT DV Delete all breakpoints on the line Delete the displayed value on a line Remove an inserted line Delete the line from the Keep window Reshow all the excluded lines on an excluded range of lines Enable left and right scrolling on a frozen line Delete the after breakpoint on a line Delete the before breakpoint on a line Delete the count breakpoint on a line Delete all commands and breakpoints on a block of lines Delete the display of elementary values (COBOL and PL/I only) Collapse the macro on a line (COBOL and Assembler only) Delete the values displayed in hexadecimal format Delete a skip on a line Delete the column template displayed above a field or the trace breakpoint on an instruction Delete the verified field (Assembler only) The parameter descriptions for the DELETE command are: XPEDITER/TSO Commands (DELETE - EXIT) 3-3 ALL A keyword that turns off all breakpoints and commands in a module. location A place where breakpoints are deleted. Valid locations on breakpoints set by the AFTER, BEFORE, COUNT, SKIP, TRACE, and VERIFY (Assembler only) commands for each language are described in “Common Parameters” on page xviii. You can specify a list separated by spaces or commas, or by a range; e.g., statementnumber THRU statement-number. THRU is a required keyword when a range is specified. For additional information on these parameters, refer to “Notation Rules” on page xvii. statement-number A valid statement number. You can specify a list of statements separated by spaces or commas, or by a range; e.g., statement-number THRU statement-number. THRU is a required keyword when a range is specified. program-name The COBOL module or subroutine name. In PL/I or C language, the load module name or any control section (CSECT) name in the program. data A data name, data-item, variable, data-label, or register (Rn). CSR The cursor. Deletes a data-item or variable where the cursor is positioned. module-name The COBOL or Assembler module being monitored. The name must be followed by a colon (:). In COBOL, the DELETE MONITOR ALL command deletes the monitoring of all modules. conditional-expression Any valid expression supported by XPEDITER/TSO that compares the relationship of two items, such as less than or not equal. Usage Notes ALL Languages 1. When you remove all breakpoints (including the default breakpoints) and execute a program, XPEDITER/TSO displays the log and issues the message TEST COMPLETED. 2. When using the DELETE command, qualification must be used when applicable. Refer to “Command Qualification Rules” on page 1-4 for information. DLEFT COBOL PL/I Assembler C Language Description The DLEFT command scrolls the data in a Keep or Peek window to the left by the specified scroll amount. DLEFT is a convenient way to scroll data instead of source while the cursor is positioned on the command line. 3-4 XPEDITER/TSO and XPEDITER/IMS Reference Manual DLEFT is not valid in an unattended batch test. Input DLEFT n Data Half Max Page DLEFT Line Command Syntax ) )n )) ))n Scroll Scroll Scroll Scroll a a a a line of displayed data one column to the left line of displayed data n columns to the left block of displayed data lines to the left block of displayed data lines n columns to the left The parameter descriptions for the DLEFT command are: n The number of columns to be scrolled. The value can be 1 to 9999. Data Scrolls 29 or 79 bytes, depending on screen size. Half Scrolls by a half page. Max Scrolls completely to the left, so that column one of the data is shown. Page Scrolls by one page, 30 or 80 bytes, depending on screen size. Usage Notes ALL Languages 1. If the DLEFT command is entered without an operand, the value in the scroll amount field is used. The contents of the scroll amount field can be changed by typing over the displayed value. Any value other than Max is remembered until it is changed again. 2. You can use PF22 and PF23 to scroll the data display field left and right, respectively. 3. Use the LEFT command to scroll the source to the left. 4. The line commands cannot be used to scroll source lines. They only scroll displayed data either in a Keep window or on the source screen. 5. If the scroll amount is not specified as part of the line command, the value of 1 is used. 6. The DLEFT command is usually assigned to PF22. XPEDITER/TSO Commands (DELETE - EXIT) 3-5 DLI COBOL PL/I Assembler C Language Description The DLI command, in the IMS/DB and IMS/DC environments, issues calls to IMS using the standard IBM CBLTDLI (COBOL), ASMTDLI (Assembler), or Data Language One (DL/I, for PL/I only) interface. This command can be used to dynamically invoke IMS DB/DC functions that would normally be coded as CBLTDLI (COBOL), ASMTDLI (Assembler), or DL/I (PL/I) calls in the application program. Input DLI function-code PCB-n IOPCB ALTPCB-n dbdname-n parameters The parameter descriptions for the DLI command are: function-code One of the following codes: CHKP CHNG DLET GN GU GHN GHU ISRT PURG REPL ROLB SYNC PCB-n Program communication block, where n is an integer. IOPCB I/O program communication block. ALTPCB-n Alternate IOPCB, where n is an integer. dbdname-n Database descriptor name, where n is an integer. parameters Any of the CBLTDLI (COBOL), ASMTDLI (Assembler), or DL/I (PL/I) parameters. Usage Notes ALL Languages 1. If PCB-n is specified, XPEDITER/TSO uses the value to identify the nth database PCB in the list of PCBs normally passed to the main program as defined by the application program specification block (PSB). 2. If IOPCB is specified, XPEDITER/TSO uses the message queue PCB. 3. ALTPCB and ALTPCB-1 are equivalent. 3-6 XPEDITER/TSO and XPEDITER/IMS Reference Manual 4. If dbdname-n is specified, XPEDITER/TSO searches the current list of PCBs for the nth occurrence of the dbdname to be assigned to the identifier. The -n suffix is not required for the first occurrence of a database in the PSB. 5. XPEDITER/TSO constructs a CBLTDLI (COBOL), ASMTDLI (Assembler), or DL/I (PL/I) parameter list using the function code, the database or message queue PCB, and any additional parameters specified with the command. XPEDITER/TSO does not check to see if the resulting parameter list is semantically correct, but passes your request directly to IMS. The return code from IMS is displayed in the message area when the command has been executed. 6. XPEDITER/TSO supports the basic CHKP, but does not support the symbolic CHKP call. Examples ALL Languages 1. To get the next record from the database, enter the following on the command line: DLI GN INVDB1 SEG_AREA 2. To get the next message for this transaction code, enter the following on the command line: DLI GU IOPCB IO_MSG_AREA 3. To roll back the databases updated during the session, enter the following on the command line: DLI ROLB IOPCB 4. To perform a basic CHKP, enter the following on the command line: DLI CHKP IOPCB IO_AREA 5. To perform a SYNC call in a batch-oriented BMP, enter the following on the command line: DLI SYNC IOPCB DOWN COBOL PL/I Assembler C Language Description The DOWN command scrolls toward the end of your file or screen display. Scrolling down rolls the displayed lines upward, bringing the next section of the file into view. DOWN is not valid in an unattended batch test. XPEDITER/TSO Commands (DELETE - EXIT) 3-7 Input DOWN n Csr Data Half Max Page The parameter descriptions for the DOWN command are: n A number from 1 to 9999 that specifies the number of lines to be scrolled. Csr Scrolls based on the current position of the cursor. The line indicated by the cursor is moved to the top of the screen. If the cursor is not in the body of the data, or if it is already positioned at the top, a full page scroll occurs. Data Scrolls by one logical page less one line. That is, the last line of the previous screen is presented as the first line of the newly displayed screen. Half Scrolls by a half page. Max Scrolls to the bottom of the file so that the last full page is displayed. Page Scrolls by one full screen. Usage Notes ALL Languages 1. If the DOWN command is entered without an operand, the value in the scroll amount field is used. The contents of the scroll amount field can be changed by typing over the displayed value. Any value other than Max is remembered until it is changed again. 2. DOWN is usually assigned to PF8/20. DRIGHT COBOL PL/I Assembler C Language Description The DRIGHT command scrolls the data in the Keep or Peek window to the right by the specified scroll amount. DRIGHT is a convenient way to scroll data instead of source while the cursor is positioned on the command line. 3-8 XPEDITER/TSO and XPEDITER/IMS Reference Manual DRIGHT is not valid in an unattended batch test. Input DRIGHT n Data Half Max Page DRIGHT Line Command Syntax ( (n (( ((n Scroll Scroll Scroll Scroll a a a a line of displayed data one column to the right line of displayed data n columns to the right block of displayed data lines to the right block of displayed data lines n columns to the right The parameter descriptions for the DRIGHT command are: n The number of columns to be scrolled. The value can be 1 to 9999. Data Scrolls 29 or 79 bytes, depending on screen size. Half Scrolls by a half page. Max Scrolls completely to the right, showing the last byte of the data. Page Scrolls by one page, 30 or 80 bytes, depending on screen size. Usage Notes ALL Languages 1. If the DRIGHT command is entered without an operand, the value in the scroll amount field is used. The contents of the scroll amount field can be changed by typing over the displayed value. Any value other than Max is remembered until it is changed again. 2. You can use PF22 and PF23 to scroll the display field left and right, respectively. 3. Use the RIGHT command to scroll the source to the right. 4. The line commands cannot be used to scroll source lines. They only scroll displayed data either in a Keep window or on the Source screen. 5. If the scroll amount is not specified as part of the line command, the value of 1 is used. 6. Scrolling commands are not recorded in the log. 7. The DRIGHT command is usually assigned to PF23. XPEDITER/TSO Commands (DELETE - EXIT) 3-9 DROP Assembler Description The DROP command releases addressability from a DSECT that was established with the XPEDITER/TSO USING command. See “USING” on page 7-7 for a description of the USING command. A record of the DROP command is written to the log. Input DROP address dsect-name Rn Rn The parameter descriptions for the DROP command are: address The 24- or 31-bit address of a DSECT. dsect-name The name of a DSECT. Rn The general-purpose register that contains the address used to establish addressability to the specified DSECT. The permissible values are R0 through R15. Examples Examples of valid forms of the DROP command are listed below: 1. With dsect-name, enter: DROP MYDSECT R11 2. With address, enter: DROP B77418 Figure 3-1 shows an example of entering a DROP command after reassigning the DSECT address with the USING command. 3-10 XPEDITER/TSO and XPEDITER/IMS Reference Manual Figure 3-1. Entering the DROP and MEMORY Commands ------------------------ XPEDITER/TSO - SOURCE ---------------------------------COMMAND ===> drop tstrec r6; mem r2% SCROLL ===> CSR PROGRAM: TRITSTA MODULE: TRIMAINA COMP DATE: 07/20/1995 COMP TIME: 14:41:00 000000 K TSTREC DSECT > 0 000000 K TYPE DS ZL1 > 0 ZONED 000001 K DS 0CL3 > 555 000001 K SIDEA DS ZL1 > 5 ZONED 000002 ANB DS PL2 > +3 PACKED ----------------------------------------------------- Before TRITSTA:67670 06766C START EQU * 06766C L R2,0(R1) POINT R2 TO PARAMETER -----USING TSTREC,R2 SET ADDRESS FOR DSECT =====> ZEROIT ZAP ANB,=P’0’ 067676 ZAP ANC,=P’0’ 06767C ZAP BNC,=P’0’ 067682 PACKIT PACK TSTA,SIDEA PACK TRIANGLE SIDE 067688 PACK TSTB,SIDEB " GPREGS R0 ==> 00000001 R1 ==> 000671C8 R2 ==> 00067301 R3 ==> 0006CC30 R4 ==> 02944B10 R5 ==> 00057850 R6 ==> 00067309 R7 ==> 80090E56 R8 ==> 0009F144 R9 ==> 00000000 R10 ==> 00090FBC R11 ==> 00067750 R12 ==> 00067658 R13 ==> 00067750 R14 ==> 00097AC4 R15 ==> 00067658 The Keep window shows 0555 in DSECT TSTREC being read from address 00067309 in register 6. By dropping this DSECT address, TSTREC uses the original address, R2, established by the source code USING TSTREC,R2. Figure 3-2 shows the memory display for register 2 at location 67301 as a result of the MEMORY command entered in Figure 3-1. Figure 3-2. Memory Display at Established Address -------------------------- XPEDITER/TSO - MEMORY -----------------------------COMMAND ===> end SCROLL ===> CSR PROGRAM: TRITSTA MODULE: TRIMAINA COMP DATE: 07/20/1995 COMP TIME: 14:41:00 --------------------------------------------------------- Before TRITSTA:67670 -0 - 2 - 4 - 6 8 - A C - E = 0-2-4-6-8-A-C-E****************************************************************************** 067301 ===> F0F3F4F5 40404040 F0F5F5F5 40404040 = 0345 0555 067311 ===> 40404040 40404040 40404040 40404040 = 067321 ===> 40404040 40404040 40404040 40404040 = 067331 ===> 40404040 40404040 40404040 40404040 = 067341 ===> 40404040 40404040 40F0F0F0 F1F0F0F0 = 0001000 067351 ===> F0000000 0000000C 1C000000 00000090 = 0............... 067361 ===> ECD00C18 CF41B0C0 D850DB00 0450BD00 = ........0....... 067371 ===> 0818DB58 21000018 624130C1 F1415000 = ...........A1... 067381 ===> 04070045 10C02C8F 0674800A 134110C1 = ...............A 067391 ===> 204100C1 8058F010 3005EF41 10C12041 = ...A..0......A.. 0673A1 ===> 00C1A158 F0103005 EFD203C2 C2C2E8DE = .A..0....K.BBBY. 0673B1 ===> 03C2C220 00D220C2 A1300041 10C12041 = .BB..K.B.....A.. 0673C1 ===> 00C29658 F0103005 EF412020 02413030 = .B..0........... 0673D1 ===> 21D203C2 C2C2F046 50C04A41 10C12041 = .K.BBB0......A.. GPREGS R0 ==> 00000001 R1 ==> 000671C8 R2 ==> 00067301 R3 ==> 0006CC30 R4 ==> 02944B10 R5 ==> 00057850 R6 ==> 00067309 R7 ==> 80090E56 R8 ==> 0009F144 R9 ==> 00000000 R10 ==> 00090FBC R11 ==> 00067750 R12 ==> 00067658 R13 ==> 00067750 R14 ==> 00097AC4 R15 ==> 00067658 The Memory screen shows 0345 at address 00067301 contained in register 2 and 0555 at address 00067309 contained in register 6. Figure 3-3 shows the result of entering the DROP TSTREC R6 in Figure 3-1. The original starting address for DSECT TSTREC is restored. XPEDITER/TSO Commands (DELETE - EXIT) 3-11 Figure 3-3. Restoring the Original DSECT Address ------------------------ XPEDITER/TSO - SOURCE ---------------------------------COMMAND ===> SCROLL ===> CSR PROGRAM: TRITSTA MODULE: TRITSTA COMP DATE: 07/20/1995 COMP TIME: 14:41:00 000000 K TSTREC DSECT > 0 000000 K TYPE DS ZL1 > 0 ZONED 000001 K DS 0CL3 > 345 000001 K SIDEA DS ZL1 > 3 ZONED 000002 ANB DS PL2 > +0 PACKED ----------------------------------------------------- Before TRITSTA:67670 06766C START EQU * 06766C L R2,0(R1) POINT R2 TO PARAMETER -----USING TSTREC,R2 SET ADDRESS FOR DSECT =====> ZEROIT ZAP ANB,=P’0’ 067676 ZAP ANC,=P’0’ 06767C ZAP BNC,=P’0’ 067682 PACKIT PACK TSTA,SIDEA PACK TRIANGLE SIDE 067688 PACK TSTB,SIDEB " GPREGS R0 ==> 00000001 R1 ==> 000671C8 R2 ==> 00067301 R3 ==> 0006CC30 R4 ==> 02944B10 R5 ==> 00057850 R6 ==> 00067309 R7 ==> 80090E56 R8 ==> 0009F144 R9 ==> 00000000 R10 ==> 00090FBC R11 ==> 00067750 R12 ==> 00067658 R13 ==> 00067750 R14 ==> 00097AC4 R15 ==> 00067658 END COBOL PL/I Assembler C Language Input END Description The END command terminates the current function and returns to the Source display screen. END is not valid in an unattended batch test. Usage Notes ALL Languages 1. Use the END command to terminate: – – – – – – A Log screen A Show screen A Memory screen A Browse screen A Help or tutorial screen An Abend-AID Snapshot report. 2. Use the END command to redisplay excluded lines from a SHOW BREAKS display. 3. Do not use the END command to terminate an XPEDITER/TSO test session. Use EXIT instead. 4. The END command is assigned to PF3/15. 3-12 XPEDITER/TSO and XPEDITER/IMS Reference Manual EXCLUDE COBOL PL/I Assembler C Language The EXCLUDE command suppresses the display of a line or range of lines from the Source screen. A record of the command is written to the log. EXCLUDE is not valid in an unattended batch test. Input EXCLUDE EX X ALL address1 THRU address2 offset1 THRU offset2 statement# THRU statement# EXCLUDE Line Command Syntax X XX Exclude a line Exclude a block of lines The parameter descriptions for the EXCLUDE command are: ALL Keyword used to exclude all statement lines. address (Assembler) Address for the range of lines when the line command area indicates 24- or 31-bit addressing. offset (Assembler) Offset for the range of lines when the line command area is offset. Offset is a valid hexadecimal number preceded by a plus (+) sign. statement# A valid statement number. You can also specify a list or a range of statement numbers. THRU Required keyword when excluding a range of statements. Usage Notes ALL Languages 1. Excluded lines are replaced on the screen by a single broken line. A message is displayed noting how many lines were omitted. For example: - - 11 LINES NOT DISPLAYED Use the NOLINES command to suppress the xx LINES NOT DISPLAYED message. XPEDITER/TSO Commands (DELETE - EXIT) 3-13 2. The only valid line commands on excluded lines are D (Delete), F (First), Fn, L (Last), and Ln. 3. Excluded lines can be restored using one of the methods listed below: – Use the DELETE or RESET command with the EXCLUDE keyword or the END command to restore all excluded lines throughout the program. – A pause or trace breakpoint at an excluded line restores that line. – The FIND, LOCATE, and PEEK commands restore the excluded lines that meet the search criteria. – The D line command can be used to restore a block of excluded lines. The Fn or Ln line commands can be used to restore the first or last n lines from a block of excluded lines. 4. Use EXCLUDE in the Keep window to show additional kept items or to reduce the size of the Keep window. PL/I 1. Use the THRU keyword or the X and XX line commands to reach lines that do not have statement numbers associated with them. Examples 1. To remove lines 45 through 55 from the display, enter the following: EXCLUDE 45 THRU 55 EXIT COBOL PL/I Assembler C Language Description The EXIT command terminates the current test session, closes all files, and returns you to the appropriate test screen. It is allowed from any screen and from any point in a test. A record of the command is written to the log. If the EXIT command is omitted when testing in unattended batch mode, XPEDITER/TSO determines the end of the test by recognizing either a new TEST or INTERCEPT command in the BTS environment. When the job consists of a single test and the EXIT command is omitted, the last XPEDITER/TSO command determines the end of the test. Input EXIT ABEND LAST ABEND Allows you to request that the step terminate with a particular abend code. If you specify Unnnn, a USER ABEND nnnn code will be used. If Snnn is specified, a SYSTEM ABEND nnn code will be used. Unnnn Snnn 3-14 XPEDITER/TSO and XPEDITER/IMS Reference Manual LAST Allows you to request that the step completion code reflect the last abend condition intercepted by XPEDITER during a test session. This will occur even if you corrected the error condition and permitted the test to run to a normal termination. If the command is issued outside of an abend script without a prior abend having occurred, the command will be rejected with the following error message: NO PRIOR ABEND The EXIT LAST command is only available in batch. This command is only successful if a prior abend has occurred. Usage Notes ALL Languages 1. EXIT is usually assigned to PF4/16. 2. When testing in interactive mode with ISPF support, the EXIT command returns you to the XPEDITER/TSO Test Menu. The following message is displayed in the upper right corner: Log & Script Created See the section on ISPF support in any of the XPEDITER/TSO and XPEDITER/IMS User Guides for further details regarding the disposition of log and script datasets. 3. Use the RETEST command within a test session instead of the EXIT command to load a fresh copy of the load module before starting the next test. Refer to “RETEST” on page 6-16 for information on the use of the RETEST command in interactive testing. 4. Unlike other databases, DB2 databases tested in the IMS/DB environment are not committed when the EXIT command is issued. To commit these DB2 databases on test completion, use the GO command. 5. Terminating a stored procedure test session with the EXIT command will result in an abend. COBOL 1. Terminating a test session with the EXIT command while INTERNAL SORT is active can result in a system abend. To prevent this problem, sort activities must be terminated before you exit the user program. To terminate a SORT, complete the following: MOVE 16 TO SORT-RETURN GO 1 GOTO or GOTO (depending on whether the SORT is active in the INPUT procedure or the OUTPUT procedure) GO 1 (Enter GO 1 until you are out of the INPUT or OUTPUT procedure depending on where the SORT is active. You should be at the statement after the SORT.) Assembler 1. If the EXIT command is entered following the execution of a Branch and Stack (BAKR) instruction without executing a corresponding Program Return (PR) instruction, an abend will occur during termination processing. 4-1 Chapter 4. XPEDITER/TSO Commands (FIRST - HELP) F (First) COBOL PL/I Assembler C ha p 4 C Language Description The F (FIRST) line command reshows lines from a block of excluded lines starting with the first excluded line. Input F Line Command Syntax F Fn Reshow the first line from a block of excluded lines Reshow the first n lines from a block of excluded lines Usage Note ALL Languages 1. The F line command is valid only in the line command area on the dashed line that represents an excluded block of lines. Figure 4-1 shows an example of entering the F line command. Figure 4-2 shows the result. Figure 4-1. Using the F Line Command to Reshow Excluded Lines 000030 000031 000032 000033 F4 - 000045 000046 000047 WORK-REC. 05 SIDE-A PIC 9. 05 SIDE-B PIC 9. 05 SIDE-C PIC 9. - - - - - - - - - - - ANALYZE-NEXT-REC. READ INFILE INTO WORK-REC AT END 01 - - - 11 LINES NOT DISPLAYED 4-2 XPEDITER/TSO and XPEDITER/IMS Reference Manual Figure 4-2. Result of Entering the F Line Command 000030 000031 000032 000033 000034 000035 000036 000037 - - - 000045 000046 000047 WORK-REC. 05 SIDE-A PIC 9. 05 SIDE-B PIC 9. 05 SIDE-C PIC 9. PROCEDURE DIVISION. MAIN-PARA. PERFORM INIT-PARA. PERFORM ANALYZE-NEXT-REC - - - - - - - - - - - ANALYZE-NEXT-REC. READ INFILE INTO WORK-REC AT END 01 - - - - 7 LINES NOT DISPLAYED FADB2 COBOL PL/I Assembler C Language Description The FADB2 command accesses File-AID for DB2. FADB2 is valid only if XPEDITER for DB2 Extension and File-AID for DB2 release 3.5 or above are installed. The FADB2 command can be entered with the keyword or one-character number or letter shown below. Abbreviations are not allowed. Refer to the File-AID for DB2 Reference Manual for information about using File-AID for DB2. Input FADB2 PARMS 0 BROWSE 1 EDIT 2 UTILITY 3 ANALYSIS 4 TUTORIAL T EXPLAIN statement-number HELP Entering the FADB2 command without a keyword or one-character number or letter displays the File-AID for DB2 Primary Option Menu shown in Figure 4-3 on page 4-4. Bypass the Primary Option Menu and access a specific File-AID for DB2 facility by entering the command and the appropriate keyword or one-character number or letter. For example, to access the File-AID for DB2 Browse facility, enter the following on the command line: FADB2 BROWSE or FADB2 1 The parameter descriptions for the FADB2 command are: XPEDITER/TSO Commands (FIRST - HELP) 4-3 0/PARMS Displays the User PARMS menu, allowing you to specify the parameters you want to modify. 1/BROWSE Lets you display a table or view, either in its entirety or by selected rows. 2/EDIT Lets you make changes to a table or view. 3/UTILITY Provides access to various utilities that let you create, populate, authorize, drop, alter, and obtain information about DB2 objects. 4/ANALYSIS An interactive tool for SQL source development and analysis, SQL plan analysis, Plan Table maintenance, and review or printing of a DB2 Explain report. T/TUTORIAL Provides online information about File-AID for DB2. EXPLAIN statement-number (COBOL and PL/I) Displays and collects information about the execution of SQL statements in your program. It can be used for SQL statements that contain the DECLARE CURSOR, DELETE, INSERT, SELECT, or UPDATE verbs. The XP line command performs the same functions and can also be used for PL/I. When the FADB2 EXPLAIN command is entered, an SQL EXPLAIN call is executed for the specified statement and the Explain report is displayed at your terminal. Note: Only the XP line command can be used for inserted EXEC SQL statements. The Explain data is also stored in a DB2 table called xyz.Plan_Table, where xyz is the authorization ID. You can generate reports with this data, using the File-AID for DB2 Reports facility, or view the xyz.Plan_Table with the File-AID for DB2 Browse facility. Note: The Plan_Table must exist before you use the FADB2 EXPLAIN command or XP line command. HELP Provides online help for negative SQL return codes and messages from XPEDITER for DB2 Extension. File-AID for DB2 Primary Option Menu The File-AID for DB2 Primary Option Menu shown in Figure 4-3 on page 4-4 provides immediate access to all product functions. 4-4 XPEDITER/TSO and XPEDITER/IMS Reference Manual Figure 4-3. File-AID for DB2 Primary Option Menu File-AID for DB2 - 3.9 ----------- Primary Option Menu -------------------------OPTION ===> USERID - USERID 0 DEFAULTS and USER PARMS TIME - 21:33 1 BROWSE TERMINAL - 3278 2 EDIT PF KEYS - 24 3 UTILITIES DB2 SSID ===> DSN 3.2 - Create, Drop, Alter DB2 Objects 3.3 - Copy Rows Between Tables 3.4 - Object List Processing 3.5 - SQL Command Manager 3.6 - Display, Grant, Revoke or Modify DB2 Privileges 3.7 - Extract, Load Tables 3.8 - DBA-XPERT Column Impact Analysis 4 SQL ANALYSIS - SQL Development and Analysis 5 PRINT - Print Table Data or Audit Trail R File-AID/RDX - Transfer to File-AID Related Data XPERT T TUTORIAL - Display Information about File-AID for DB2 X EXIT - Exit File-AID for DB2 Copyright (c) 1989, 1998, an unpublished work by Compuware Corporation All Rights Reserved DEFAULTS and USER PARMS The DEFAULTS and USER PARMS option allows you to set the following parameters: – – – – – – – Browse/Edit/Analysis display options Dataset allocation for SQL Batch options PF key labels and definitions Index, tablespace, and database default values Logging options Print options. BROWSE The BROWSE option lets you display a table, alias, or view, either in its entirety or by selected rows or columns. You can specify which information you want to see, or you can indicate that you want certain data excluded. You cannot, however, make any changes to the table or view. You can browse a single table at one time, or you can browse multiple related or unrelated tables. EDIT The EDIT option lets you display a table, alias, or view. In addition, you can display the table in its entirety or by selected rows or columns. Optionally, you can save your edit template selection criteria in a dataset for convenient recall in a future edit or browse session. With Edit, however, you can make changes to a table and most views. There are some views that cannot be edited. If you attempt to modify one of these, DB2 locks out the change and File-AID for DB2 notifies you that you are not allowed to make this change. You can edit a single table at one time, or you can edit multiple related or unrelated tables. The Related Table Edit function enables you to edit tables related through DB2 referential integrity or through an application relationship. Application relationships can be created using File-AID for DB2 or File-AID/Related Data XPERT. An unlimited number of related tables may be edited. UTILITIES The UTILITIES option provides access to a number of different utilities. These utilities allow you to easily manage your DB2 work environment. The utilities are: XPEDITER/TSO Commands (FIRST - HELP) 4-5 – Create, Drop, Alter DB2 Objects: Allows you to create and drop six different DB2 object types: tables, tablespaces, indexes, views, synonyms, and aliases. Tables, tablespaces, and indexes can be altered. Synonyms and aliases can be modified. – Copy Rows Between Tables: Allows you to copy data between tables. All rows and columns can be copied, or selected rows and columns can be copied. – Object List: Lets you display object lists and perform functions such as Browse and Edit. – SQL Command Manager: Lets you connect with IBM’s SPUFI without leaving File-AID for DB2. – Display, Grant, Revoke, or Modify DB2 Privileges: You can easily display, grant, revoke, or modify privileges for tables, views, plans, and tablespaces by entering simple mnemonics on a screen. – Extract and Load Tables: You can extract a table, alias, or view to a dataset, or load a dataset to a table, alias, or view. Optionally, you can also extract data in delimited file format. Both ONLINE and BATCH processing are available. – DBA-XPERT Column Impact Analysis: You can view or print a batch report that helps you determine the impact of dropping or modifying a column by identifying views, aliases, synonyms, indexes, plans/packages, and referentially related columns. SQL ANALYSIS The SQL ANALYSIS option is an interactive tool for SQL source development and analysis. It also serves as an interactive tool for SQL plan analysis, Plan Table maintenance, and review or printing of a DB2 Explain report. With the SQL Development and Analysis feature, you can: – – – – Dynamically execute SQL statements Browse and edit the DB2 results table Obtain Explain information about how SQL statements will perform Obtain help information for any SQL coding errors. With SQL Plan Analysis, you can explain a plan, DBRM, collection ID, or package. A rules-based analysis of the Explain is available in plain language. Predicates can be analyzed to determine if they are indexable, stage I, or both. Based upon the analysis, recommendations for improving the performance of the SQL are provided. The print option allows you to review or print a DB2 Explain report from a specified plan table. The report gives you vital information about the execution of selected SQL statements in your application program. The DB2 Explain report is also available when compiling with XPEDITER and Abend-AID. Plan Table maintenance allows you to delete rows from a plan table. In addition to ISPF, File-AID for DB2 provides an interface to both CA-Panvalet and CA-Librarian. The SQL Source Analysis and Development facility can be used to analyze members stored in either CA-Panvalet or CA-Librarian without the need to copy the member into a sequential or partitioned dataset. PRINT The PRINT option on the Primary Option Menu allows you to print selected data from a DB2 table or an audit trail dataset. If the audit trail facility is enabled, an audit trail dataset is created each time an object is edited with File-AID for DB2. FILE-AID/RDX The File-AID/RDX (File-AID/Related Data XPERT) option lets you easily extract and load a complete subset of related DB2 and MVS data. You can copy data related by referential integrity or application-defined relationships within the DB2 and MVS environments with full support for all relational constraints. 4-6 XPEDITER/TSO and XPEDITER/IMS Reference Manual File-AID/RDX gives programmers ISPF-like facilities to create and populate test tables and datasets that accurately reflect production relationships, yet contain only a portion of the data, without coding SQL or writing programs. DBAs can migrate related sets of data from one DB2 subsystem and/or MVS environment to another, maintaining all parent/child data relationships without extensive manual procedures. Relationships defined to File-AID/RDX can be shared with File-AID for DB2’s Related Table Edit function. Usage Notes 1. The FADB2 EXPLAIN command can be entered as follows: – On the primary command line, enter FADB2 EXPLAIN with the SQL statement number. – Enter the XP line command on the first line of the SQL statement to be explained. 2. In the case of a DECLARE statement, the command is performed on the SELECT portion of the DECLARE statement. If the DECLARE statement is hard coded in working storage, the XP line command cannot be used. Instead, use the FADB2 EXPLAIN primary command with the statement number. 3. If the UPDATE statement contains a WHERE CURRENT OF clause, the UPDATE statement will not be explained. It is more meaningful to issue the FADB2 EXPLAIN command or XP line command on the corresponding DECLARE statement. 4. The FADB2 EXPLAIN command is not supported for the C language. Examples 1. In Figure 4-4, the XP line command is entered on the EXEC SQL INSERT statement number 579. Figure 4-4. Using the FADB2 EXPLAIN Line Command 000570 XP 579 000580 END-EXEC EXEC SQL INSERT INTO VTRIDB2 (SSNR,LASTNAME,FIRSTNAME,STREETADR,CITY,STATE,ZIPCODE, When the XP line command is entered, File-AID for DB2 is accessed and the SQL Source Analysis screen shown in Figure 4-5 is displayed. XPEDITER/TSO Commands (FIRST - HELP) 4-7 Figure 4-5. SQL Source Analysis Screen File-AID for DB2 -------------- SQL Source Analysis ------------ ROW 1 TO 1 OF 1 COMMAND ===> SCROLL ===> PAGE SSID: DSNG SQL Statement: 1 OF 1 INSERT INTO VTRIDB2 (SSNR,LASTNAME,FIRSTNAME,STREETADR,CITY,STATE,ZIPCODE, PHONENR,LICENSENO) VALUES ( :SSNR,:LASTNAME,:FIRSTNAME,:STREETADR,:CITY,:STATE,:ZIPCODE,:PHON ENR,:LICENSENO) Line Commands: T - Table Information I - Index Information F - Formatted Display Qblk Plan Access Match Index TS SortN SortC Table Pre Col Mix CMD No No Method Type Cols Only Lock UJOG UJOG No Fetch Eval Seg 1 0 0 0 N IX NNNN NNNN 1 0 Access Access Join Join Table: FLGJXY1.VTRIDB2 Degree Pgroup ID Degree Pgroup ID Index: N/A N/A N/A N/A ******************************* BOTTOM OF DATA ***************************** 2. In Figure 4-6, the XP line command is entered on the EXEC SQL DECLARE CURSOR line. Figure 4-6. Using the FADB2 EXPLAIN Line Command ----------XP ----------------------- /***$$$ EXEC SQL DECLARE DIRECTORY CURSOR FOR SELECT * FROM VTRIDB2 WHERE LASTNAME LIKE :LNAME_WORK AND FIRSTNAME LIKE :FNAME_WORK When the XP line command is entered, File-AID for DB2 is accessed, and the SQL Source Analysis screen shown in Figure 4-7 is displayed. 4-8 XPEDITER/TSO and XPEDITER/IMS Reference Manual Figure 4-7. SQL Source Analysis Screen File-AID for DB2 -------------- SQL Source Analysis ------------ ROW 1 TO 1 OF 1 COMMAND ===> SCROLL ===> PAGE SSID: DSNG SQL Statement: 1 OF 1 DECLARE DIRECTORY CURSOR FOR SELECT * FROM VTRIDB2 WHERE LASTNAME LIKE :LNAME_WORK AND FIRSTNAME LIKE :FNAME_WORK Line Commands: T - Table Information I - Index Information F - Formatted Display Qblk Plan Access Match Index TS SortN SortC Table Pre Col Mix CMD No No Method Type Cols Only Lock UJOG UJOG No Fetch Eval Seg 1 1 0 R 0 N IS NNNN NNNN 1 S 0 Access Access Join Join Table: FLGJXY1.VTRIDB2 Degree Pgroup ID Degree Pgroup ID Index: N/A N/A N/A N/A ******************************* BOTTOM OF DATA ***************************** FIND PL/I Assembler C Language Description Note: The FIND command for COBOL is described in “FIND” on page 4-10. The FIND command searches for character and hexadecimal strings in the Source screen and on other screens during a test session. The FIND command without a keyword searches for the next occurrence of the string, beginning with the current cursor location. If the cursor is not in the source display area, scanning begins at the first displayed line. FIND is not valid in an unattended batch test. Input NEXT FIND F string CSR ALL FIRST LAST PREV EXclude NOLines The parameter descriptions for the FIND command are: string Any valid character or hexadecimal string. A hexadecimal string must be enclosed in single quotes and preceded by an X. CSR Allows a FIND command to be issued on a string under the cursor position. XPEDITER/TSO Commands (FIRST - HELP) 4-9 NEXT The scan starts at the current cursor location and proceeds forward to find the next occurrence of the target string. This is the default. ALL Starting at the top of the data, the scan moves forward to find all occurrences of the target string. The number of times this string is found is displayed in the message area. FIRST The scan starts at the top of the source code and moves forward to find the first occurrence of the target string. LAST The scan starts at the bottom of the source code and proceeds backwards to find the last occurrence of the string. PREV The scan starts at the current cursor location and proceeds backwards to find the previous occurrence of the string. EXclude Excludes from view all lines not meeting the search criteria. NOLines Used with the EXclude keyword, this keyword removes the xx LINES NOT DISPLAYED message line. Usage Notes Assembler PL/I C Language 1. The valid delimiters for character string literals within XPEDITER/TSO are shown below: FIND FIND FIND FIND FIND USG 'US G' "US G" X'C1C4E2' ==USG== 2. The FIND command is supported on the Source, Log, Show, Memory, and Abend-AID Snapshot report screens. 3. If this command is entered without an operand, the most recent FIND command is reexecuted. The ISPF RFIND command is not valid during the XPEDITER/TSO test session. 4. The FIND command is assigned to PF5. FIND CSR is assigned to PF14. Examples Assembler PL/I C Language 1. To locate a hexadecimal string X'00A3', enter: FIND X'00A3' 4-10 XPEDITER/TSO and XPEDITER/IMS Reference Manual 2. To locate a character string INREC above the current line, enter: FIND INREC PREV 3. To locate the first occurrence of INREC, enter: FIND INREC FIRST 4. To find all occurrences of INREC and exclude all lines in the current module enter: FIND INREC ALL EXCLUDE NOLINES FIND COBOL Description The FIND command searches for three data types: strings, data names, and COBOLstructures. Searching strings lets you search for character strings, searching data names and their relationships lets you trace data flow, and searching COBOL-structures lets you capture the underlying logical structure of your program. If the SET LOG FIND ON command is issued, the results of all data name and COBOL-structure finds will be written to the log. Because the FIND command is used to examine COBOL programs, a large number of COBOL-structure keywords can be used with the command to locate various source lines. Refer to Appendix A, “COBOL-Structure Keywords” for a list of the COBOL reserved words associated with each COBOL-structure keyword that can be used with the FIND command. Note: Communication statements, debugging statements, and report-writer statements are not supported. FIND is not valid in an unattended batch test. Input COBOL FIND Syntax (Format 1) FIND F string data name CSR IN COBOL-structure-keyword ALL FIRST NEXT LAST PREV SUBset EXclude NOLines XPEDITER/TSO Commands (FIRST - HELP) 4-11 COBOL FIND Syntax (Format 2) REFerence FIND F NOAlias ALIas NORedefine DIRect INDirect ALL FIRST NEXT LAST PREV data name CSR USE MODify DEFine SUBset EXclude NOLines COBOL FIND Syntax (Format 3) ALL FIND F COBOL-structure-keyword FIRST NEXT LAST PREV SUBset EXclude NOLines COBOL FIND Syntax (Format 4) FIND F INDirect The parameter descriptions for the FIND command are: string Any character string. The string can be delimited by single quotes, double quotes, or double equal signs. A delimiter is required when a space is part of the string or if the string matches any reserved word. A reserved word consists of a keyword of the FIND command including COBOL-structure keywords. data name Any specified data item (that must never be enclosed in quotes) in a program. CSR Allows a FIND to be issued on a data name or string under the cursor position. If the data name contains a qualification(s), the qualification is picked up automatically. Basically, this is a FIND CSR function similar to the XPEDITER/TSO PEEK CSR function. The FIND CSR command is usually assigned to PF14. COBOL-structure-keyword One of the following keywords: ALTER, BRANCH, CONDITION, CALL, CICS, DLI, INPUT, IO, OUTPUT, PARAGRAPH, or SQL. See Appendix A, “COBOL-Structure Keywords” for the source lines to which each keyword refers. IN COBOL-structure-keyword Restricts the lines to be searched to source code statements that are defined as part of the COBOL-structure. The keywords are listed above in COBOL-structure-keyword and in Appendix A, “COBOL-Structure Keywords”. 4-12 XPEDITER/TSO and XPEDITER/IMS Reference Manual REFerence Includes all source code statements referenced by the DEFINE, USE, and MODIFY keywords. USE The source code statements in the Procedure Division that reference the data name, but do not change its value. MODify The source code statements in the Procedure Division that could potentially change the value of the data name. DEFine The Data Division source code statements that reserve storage for the data name. If ALIAS is also in effect, all storage areas that redefine the data name are included. ALIas Includes in the search any other data name that refers to the same storage location, such as a redefined or group level data name. Note that FILLER is not considered an alias. NORedefine Same search as ALIAS, but does not include redefined data names. NOAlias Confines the search to just the data name specified. DIRect Finds only those source code lines that directly reference the data name. INDirect Indicates, at each entry of the command, the data name, its aliases (if chosen), and all possible places a data value is passed to or from the data name and its aliases. Also, directs XPEDITER/TSO to find the next level of indirection—repeat FIND INDIRECT. ALL, FIRST, NEXT, LAST, PREV These keywords specify the direction and starting location of the search and are valid on any FIND. They can appear in any position in the command, not just at the end. SUBset Limits a search to non-excluded lines only. This keyword is valid on any FIND. EXclude Excludes from view all lines not meeting the search criteria. This keyword is valid on any FIND. NOLines Used with the EXclude keyword, this keyword removes the xx LINES NOT DISPLAYED message line. It is valid on any FIND. Usage Notes COBOL XPEDITER/TSO Commands (FIRST - HELP) 4-13 1. FIND is valid without any keywords. The default action is to repeat the previously entered FIND function. The first string reached is highlighted and the display scrolls to that line. Subsequent strings are found with the FIND command or with PF5. 2. Only a string FIND command can be used in nested programs. 3. The syntax for the string follows the general conventions for literals discussed throughout this documentation, with one exception: character strings without imbedded blanks need not be enclosed in quotes. For example: FIND FIND FIND FIND FIND USG 'US G' "US' G" X'C1C4E2' ==USG== 4. If the string is not found anywhere in the scanned data area, a message indicating this is displayed. 5. When FIND SQL is issued, the EXEC SQL WHENEVER and EXEC SQL DECLARE statements are currently not highlighted or counted. 6. When FIND data name is used, the data name is highlighted in the line where it occurs. Periods or parentheses surrounding the data name without intervening spaces are also highlighted. The message on the message line says: n DATA REFS: n DEF, n USES, n MODS FOUND FOR data name where n DATA REFS is the total number of references, and n DEF etc. refers to the number of occurrences of each type of reference. If a particular type of reference is not found, it is not included in the message. FIND data name does not find data names that are part of comments. See Figure 4-8 on page 4-14 for an example. 7. When either a data name or a COBOL-structure keyword is entered, the default is ALL, meaning to find all occurrences. If FIND is entered with a string, the default is NEXT. 8. The keywords REF, USE, MOD, DEF, ALI, NOA, DIR, and IND are valid only with a data name. 9. A FILLER data name is not an ALIAS. 10. The keywords REF, USE, MOD, and DEF are mutually exclusive. Only one of the four can be entered at a time. The keywords ALI, NOR, and NOA are mutually exclusive, as are DIR and IND. The default for each group, as indicated in the syntax diagram, is operative on every FIND entered, unless a keyword from each of the three groups is entered instead. 11. When FIND is issued with the EXCLUDE keyword, the appropriate message is displayed and the cursor is positioned in the command area. When FIND is issued without the EXCLUDE keyword, the cursor is positioned on the first data name, string, or verb. 12. Calls to specific modules can be defined as INPUT, OUTPUT, or IO. If the site installer or user lists the names of modules that are used for IO purposes on the Primary Menu, then the only CALL statements found with a FIND IO command will be calls to the modules listed. FIND INPUT, FIND OUTPUT, and FIND IO only find the CALL modules listed in the INPUT/OUTPUT Module Definition screen completed at installation time. 13. Use the SET DATAFIND command to indicate whether the next or all data names are to be found on the FIND data-name command. 14. The FIND command is assigned to PF5. FIND CSR is assigned to PF14. FIND IND is assigned to PF17. 4-14 XPEDITER/TSO and XPEDITER/IMS Reference Manual Examples COBOL 1. To locate the data name SUBS, enter the following on the command line: FIND SUBS The result of this FIND command is shown in Figure 4-8. Figure 4-8. Result of Finding the Data-Name SUBS -----000084 000085 000087 000089 000090 000091 000092 000093 49 Data Refs: 1 DEF, 30 USES, 18 MODS found for SUBS ------------------------------------------------------- Before MYMAIN * SUBSCRIPT FOR INDEXING ALONG INPUT MESSAGE LINE ITEMS 77 SUBS PIC S9(3) COMP. DEF * SUBSCRIPT FOR INDEXING ALONG SPA LINE ITEMS 77 SPA-SUBS PIC S9(3) COMP. * * DL/I CALL FUNCTIONS * 77 GU-FUNC PIC X(4) VALUE ’GU ’. The message area indicates the number of times SUBS is referenced in the program. The data name SUBS is highlighted and the message DEF appears on the right of the screen. To find the next occurrence of SUBS, you can press PF5 (repeat FIND), or type FIND on the command line, move the cursor down past the line in which SUBS is defined, then press Enter. 2. To locate all references and aliases of the data name N-CNTR, enter the following on the command line: FIND N-CNTR ALIAS 3. To locate the string B010 in a paragraph name, enter the following on the command line: FIND B010 IN PARA See Figure 4-9. The FIND string IN COBOL-structure-keyword command lets you focus on the statement that is of concern, rather than issue several repeat FIND commands. Figure 4-9. Result of Finding String B010 IN PARAGRAPH -----000203 000204 000205 000206 000207 000208 000209 000210 000211 1 CHARS ’B010’ found ------------------------------------------------------- Before MYMAIN B005-PROCESS-DETAIL-RECS-EXIT. B010-PROCESS-TEACHER-CHANGE. DIVIDE TOTAL-TEACHER-IQ BY TEACHER-STUDENT-TOTAL GIVING WA-TCHR-AVG-IQ ROUNDED. MOVE WA-TCHR-AVG-IQ TO TATL-AVG-IQ. MOVE DOUBLE-SPACING TO PROPER-SPACING. WRITE IQ-TEST-REPORT-LINE FROM TEACHER-AVG-TOTAL-LINE AFTER PROPER-SPACING. MOVE ZERO TO TOTAL-TEACHER-IQ. XPEDITER/TSO Commands (FIRST - HELP) 4-15 GEN COBOL Assembler Description When debugging COBOL programs, using the GEN command selectively expands EXEC DLI and EXEC SQL statements and displays translator-generated statements. When debugging Assembler programs, use the GEN command to expand macro instructions. A record of the GEN command is written to the log. Input GEN address label-name offset statement-number THRU statement-number GEN Line Command Syntax G COBOL Assembler GG COBOL Assembler Display the translated code and comment out the original code Display the macro expansion on the line Start/end of a block within which all original code is commented out and the translated code displayed Display all the macro expansions in a block of lines The parameter descriptions for the GEN command are: address (Assembler) The destination for the GEN command when the line command area indicates 24- or 31-bit addressing. label-name (Assembler) The entry in the name field of an Assembler language statement. offset (Assembler) The destination of the GEN command when the line command area is offset. Offset is a valid hexadecimal number preceded by a plus (+) sign. statement-number Any valid assembler or COBOL EXEC statement number. You can specify a list separated by spaces or commas, or a range; e.g., statementnumber THRU statement-number. THRU is a required keyword when a range is specified. THRU A required keyword when a range of statements is requested. 4-16 XPEDITER/TSO and XPEDITER/IMS Reference Manual Usage Notes COBOL 1. When a GEN command is issued for a statement, the statement appears on the source code display as code that is commented out. The expanded code generated by the translator is then displayed on the screen. Any breakpoints on the EXEC statement appear in the expanded code. After expansion, breakpoints on the commented code are not allowed, but breakpoints on the expanded code are allowed. 2. If the expanded code is removed with the DELETE command, all breakpoints are reset to the EXEC statement, which then appears uncommented. The expanded code is no longer displayed. 3. The G line command must be entered on the line at the start of an EXEC statement. 4. The GG block command must begin and end on the first lines of EXEC statements. 5. The DG line command removes the effects of the G or GG line command. 6. By using SET GEN ON, you can globally expand translated code, but you must enter it before you load the module in which the statements reside. Assembler 1. If GEN is entered as a primary command, the statement number or label must point to the start of a macro instruction. GEN with no parameters expands all macros. 2. If SET GEN is ON prior to loading a program, all macros in the program are expanded. If you only want to see certain macros, turn SET GEN OFF (default), then use the GEN command to selectively expand the macro(s). 3. If a DELETE GEN, DELETE GEN keyword, or DG line command is issued, the entire macro is collapsed. That is, the text defined by this macro or its nested macros is no longer displayed. 4. If execution is paused in expanded macro code and DELETE GEN is entered, the expanded lines collapse. The execution status message still points to the nonvisible instruction. Any breakpoint set within the macro (not on the first or last line) is indicated in column 9 (or 11 if 31-bit address) with a dollar sign ($). If the macro is later expanded for viewing, the breakpoint reappears. 5. The G line command is valid only on statements that contain a macro. 6. A block GG command is recorded in the log as: GEN statement# THRU statement# Examples COBOL 1. An example of expanding an EXEC SQL statement using the G line command is shown in Figure 4-10. The expanded text is shown in Figure 4-11. XPEDITER/TSO Commands (FIRST - HELP) 4-17 Figure 4-10. Expanding an EXEC Statement Using the G Line Command 000394 000395 g 96 000403 000410 000412 000412 000413 OR FIRSTNAME LIKE :FNAME-WORK END-EXEC. EXEC SQL OPEN DIRECTORY END-EXEC. EXEC SQL FETCH DIRECTORY INTO :PDIRECTORY END-EXEC. IF SQLCODE = SQL-NOT-FOUND MOVE ’NO ENTRY FOUND IN DIRECTORY ’ TO RPT-ERROR-TEXT WRITE RPT-REC FROM RPT-ERROR-LINE ELSE Figure 4-11. Result of Entering the G Line Command 000390 000391 000392 000393 000394 000395 000396 000397 000398 000399 000400 000401 000402 000403 000410 000411 000412 * EXEC SQL DECLARE DIRECTORY CURSUR FOR SELECT * FROM VSQLSAMP1 WHERE LASTNAME LIKE :LNAME-WORK OR FIRSTNAME LIKE :FNAME-WORK END-EXEC. EXEC SQL OPEN DIRECTORY END-EXEC. PERFORM SQL-INITIAL UNTIL SQL-INIT-DONE CALL ’DSNHLI’ USING SQL-PLIST6 IF SQLCODE < 0 GO TO DBERROR ELSE IF SQLCODE > 0 AND SQLCODE NOT = 100 OR SQLWARN0 = ’W’ GO TO DBERROR ELSE MOVE ’NO ENTRY FOUND IN DIRECTORY ’ TO RPT-ERROR-TEXT EXEC SQL FETCH DIRECTORY INTO :PDIRECTORY END-EXEC. IF SQLCODE = SQL-NOT-FOUND MOVE ’NO ENTRY FOUND IN DIRECTORY ’ TO RPT-ERROR-TEXT WRITE RPT-REC FROM RPT-ERROR-LINE 2. To display a range of EXEC statements, the first at line 55 and the last at 255, enter: GEN 55 THRU 255 3. To display a single EXEC starting on line 55 in TRITST (a module other than the current one), enter: GEN TRITST:55 Assembler 1. To display a specific statement-number, enter: GEN 2287 2. To display a range of statements in TRITSTA (a module other than the current one), enter: GEN TRITSTA:298 THRU 687 3. To display a label-name, enter: GEN READLOOP Figure 4-12 shows an example of entering the GEN command in the line command area and Figure 4-13 shows the resulting expansion. Figure 4-12. Entering GEN as a Line Command ====>> A 000077 g 078 000090 AGAIN GET MVI CALL CLI INDCB,INREC TYPE,C’0’ TRITSTA,(TYPE) TYPE,C’1’ READ A RECORD ZERO OUT FIELD ’TYPE’ CALL SUBORDINATEPROGRAM IS TYPE= 1? 4-18 XPEDITER/TSO and XPEDITER/IMS Reference Manual Figure 4-13. Result of Expanding Macros Using the GEN Command -----000078 000079 000080 000081 000082 000083 000084 000085 000086 000087 000088 000089 000090 --------------------------------------------------- After TRIMAINA:76 CALL TRITSTA,(TYPE) CALL SUBORDINATE PROGRAM + CNOP 0,4 + B *+8 BRANCH AROUND VCON +IHB0005B DC V(TRITSTA) ENTRY POINT ADDRESS + CNOP 0,4 + LA 1,IHB0005 LIST ADDRESS @L1C + B IHB0005A BYPASS LIST @ZMC3742 +IHB0006 EQU * + DC A(TYPE) @G860P40 +IHB0006A EQU * + L 15,IHB0004B LOAD IS WITH ENTRY ADR + BALR 14,15 BRANCH TO ENTRY POINT CLI TYPE,C’1’ IS TYPE= 1? GETMAIN Assembler Description The GETMAIN command invokes the GETMAIN macro and allocates virtual storage. At least one parameter (n, nK, LA= length address, LV= length value) must be specified with the GETMAIN command. Then, any number of optional parameters can be specified. The address will be stored in register 1 if no address parameter is specified, and the return code is stored in register 15. A record of the command is written to the log. Input GETMAIN n nK LA=length address LV=length value R1 A= address DBLWD BNDRY= PAGE 00 INIT= character BELOW LOC= ABOVE ANY 0 SP= subpool number The parameter descriptions for the GETMAIN command are: n The length in number of bytes. nK The length in number of bytes times 4096. XPEDITER/TSO Commands (FIRST - HELP) 4-19 LA=length address The address or general-purpose register number containing the address of a fullword length. LV=length value The length in number of bytes. A= The address, label, or general purpose register number containing the starting address of the acquired storage. If address is not specified with the A= parameter, the default is register 1. BNDRY= Alignment of the acquired storage. DBLWD is the default. INIT= The initialization of the acquired storage. Valid values for character are 00 - 99 and a z. The default is 00. LOC= Location of the acquired storage with reference to the 16MB line. BELOW is the default. SP= A subpool number from 0 - 127. The default is 0. Usage Notes 1. The RETEST command, or restarting a test session after terminating with the EXIT command, does not free storage when the default subpool number 0 is used. You must return to the TEST panel, enter END or press PF3, and go back to the test screen again to free storage that is acquired through the GETMAIN command. 2. Registers 1 and 15 in the GPREGS or Keep window are updated as the GETMAIN command is executed. 3. SHOW REGION does not display the updated storage information until a page boundary (4096K) is met, even after the GETMAIN command is issued. Examples 1. To acquire 198 bytes of storage above the line using subpool 2, enter: GETMAIN 198 LOC=ABOVE SP=2 2. To acquire 4096 bytes of storage below the line and initialize with character “z”, enter: GETMAIN 1K INIT=Z 3. To acquire storage with the length in register 9 and return the acquired storage location in register 3, enter: GETMAIN LA=9 A=3 LOC=ANY Figure 4-14 shows an example of entering the GETMAIN command to acquire storage. 4-20 XPEDITER/TSO and XPEDITER/IMS Reference Manual Figure 4-14. Entering the GETMAIN Command ------------------------ XPEDITER/TSO - SOURCE ---------------------------------COMMAND ===> getmain 198 sp=123 SCROLL ===> CSR PROGRAM: ASMRENT MODULE: ASMRENT COMP DATE: 07/29/1995 COMP TIME: 14.41.00 000095 SAVEAREA DS 0D > 0 DBLWORD ** END ** -------------------------------------------------------- Before ASMRENT:27 000009 LR R12,R15 * 000010 DROP R15 * OPEN UP 000011 USING ASMRENT,R12 000012 USING WORKSTOR,R4 000013 L R0,WORKSIZE 000014 GETMAIN RC,LV=(0) 000024 LTR R15,R15 000025 BNZ ENDRTN 000026 LR R4,R1 =====> LA R11,SAVEAREA * 000028 ST R13,4(R11) * CHAIN SAVE AREAS GPREGS R0 ==> 00000198 R1 ==> 800800F8 R2 ==> 80077BFC R3 ==> 0005AC30 R4 ==> 0003C108 R5 ==> 0003C850 R6 ==> 00000000 R7 ==> 800491F6 R8 ==> 0008DFF4 R9 ==> 00000198 R10 ==> 0004935C R11 ==> 00000000 R12 ==> 0007FAC8 R13 ==> 0008DFA8 R14 ==> 0007DA4C R15 ==> 0003C0F8 Figure 4-15 on page 4-20 shows the result of entering the GETMAIN command. The starting address of the acquired storage is stored in register 1 and the return code is stored in register 15. Figure 4-15. Result of Executing the GETMAIN Command ------------------------ XPEDITER/TSO - SOURCE ---------------------------------COMMAND ===> SCROLL ===> CSR PROGRAM: ASMRENT MODULE: ASMRENT COMP DATE: 07/29/1995 COMP TIME: 14.41.00 000095 SAVEAREA DS 0D > 0 DBLWORD ** END ** -------------------------------------------------------- Before ASMRENT:27 000009 LR R12,R15 * 000010 DROP R15 * OPEN UP 000011 USING ASMRENT,R12 000012 USING WORKSTOR,R4 000013 L R0,WORKSIZE 000014 GETMAIN RC,LV=(0) 000024 LTR R15,R15 000025 BNZ ENDRTN 000026 LR R4,R1 =====> LA R11,SAVEAREA * 000028 ST R13,4(R11) * CHAIN SAVE AREAS GPREGS R0 ==> 00000198 R1 ==> 0003C108 R2 ==> 80077BFC R3 ==> 0005AC30 R4 ==> 0003C108 R5 ==> 0003C850 R6 ==> 00000000 R7 ==> 800491F6 R8 ==> 0008DFF4 R9 ==> 00000198 R10 ==> 0004935C R11 ==> 00000000 R12 ==> 0007FAC8 R13 ==> 0008DFA8 R14 ==> 0007DA4C R15 ==> 00000000 GO COBOL PL/I Assembler C Language Description The GO command begins execution or resumes execution following a pause. A record of the command is written to the log. XPEDITER/TSO Commands (FIRST - HELP) 4-21 GO used in the batch input stream starts execution. If additional commands follow GO, they are executed after the test has been completed and before the post scripts, if any have been specified. Input GO STATE n FUNC LABEL PARA PROC PROG TRace Half The parameter descriptions for the GO command are: n A positive value indicating the number of statements, labels, paragraphs, procedures, functions, or programs to execute. Valid values are 1 through 999999. Not valid in unattended batch mode. STATE Executes until the next statement is reached, or when used with n, until the next n statements are reached. STATE is the default when GO n is entered without a keyword. FUNC (C Language) Executes until the next function is reached, or when used with n, until the next n functions are reached. Not valid in unattended batch mode. LABEL (Assembler) Executes until the next label is reached, or when used with n, until the next n labels are reached. PARA (COBOL) Executes until the next paragraph is reached, or when used with n, until the next n paragraphs are reached. Not valid in unattended batch mode. PROC (PL/I) Executes until the next procedure is reached (when PL/I nested procedures are being tested), or when used with n, until the next n procedures are reached. PROG (COBOL) Executes until the next program is reached (when COBOL nested programs are being tested), or when used with n, until the next n programs are reached. TRace Executes and traces the next n statements, paragraphs, labeled statements, programs, functions, or procedures. Half Executes a half step. 4-22 XPEDITER/TSO and XPEDITER/IMS Reference Manual Usage Notes ALL Languages 1. The GO command entered without operands resumes execution from the current location and proceeds until one of the following occurs: – A breakpoint is reached – The end of the program is reached – An abend is detected. 2. GO n executes the next n statements, issues the message n Statements Executed, and suspends execution. 3. GO 1 executes the next instruction and suspends execution. This is an efficient way to single step through code. GO 1 is not valid in an unattended batch test. 4. GO Half issued at a before breakpoint steps to an after breakpoint on the same statement. GO Half issued at an after breakpoint steps to a before breakpoint on the next statement. 5. GO is usually assigned to PF12/24. GO 1 is usually assigned to PF9/21. Assembler 1. When using GO 1 to single-step through code, you are not returned to the next instruction following a GET macro if end-of-file is detected or if an error occurs and an error return is indicated on the DCB. Instead, execution resumes at the beginning of the routine designated by the EODAD parameter of the DCB macro. 2. A conflict can occur between Language Environment (LE) abend handling in the CEEENTRY macro and XPEDITER’s breakpoint and stepping functions. For this reason, you should not set an initial breakpoint on the CEEENTRY macro or enter a GO 1, GO n, or breakpoint command from within it. Examples ALL Languages 1. To execute the next 6 statements, enter: GO 6 or GO 6 STATE 2. To execute and trace the next 6 paragraphs, enter: GO 6 PARA TRACE 3. To execute and trace the next 6 labels, enter: GO 6 LABEL TRACE XPEDITER/TSO Commands (FIRST - HELP) 4-23 GOBACK COBOL Description Use the GOBACK command in the current module to return to the next higher level module, which includes a nested program. If the current module is the top-level module, the test is completed. A record of the command is written to the log. Input GOBACK Usage Notes 1. The GOBACK command is not supported if the nested program is optimized by the compiler or if it does not contain a GOBACK verb. 2. If the current module is called by a module written in a language that does not follow COBOL linkage conventions, return will be to the calling module. 3. Any statements following a GOBACK will not be executed. GOTO COBOL PL/I Assembler C Language Description The GOTO command changes the logic of your program and repositions the current execution pointer. Input GOTO location GOTO Line Command Syntax GT Reset the current execution pointer to a line The parameter description for the GOTO command is: location A place where breakpoints can be set or deleted. Refer to “Common Parameters” on page xviii for details about location. Usage Notes ALL Languages 4-24 XPEDITER/TSO and XPEDITER/IMS Reference Manual 1. The GOTO primary command does not resume execution. It only changes the execution pointer. Use the GO command to resume execution from this point. Note that an inserted GOTO command will resume execution. 2. When the target of a GOTO command is reached, a message EXECUTION RESUMES HERE is displayed and a highlighted arrow points to the line where execution will resume. Note: Caution should be taken when using the GOTO command. There are some usage risks when the logical flow of a program is changed. Program abends (S0C4 or S0C7) could occur, or you could run off the end of your program, yielding unpredictable results. 3. When GOTO is entered, the target location must be a valid location within the active module or nested program. 4. If multiple GT line commands are entered, the commands are processed sequentially from top to bottom with the execution arrow positioned on the last command entered. No processing takes place if one invalid command is detected. 5. You cannot use a GT line command on the current line. PL/I 1. GOTO on a procedure-name, procedure-label, or statement is invalid. Examples COBOL 1. To place the execution pointer at statement 512 in the current module enter: GOTO 512 2. To place the execution pointer at the ANALYZE-NEXT-REC paragraph, enter: GOTO ANALYZE-NEXT-REC Assembler 1. To resume execution from the AGAIN label, enter: GOTO AGAIN 2. To go to the address B4177, enter: GOTO B4177 PL/I 1. To go to statement number 86 in module CMAIPLI from TTSTPLI, enter: GOTO CMAIPLI:86 C Language 1. To go to line 94 in the current function, enter: GOTO 94 2. To place the execution pointer at label proc1 in the current function, enter: GOTO proc1 XPEDITER/TSO Commands (FIRST - HELP) 4-25 GPREGS COBOL PL/I Assembler C Language Description The GPREGS command displays the contents of the general-purpose registers at the bottom of the Source screen. GPREGS ON causes the contents of the general-purpose registers to be logged. Thereafter, the register values are written to the log only when you enter GPREGS LOG. Input ON GPREGS OFF LOG The parameter descriptions for the GPREGS command are: ON Opens a window at the bottom of your screen and displays the contents of the general-purpose registers for the duration of the test session or until GPREGS OFF is entered. ON is the default value. OFF Removes the GPREGS window. LOG Records the contents of the general-purpose registers in the log. Usage Notes ALL Languages 1. The register values in the GPREGS window are modifiable. You can type over the displayed register values, copy other register values, or use the MOVE command (COBOL and Assembler only). 2. To copy the contents of one displayed register to another, type over the register with Rn, where n represents the number of the register to be copied. Only one blank space is required after the Rn string. 3. You can enter a decimal value, rather than the normal hexadecimal value, by preceding the value with an apostrophe ('). See Figure 4-18 on page 4-26. 4. You can modify the value in a register by preceding the value with an arithmetic operation: add (+), subtract (-), multiply (*), divide (/). See Figure 4-19 on page 4-27. Examples COBOL 4-26 XPEDITER/TSO and XPEDITER/IMS Reference Manual 1. In Figure 4-16, the contents of register 12 have been typed over with the term R6. Figure 4-17 shows the result. Figure 4-16. Example of Typing Over the Contents of a Register 000045 ANALYZE-NEXT-REC. 000046 READ INFILE INTO WORK-REC 000047 AT END 000048 MOVE ’Y’ TO OUT-OF-RECS. 000049 IF OUT-OF-RECS = ’N’ 000050 MOVE ZERO TO TRIANGLE-TYPE GPREGS R0 ==> 00000000 R1 ==> 50083FCA R4 ==> 00083E86 R5 ==> 50083FAE R8 ==> 00083B68 R9 ==> 00083F50 R12 ==> R6 R13 ==> 00083958 R2 R6 R10 R14 ==> ==> ==> ==> 00038010 000837B8 00083718 00083C44 R3 R7 R11 R15 ==> ==> ==> ==> 00083BE0 00000000 00083718 000945DE Figure 4-17. Result of Typing Over Contents of Register 12 with Register 6 000045 ANALYZE-NEXT-REC. 000046 READ INFILE INTO WORK-REC 000047 AT END 000048 MOVE ’Y’ TO OUT-OF-RECS. 000049 IF OUT-OF-RECS = ’N’ 000050 MOVE ZERO TO TRIANGLE-TYPE GPREGS R0 ==> 00000000 R1 ==> 50083FCA R4 ==> 00083E86 R5 ==> 50083FAE R8 ==> 00083B68 R9 ==> 00083F50 R12 ==> 000837B8 R13 ==> 00083958 R2 R6 R10 R14 ==> ==> ==> ==> 00038010 000837B8 00083718 00083C44 R3 R7 R11 R15 ==> ==> ==> ==> 00083BE0 00000000 00083718 000945DE PL/I 1. In Figure 4-18, the decimal number 100 is entered into register 0. Figure 4-18. Entering a Decimal Number into a Register 000032 -----000033 -----000034 -----000035 GPREGS R0 R4 R8 R12 ANALYZE_NEXT_REC: PROC; DCL TRIANGLE_TYPE DCL IX ==> ==> ==> ==> FIXED(1); FIXED BIN(15); R2 R6 R10 R14 ==> ==> ==> ==> 87E51232 00123940 00123780 87E5129A R3 R7 R11 R15 ==> ==> ==> ==> 07E51598 00123598 00123298 07E514B8 TRIANGLE _TYPE = 0; ’100 A28 R1 ==> 00123888 07E51760 R5 ==> 00123888 07E51760 R9 ==> 00123960 00123940 R13 ==> 00128888 Assembler 1. Figure 4-19 shows register 0 being doubled. XPEDITER/TSO Commands (FIRST - HELP) 4-27 Figure 4-19. Doubling the Value of a Register 000059 000065 000066 000067 GPREGS R0 R4 R8 R12 OPEN (INDCB,INPUT) TM INDCB+X’30’,X’10’ BZ ENDIT ZAP TYPEI,=P’0’ *2 0B0 R1 ==> 7A06C040 C0B07840 R5 ==> C0B07858 78580030 R9 ==> 74411000 B0307806 R13 ==> 80702412 OPEN INPUT FILE OPEN SUCCESSFUL? BRANCH TO ENDIT IF NOT OPEN R2 R6 R10 R14 ==> ==> ==> ==> C0B07A41 B0307806 011E10BA BB478062 R3 R7 R11 R15 ==> ==> ==> ==> C000014A B050B030 01307447 5A918080 ==> ==> ==> ==> HELP COBOL PL/I Assembler C Language Description The HELP command invokes the XPEDITER/TSO tutorial or Help functions for command reference and messages. XPEDITER/TSO does not use the standard ISPF HELP function. HELP is not valid in an unattended batch test. Input MENU HELP H * INDEX keyword The parameter descriptions for the HELP command are: MENU Displays a subject list itemizing subjects in topical fashion, similar to a table of contents. MENU is the default. * Redisplays the most recently browsed help file. INDEX Displays a subject list itemizing subjects in alphabetical order, similar to a typical index. keyword Displays a valid help topic; e.g., commands, batchcon, S0C1. Usage Notes ALL Languages 1. HELP displays information based on the language of the qualified module. 2. If HELP is entered without an operand, the Help Menu is displayed. 3. Help files can be scrolled up and down. 4-28 XPEDITER/TSO and XPEDITER/IMS Reference Manual 4. If you enter HELP from within the Help function, the first Help file is closed and the new HELP command is executed. 5. The END, LOCATE *, and SOURCE commands terminate this function and return to the previous panel. 6. The HELP command is usually assigned to PF1/13 by default. 5-1 Chapter 5. XPEDITER/TSO Commands (IF - MOVE) IF COBOL PL/I Assembler C Language C ha p 5 Description The IF command establishes a conditional expression in your program. The IF command can only be entered within a block of inserted lines created with the INSERT command. Refer to “INSERT” on page 5-5 for more information. Input IF Primary Command Syntax IF conditional-expression . . . XPEDITER/TSO commands . . [ELSE . . . . XPEDITER/TSO commands] END-IF The parameter description for the IF command is: conditional-expression Any valid expressions supported by XPEDITER/TSO that test logical relationships. The following standard operators are valid: Equal (=) Greater than (>) Less than () less than (NOT ’’’’’’ 000047 000048 000049 000050 MOVE ’N’ TO OUT-OF-RECS. ANALYZE-NEXT-REC. READ INFILE INTO WORK-REC IF WORK-REC = ’345’ KEEP WORK-REC PAUSE END-IF AT END MOVE ’Y’ TO OUT-OF-RECS. IF OUT-OF-RECS = ’N’ MOVE ZERO TO TRIANGLE-TYPE PL/I Figure 5-2. Entering an IF Conditional Expression in a PL/I Program 000026 000027 000028 ’’’’’’ ’’’’’’ =====> ’’’’’’ 000029 -----000030 000031 000032 READ FILE(INFILE) SET(IN_REC_PTR); IF ¨OUT_OF_RECS THEN DO; TRIANGLE_TYPE = 0;; IF WORK_REC = ’345’ KEEP WORK_REC PAUSE END-IF CALL TRITSTP (WORK_REC, TRIANGLE_TYPE); TX = TRIANGLE_TYPE; N_CNTR(TX) = N_CNTR(TX) + 1; END; Assembler Figure 5-3. Entering an IF Conditional Expression in an Assembler Program 000069 000070 000071 ’’’’’’ ’’’’’’ =====> ’’’’’’ 000077 000078 000090 000091 ZAP TYPEIII,=P’0’ ZAP TYPEIV,=P’0’ GET INDCB,INREC IF INREC = ’345’ KEEP INREC PAUSE END-IF MVI TYPE,C’0’ CALL TRITSTA,(TYPE) CLI TYPE,C’1’ BE EQUAL AGAIN READ A RECORD ZERO OUT FIELD ’TYPE’ CALL SUBORDINATE PROGRAM IS TYPE = 1? XPEDITER/TSO Commands (IF - MOVE) 5-3 C Language Figure 5-4. Entering an IF Conditional Expression in a C Language Program 000130 000130 000131 000132 '''''' '''''' '''''' =====> '''''' 000133 000134 000135 if (bytesread == REC_LEN) /* fread success */ if (bytesread == 80) /* fread success */ { work_rec[3]= '\0'; IF work_rec(1:3) = '234' KEEP work_rec MOVE '111' TO work_rec(1:3) PAUSE END-IF; triangle_type = tritstc(work_rec); tarray[triangle_type].tricnt++; return('n'); INCLUDE COBOL PL/I Assembler C Language Description The INCLUDE command executes a predefined test script member. The command stream in the test script is executed as the commands are read in, just as if they had been entered serially. INCLUDE test scripts can be nested without limit. A record of the command is written to the log. Input INCLUDE INC test-script-name The parameter description for the INCLUDE command is: test-script-name A member of the test script library (LRECL=80) specified in the XINCLUDE DD Setup screen, or the site-wide PDS, if defined. Usage Notes ALL Languages 1. Within the script: – An XPEDITER/TSO command cannot exceed 61 characters. – Only one XPEDITER/TSO command can occur on a single line. – Any XPEDITER/TSO command can be continued beyond a single line without the requirement of a continuation character. 5-4 XPEDITER/TSO and XPEDITER/IMS Reference Manual – A quoted string must be contained on one line. – Comment lines can be included by entering an asterisk (*) in column 1. 2. When used within inserted code, the INCLUDE command will be executed when the inserted code is executed. Example ALL Languages 1. The following is an example of commands entered in a test script member named TEST1. KEEP INREC GPREGS MOVE '345' TO INREC To execute TEST1 during your debugging session, enter: INCLUDE TEST1 Valid Commands in a Test Script The following tables list the commands that can or cannot be included in a test script for each language. Command usage follows the rules described in each command section. COBOL The following commands can be included in a test script. AA SNAP ACCEPT AFTER AT BEFORE BROWSE COUNT DELETE EXCLUDE EXIT GEN GO GOBACK GOTO GPREGS INCLUDE IF INSERT INTERCEPT KEEP LINE LOAD MONITOR MOVE PAUSE PEEK RESET SET SHOW SKIP SOURCE TRACE USE WHEN WS Note: AA SNAP, AT, BROWSE, DLI, EXCLUDE, and MONITOR cannot be used in unattended batch. The following commands cannot be included within a test script. ALLOC BOTTOM CCHILITE CONNECT DLEFT DLI DOWN DRIGHT END FADB2 FIND HELP LEFT LOCATE LOG MEMORY NOLINES RESUME RETEST REVERSE RIGHT RUN STATUS TEST TOP TSO UP WHEREIS XCHANGE XPED Note: Assembler TEST and XPED can be used in unattended batch. The following commands can be included in a test script. XPEDITER/TSO Commands (IF - MOVE) 5-5 AA SNAP AFTER AT BEFORE BROWSE COUNT DELETE DROP EXCLUDE EXIT GEN GO GOTO GPREGS IF INCLUDE INSERT INTERCEPT KEEP LINE LOAD MOVE PAUSE PEEK RESET RETURN SET SHOW SKIP SOURCE TRACE USING VERIFY WHEN Note: AA SNAP, AT, BROWSE, and EXCLUDE cannot be used in unattended batch. DROP and DELETE cannot be used in an initial test script. The following commands cannot be included within a test script: ALLOC BOTTOM CCHILITE CONNECT DLEFT DLI DOWN DRIGHT END FADB2 FIND GETMAIN HELP LEFT LOCATE LOG MEMORY NOLINES RETEST RIGHT RUN STATUS TEST TOP TSO UP WHEREIS XCHANGE XPED Note: PL/I TEST and XPED can be used in unattended batch. C Language The following commands can be included in a test script. AA SNAP AFTER AT BEFORE BROWSE COUNT DELETE EXCLUDE EXIT GO GOTO GPREGS INCLUDE INTERCEPT KEEP LINE LOAD MOVE PAUSE PEEK RESET RETURN SET SHOW SKIP SOURCE TRACE WHEN Note: AA SNAP, AT, BROWSE, and EXCLUDE cannot be used in unattended batch. The following commands cannot be included within a test script. ALLOC BOTTOM CCHILITE CONNECT DLEFT DLI DOWN DRIGHT END FADB2 FIND HELP LEFT LOCATE LOG MEMORY NOLINES RETEST RIGHT RUN STATUS TEST TOP TSO UP WHEREIS XCHANGE XPED Note: TEST and XPED can be used in unattended batch. INSERT COBOL PL/I Assembler C Language Description The INSERT command is used to temporarily insert XPEDITER/TSO commands in the program. Only one inserted command per line is permitted and the inserted line must be less than 61 characters in length. XPEDITER/TSO interprets the inserted code and executes it as if it were part of your source code. With the INSERT command, you can try out several source code fixes before you actually modify and recompile the source code. 5-6 XPEDITER/TSO and XPEDITER/IMS Reference Manual Inserted code is executed following the statement indicated in the command. Inserted lines do not update the actual source code. The inserted lines drop out when a DELETE command is issued or the test session ends. Note: If your site has XPEDITER for DB2 Extension installed, you can also use the INSERT command to insert SQL statements in your program. You can enter the I (Insert) line command on a statement containing an executable verb and enter XPEDITER/TSO commands following the statement. When commands are embedded at the end of a conditional structure that is delimited by a period or a scope terminator, the inserted statements will be executed when the code above them is reached. If you want the inserted statements to be executed only when the true path is taken, place the insert anywhere inside the true path. If you want the inserted statements to be executed only when the false path is taken, place the insert anywhere inside the false path. Note: The primary command syntax outlined below can be used only in an unattended batch test or in an INCLUDE test script. The I line command can be used interactively to open a window in your code for manual insertion of commands. Input INSERT Primary Command Syntax INSert statement-number . . . Any number of XPEDITER/TSO commands or statements . . . END-INS INSERT Line Command Syntax I In Insert one line below the current line Insert n lines below the current line The parameter description for the INSERT command is: statement-number A valid statement number. Usage Notes ALL Languages 1. The I line command cannot be combined with other line commands. 2. You cannot insert lines after a statement containing only ELSE, AT END, scope terminators (END-IF, END-READ, END-PERFORM), after the IF portion of an IF...THEN statement, an internal procedure call, an internal function call, or where a breakpoint cannot be set. The reason for this is that XPEDITER/TSO internally generates an after breakpoint on the statement where the I line command is entered and interpretively executes the inserted statements only if the internal after breakpoint is reached. The inserted statements are associated with the code above them. XPEDITER/TSO Commands (IF - MOVE) 5-7 3. You can only insert at a line that has a statement number. No insertion is allowed at a line with dashes (------). Placing the I line command on branching verbs is not permitted. A message INSERT NOT PERMITTED FOLLOWING verb is issued when you attempt to do so. If you want to execute statements following the return from the actual performed paragraph, insert the statement after the last executable code in the out-of-line paragraph. Examples ALL Languages 1. Figure 5-5 is the result of entering the I2 line command on statement 42 during an interactive test session. Figure 5-5. Result of Entering the I Line Command =====> B 000035 000036 000037 000038 000039 000040 A 000041 000042 ’’’’’’ ’’’’’’ 000043 000044 PROCEDURE DIVISION. MAIN-PARA. PERFORM INIT-PARA. PERFORM ANALYZE-NEXT-REC UNTIL OUT-OF-RECS = ’Y’. PERFORM ENDING-PARA. GOBACK. INIT-PARA. MOVE ZERO TO N-CNTR (1) N-CNTR (2). OPEN INPUT INFILE. MOVE ’N’ TO OUT-OF-RECS. 2. Figure 5-6 completes the previous line command example, showing the insertion of a program patch interactively. The two added MOVE statements are used to correct a logic error. Figure 5-6. Inserting a Program Fix =====> B 000035 000036 000037 000038 000039 000040 A 000041 000042 ’’’’’’ ’’’’’’ 000043 000044 PROCEDURE DIVISION. MAIN-PARA. PERFORM INIT-PARA. PERFORM ANALYZE-NEXT-REC UNTIL OUT-OF-RECS = ’Y’. PERFORM ENDING-PARA. GOBACK. INIT-PARA. MOVE ZERO TO N-CNTR (1) N-CNTR (2). MOVE ZERO TO N-CNTR (3) MOVE ZERO TO N-CNTR (4) OPEN INPUT INFILE. MOVE ’N’ TO OUT-OF-RECS. 3. To insert extra code after line 44, create a member in your INCLUDE dataset containing the following test script. Then enter this command sequence with the command, INCLUDE test-script-name: 5-8 XPEDITER/TSO and XPEDITER/IMS Reference Manual INSERT 44 IF SIDE_A NOT NUMERIC MOVE 'INVALID DATA' TO TRIANGLE_TYPE END-IF END-INS Valid Commands With the Insert Command COBOL The following XPEDITER/TSO commands can be used within the INSERT command: ACCEPT AFTER BEFORE COUNT DELETE EXIT GOTO IF/ELSE construct IF/OR construct INCLUDE KEEP MOVE PAUSE PEEK SET SHOW SKIP TRACE WHEN WS The following commands cannot be used within the INSERT command: AA SNAP ALLOC AT BROWSE CCHILITE CONNECT DLEFT DLI DOWN DRIGHT END EXCLUDE EXPLAIN FADB2 FIND GEN GO GO n GPREGS HELP INSERT INTERCEPT LEFT LOAD LOCATE LOG MEMORY MONITOR NOLINES RESUME RETEST REVERSE RIGHT RUN SOURCE STATUS TEST TSO UP USE WHEREIS XCHANGE XPED Assembler The following XPEDITER/TSO commands can be used within the INSERT command: AFTER BEFORE COUNT DELETE EXIT GOTO IF/ELSE construct IF/OR construct INCLUDE KEEP MOVE PAUSE PEEK SET SHOW SKIP TRACE WHEN Note: The KEEP and PEEK line commands cannot be used on lines of inserted code in Assembler. The following commands cannot be used within the INSERT command: AA SNAP ALLOC AT BROWSE CCHILITE CONNECT DLEFT DLI DOWN DRIGHT END EXCLUDE FADB2 FIND GEN GO GO n GPREGS HELP INSERT INTERCEPT LEFT LOAD LOCATE LOG MEMORY NOLINES RETEST RIGHT RUN SOURCE STATUS TEST TSO UP USING VERIFY WHEREIS XCHANGE XPED PL/I C Language The following XPEDITER/TSO commands can be used within the INSERT command: XPEDITER/TSO Commands (IF - MOVE) 5-9 AFTER BEFORE COUNT DELETE EXIT GOTO IF/ELSE construct INCLUDE KEEP MOVE PAUSE PEEK RETURN SET SHOW SKIP TRACE WHEN Note: The KEEP and PEEK line commands cannot be used on lines of inserted code in PL/I and C. The following commands cannot be used within the INSERT command: AA SNAP ALLOC AT BROWSE CCHILITE CONNECT DLEFT DLI DOWN DRIGHT END EXCLUDE EXPLAIN FADB2 FIND GO GO n GPREGS HELP INSERT INTERCEPT LEFT LOAD LOCATE LOG MEMORY NOLINES RETEST RIGHT RUN SOURCE STATUS TEST TSO UP WHEREIS XCHANGE XPED Inserting SQL Statements COBOL PL/I If you have XPEDITER for DB2 Extension and File-AID for DB2 installed at your site, you can dynamically insert SQL statements in your source. Each inserted SQL statement must be prefixed by EXEC SQL and suffixed by END-EXEC. Otherwise, XPEDITER/TSO issues a syntax error message. Any data entered after the END-EXEC statement (on the same line) is ignored. Note: Inserted SQL statements are not supported in DB2 CAF (Call Attach Facility). The following SQL statements can be inserted in your source and are valid in a test: ALTER INDEX Changes the description of an index. ALTER STOGROUP Changes the description of a storage group. ALTER TABLE Changes the description of a table. ALTER TABLESPACE Changes the description of a table space. BEGIN DECLARE Marks the beginning of a host variable declaration section. CLOSE Closes a cursor. COMMENT ON Replaces or adds a comment to the description of a table, view, or column. COMMIT Terminates a unit of recovery and commits the database changes made by that unit of recovery. 5-10 XPEDITER/TSO and XPEDITER/IMS Reference Manual CREATE DATABASE Defines a database. CREATE INDEX Creates an index on a table. CREATE STOGROUP Defines a storage group or set of volumes, controlled by a VSAM catalog, on which storage can later be allocated for table spaces and indexes. CREATE SYNONYM Defines an alternate name for a table or view. CREATE TABLE Creates a table. CREATE TABLESPACE Allocates and formats table spaces. CREATE VIEW Defines a view of one or more tables. DECLARE CURSOR Defines an SQL cursor. DECLARE STATEMENT Declares a statement for dynamic SQL. DECLARE TABLE Declares a table. DELETE Deletes one or more rows from a table. DESCRIBE Provides a description of the columns in a table or view. DROP Removes an object and its description from the DB2 catalog. END DECLARE Marks the ending of a host variable declaration section. EXECUTE Executes a prepared SQL statement. EXECUTE IMMEDIATE Prepares and executes an SQL statement. EXPLAIN Obtains information about how an SQL statement will be executed. FETCH Positions the cursor on the next row of the result table and assigns the values of that row to host variables. GRANT Grants privileges. XPEDITER/TSO Commands (IF - MOVE) 5-11 INSERT Inserts rows into a table or view. LABEL ON Adds or replaces labels in the catalog descriptions of tables, views, columns, or sets of columns. LOCK TABLE Acquires a shared or exclusive lock on a table. OPEN Opens a cursor so that it can be used to fetch rows from the result table. PREPARE Dynamically prepares an SQL statement for execution. REVOKE Revokes privileges. ROLLBACK Terminates a unit of recovery and backs out database changes made by that unit of recovery. SELECT Specifies a result table and selects rows to view. SET Changes the value of the authorization ID. UPDATE Updates the values of specified columns in rows of a table or view. INTERCEPT COBOL PL/I Assembler C Language Description The INTERCEPT command is used in interactive mode to load the program and set before and after breakpoints. When testing interactively in BTS or dialog, the INTERCEPT command is generated automatically by XPEDITER/TSO. INTERCEPT in an unattended batch test is used to get control in a subroutine or fetched procedure and establish qualification for the subroutines or procedures to be invoked. The command also identifies the program to be tested in the BTS environment. When testing in BTS batch mode, the only commands allowed in the command stream are the INTERCEPT command, the START, MAX, TRANCODE, INITSCR, and POSTSCR parameters, and the XPED command. General qualification rules for the double colon and single colon cannot be applied. A record of the command is written to the log. 5-12 XPEDITER/TSO and XPEDITER/IMS Reference Manual Input INTERCEPT INT program name module name ENTry entry-point LOAdm load-module INITscr entry-script POSTscr post-script 1 STArt intercept-start MAX intercept-count NO DB2 YES TRANCODE trancode-name The parameter descriptions for the INTERCEPT command are: program-name (COBOL PL/I, and C language) The name of the module, subroutine, CSECT, load module, or fetched procedure/function to be tested. A value is required for this field. The value can be any valid program name not exceeding eight characters. module-name (Assembler only) The name of the module or the subroutine to be tested. A value is required for this field. The value can be any valid module name not exceeding eight characters. ENTry (COBOL and Assembler) An optional alternate entry-point in the module if execution is to begin from some point other than the link-edited entry point. It can also be the entry point for the load module if no entry point is specified in the link-edit. LOAdm To test a member of a statically-linked load module, enter the name of the composite load module as the value for load-module. If the member name and the load module name are the same, a value is not required for this field. INITscr (COBOL, PL/I, and C language) The member name of the entry-script. This test script is executed at the before breakpoint in the program specified. The entry script specified must be a member of a PDS defined on the Test Script Libraries screen of the Setup Menu, or the Site-wide Script PDS, if defined. Note: The entry-script will not execute if the INTERCEPT program-name is the same as the program name being tested. Any initial/entry script processing to be done for the program tested must be part of the initial script specified in the test startup. POSTscr (COBOL, PL/I, and C language) The member name of the post-script. This test script is executed after the EXIT command has been entered to end the test. The post script specified must be a member of a PDS defined on the Test Script Libraries screen of the Setup Menu, or the Site-wide Script PDS, if defined. XPEDITER/TSO Commands (IF - MOVE) 5-13 STArt (COBOL, PL/I, and C language) The intercept number where XPEDITER/TSO testing should begin. This number informs XPEDITER/TSO when to begin processing. The value for intercept-start can be any valid numeric number not exceeding four digits. The default value is 1. This parameter is valid only if you are testing in the BTS batch environment. MAX (COBOL, PL/I, and C language) The number of times the intercept is to remain active. If no maximum intercept-count is specified, the program is intercepted each time it is executed. This parameter is valid only if you are testing in the BTS batch environment. DB2 (COBOL, PL/I, and C language) If the program to be tested is a DB2 program, the keyword DB2 must be specified. TRANCODE (COBOL, PL/I, and C language) The transaction-code of the module or subroutine to be tested. This parameter is valid only if you are testing in the BTS batch environment. Usage Notes ALL Languages 1. The INTERCEPT command performs the equivalent of a SOURCE module-name command with AFTER and BEFORE module breakpoint commands. (In batch, the source is not displayed.) 2. The DELETE INTERCEPT command without a specified program name removes all intercepts set for all programs for which INTERCEPT commands were entered. Specify a program-name to remove only the intercepts set in that program. 3. In batch testing, breakpoint commands encountered after an INTERCEPT command are assumed to refer to the program specified in the last INTERCEPT command processed. 4. When the INTERCEPT command is used interactively to specify a subprogram, the source for that program is displayed. Any number of commands can be entered once the source is displayed. 5. The LOCATE * or SOURCE command returns you to the source display where execution was suspended. 6. SHOW INTERCEPTS displays the active intercepts. See “SHOW” on page 6-36 for details. COBOL PL/I C Language 1. When the program to be tested is a BTS or Dialog Manager program, the INTERCEPT command is used to specify and set up the program to be tested. Assembler 1. XPEDITER/TSO places a before breakpoint on a line containing the CSECT or START directive and interprets it as the before module breakpoint. XPEDITER/TSO also places a before breakpoint on a line containing the L R13,4(R13) instruction followed by the BR R14 instruction, on the RETURN macro, PR instruction, or CEETERM macro and interprets it as the after module breakpoint. 5-14 XPEDITER/TSO and XPEDITER/IMS Reference Manual Examples Assembler 1. To intercept the CSECT TRITSTA and display the breakpoints, enter: INTERCEPT TRITSTA; SHOW BREAKS Figure 5-7 shows the result of executing that INTERCEPT command. Figure 5-7. Intercepting TRITSTA and Showing Breaks ------------------------ XPEDITER/TSO - SOURCE ---------------------------------COMMAND ===> SCROLL ===> CSR SPECIFIED STATEMENTS ARE SHOWN - RESTORE SOURCE WITH ’END’ ---------------------------------------------------------- Before TRIMAINA ****** ************************** TOP OF MODULE **************************** - - - - - - - - - - - - - - - - - - 1 LINE NOT DISPLAYED 000039 B TRITSTA CSECT - - - - - - - - - - - - - - - - - - - 66 LINES NOT DISPLAYED 000106 B ENDIT L R13,4(R13) - - - - - - - - - - - - - - - - - - - 24 LINES NOT DISPLAYED ****** ************************ BOTTOM OF MODULE *************************** KEEP COBOL PL/I Assembler C Language Description The KEEP command will continuously display the value of program variables or selected data areas in a Keep window. The displayed values are updated as breakpoints are encountered and are denoted by a K in column 9 of the Keep window. XPEDITER/TSO automatically keeps the values of data items referenced by the current execution line whenever execution halts. These values are either displayed at the bottom of the Keep window (default) or, optionally, in an Automatic Keep window at the bottom of the screen. Refer to “SET” on page 6-21 for additional information. The results of KEEP commands and automatic keeps are written to the log unless they are suppressed by the SET LOG KEEP OFF and SET LOG AUTOKEEP OFF commands. Input KEEP K KeepE KeepH data LINKAGE LOCAL-STORAGE WORKING-STORAGE CSR XPEDITER/TSO Commands (IF - MOVE) 5-15 KEEP Line Command Syntax K Kn K* KK KE KEn E EE KH KHn H HH Keep the first variable on a line Keep the nth variable on a line Keep all variables on a line Keep all variables on a block of lines Keep the elementary items for the variable on a line Keep the elementary items for the nth variable on a line Show the elementary items for a variable displayed in the Keep window Show the elementary items on a block of lines displayed in the Keep window Keep the variable on the line in hexadecimal format Keep the nth variable on a line in hexadecimal format Show the hexadecimal format of a variable displayed in the Keep window Show the hexadecimal format of the variables on a block of lines displayed in the Keep window K line commands will display the nth variable on a line as follows: K or K1 displays the first variable on the line, K2 displays the second variable, K3 the third variable, and so forth. K* is used when you want to display all the variables on the line. Kn and K* line commands treat a qualified data name as a unit. Note: The K line commands cannot be used on lines of inserted code in Assembler, PL/I, or C. The parameter descriptions for the KEEP command are: KEEP Displays data areas in EBCDIC format if defined as character (C); in decimal format if defined as decimal (P,Z,F,H); in hexadecimal format if defined as hexadecimal (X), binary (B), or address (Y,A,S,V,Q). KeepE Expands a group item or structure to its subordinate items and displays the value of each elementary item without showing the value of the group item or structure. The result is the same for a KEEPE command or a KEEP command when issued for an elementary item. Note: The KEEPE primary command and equivalent line commands are not valid in Assembler. KeepH Displays the hexadecimal value of the specified data item in a Keep window. You can type over either the hexadecimal digits or the display digits. If you type over both fields, the hexadecimal digits take precedence. You cannot type over the hexadecimal digits unless all lines (column template, EBCDIC display, and hexadecimal display) are shown on the screen. Typing over is not permitted if the display occurs at the bottom of the screen and vertical truncation occurs. data A data-name, variable, data-label, or register (Rn). LINKAGE (COBOL only) The linkage section of the active source program. LOCAL-STORAGE (COBOL only) The local-storage section of the active source program. 5-16 XPEDITER/TSO and XPEDITER/IMS Reference Manual WORKING-STORAGE (COBOL only) The working-storage section of the active source program. CSR The data area indicated by the cursor position. Usage Notes ALL Languages 1. Usage notes related to tables and/or arrays can be located under the topics “Keeping Tables” or “Keeping Arrays”. Related information is also located under the topic “Understanding the OCCURS Field”. 2. E, EE, H, and HH should only be entered on a line in the Keep window. If entered on a source line, the result is a PEEK command. 3. Kept items are updated at each interrupt until they are removed by the DELETE command. An interrupt occurs: – At an after, before, when, or trace breakpoint. – At a dynamic pause occurring when a GO or maximum count limit is reached. When a maximum count limit is reached in batch mode testing, the kept variables are updated in the log. Execution resumes following the log update as if the COUNT command had been reset. – At an abend. 4. Kept items are displayed in the log immediately after the breakpoint message and any error messages. If the value of the item changes, the new value is recorded in the log along with a message to that effect. Any kept data names that have not changed value are also reported. 5. Items are displayed in the order that they were kept; i.e., the first item kept is displayed first, and so forth. Explicit keeps are always displayed before automatic keeps. 6. The Keep window is both scrollable and adjustable in size. If the data exceeds the size of the window, move the cursor to the window and use the PF7 (UP) and PF8 (DOWN) keys to scroll the data vertically. Scroll the window horizontally by using the PF22 (DRIGHT) and PF23 (DLEFT) keys. Note: The Keep window is cursor sensitive. To keep the cursor in the window while continuously scrolling up and down, put the cursor on the dashed line that separates the window from the source. You can also set the size of the Keep and Source windows by using the SET WINDOW KEEP and SET WINDOW SOURCE commands. Refer to “SET” on page 6-21 for information on sizing the Automatic Keep, Keep, and Source windows. 7. When the cursor is in the Home position, use the LEFT (PF10) and RIGHT (PF11) commands to scroll the source and the DLEFT (PF22) and DRIGHT (PF23) commands to scroll the data in the Keep window. 8. The SHOW KEEPs command can be used to show all items that have been kept. 9. When testing interactively, kept lines are displayed immediately below the message area of the source display. The line command area for each kept data name can be typed over with any applicable line commands. The value field can be typed over in the same manner as with the PEEK command. A dashed line separates the fixed or kept area from the source area below it. XPEDITER/TSO Commands (IF - MOVE) 5-17 10. A column template is displayed above the data areas that are defined as character (C). The column template corresponds to the length of the data area. Data areas defined as hexadecimal (X), address (A,Y,S,V,Q), binary (B), fixed-point (H,F), floating-point (E,D,L), or decimal (P,Z) are displayed without a column template. The length of a numeric field is a function of its internal representation. 11. Nonrepresentable characters are displayed as periods (.) and invalid numeric values are displayed as question marks (?). XPEDITER/TSO displays lowercase data as is. If your terminal cannot display lowercase characters, you can have XPEDITER/TSO display lowercase characters as nonrepresentable characters by entering the command: SET LOWCASE CONVERT To restore the default of displaying lowercase characters as is, enter the command: SET LOWCASE ASIS Note that the period (.) is the default for nonrepresentable characters. You can change it using the SET NONDISP command. However, the default for invalid numeric values (?) cannot be changed. 12. The KEEP line commands automatically resolve data qualification. When using the KEEP primary command, you must specify the appropriate qualification. Refer to “Command Qualification Rules” on page 1-4. 13. You can reference any data area that is not in protected storage and alter its contents by typing over the displayed data (implicit move) or by using the MOVE command. 14. The K line commands are taken as KEEP data area commands. The nth variable is determined as follows: K or K1 would keep the first data area on a line, K2 would keep the second data area, K3 the third data area, and so forth. K* is used when you want to display all the data areas on the line. Note: The K line commands cannot be used on lines of inserted code in Assembler, PL/I, or C. 15. Use the DELETE command or D line command to remove kept items from the Keep window. 16. A different item list is maintained for each program. Each program’s kept items are displayed whenever that program is active. In this case, “active” means that a breakpoint occurred in that program, or a SOURCE command was issued for that module. Nested programs share a common keep list if they are part of the same module. COBOL PL/I C Language 1. A variable contains invalid data if it is an elementary numeric item and the contents of the variable do not conform to its defined usage. XPEDITER/TSO displays a numeric field containing invalid data as question marks (?). A flag indicating the invalid data type is displayed to the right of each numeric field. PL/I C Language 1. Kept items that are defined as bit strings are kept in bit format, and a B is displayed on the right side of the Keep window. You cannot request a hexadecimal display on a bit string. Use the MEMORY command to see the hexadecimal values. 2. Keeps on based variables will show the item and the address it is based on. Note that K line commands can be entered on lines with no statement numbers. 5-18 XPEDITER/TSO and XPEDITER/IMS Reference Manual 3. Using the primary KEEP command, based variables can be kept in the format: KEEP pointer -> variable The default base will be picked up if none is specified. To keep the variable G_REC based on the pointer ZPTR_3, enter the following: KEEP ZPTR_3 -> G_REC 4. When addressability has not been established for a variable, the Keep window displays the message NO ADDR. The message disappears when addressability is established. This may happen for an automatic variable if the procedure it is declared in is not active; for a controlled variable if it has not been allocated; or for a based variable if the base has no addressability. 5. KEEP does not support automatic adjustable arrays or structures with an unknown length at compile-time. 6. Extended floating-point data (16 bytes) is formatted using just the first doubleword. Assembler 1. Data areas outside the program (reentrant), or data areas for which addressability has not been established, are not displayed. 2. Data areas defined as graphic (G) are supported by the KEEP command. 3. Data names longer than 32 bytes are fully scrollable in the Keep window, and the full data name can be displayed when the source is scrolled to the left. Examples COBOL 1. To display the contents of EOF-SW at every pause breakpoint in the current module, enter: KEEP EOF-SW 2. To keep SIDE-A of WORK-REC when duplicate variable names exist in the active program, qualify the variable as follows: KEEP SIDE-A OF WORK-REC Assembler 1. Figure 5-8 shows an example of keeping variables using the High-Level Assembler qualification syntax. These variables are made addressable by the labeled dependent USING instructions. See “USING” on page 7-7. XPEDITER/TSO Commands (IF - MOVE) 5-19 Figure 5-8. Keeping Labeled Dependent USINGs ------------------------ XPEDITER/TSO - SOURCE ---------------------------------COMMAND ===> SCROLL ===> CSR PROGRAM: HLAUS2 MODULE: HLAUS2 COMP DATE: 07/28/1995 COMP TIME: 11:50:00 OUTEMPA =000C94FF ----+--000165 K HIREDATE DS CL8 > 09011994 INEMPA =000C94A8 ----+--000165 K HIREDATE DS CL8 > 09011972 -------------------------------------------------------- Before HLAUS2:124 000110 LADUSING EQU * 000111 LA R5,RECIN ADDRESS OF EMPLOYEE RECORD READ 000112 LA R6,RECOUT ADDRESS OF EMPLOYEE RECORD TO WRITE 000113 INEMPA USING EMPLOYEE,R5 R5 IS INPUT BASE 000114 INJOBA USING JOBINFO,OUTEMPA.EMPLOYEE+EMPLLEN 000115 OUTEMPA USING EMPLOYEE,R6 R6 IS OUTPUT BASE 000116 OUTJOBA USING JOBINFO,OUTEMPA.EMPLOYEE+EMPLLEN 000117 MVC OUTEMPA.FIRSTNAM,INEMPA.FIRSTNAM 000118 MVC OUTEMPA.LASTNAME,INEMPA.LASTNAME 000119 MVC OUTEMPA.BDATE,INEMPA.BDATE 000120 MVC OUTEMPA.HIREDATE,INEMPA.HIREDATE 000121 MVC OUTJOBA.JOBDESC,INJOBA.JOBDESC 000122 MVC OUTJOBA.JOBSTART,INJOBA.JOBSTARTs Understanding the OCCURS Field When an element of a single-dimensional array (a table) or an element of a multidimensional array has been selected for a KEEP command, the display will also include an OCCURS field containing values representing the dimensions used to address the displayed element. An occurrence value may be associated with an underlying variable or it may just represent a fixed (disassociated) position of a specific table, array, or subordinate group. An associated occurrence value for a displayed array element is one in which the occurrence value is dependant upon the related subscript or index variable that was specified in the PEEK or KEEP command. Thus, the occurrence value in the OCCURS field will be dynamically updated during program execution whenever the underlying variable changes. A disassociated occurrence value for a displayed array element is one in which the PEEK or KEEP command was entered using a numeric literal for the related subscript or index value. That specific occurrence value is not associated with a variable and must therefore be overtyped or otherwise modified to address a different element. An occurrence value that contains an indicator prefix of either S= (subscripted) or I= (indexed) is associated with some underlying subscript or index variable. An occurrence value that is associated to a variable cannot have its value changed by being overtyped. Either the underlying variable must be changed, or the occurrence value must be manually disassociated from the variable by erasing the indicator S= or I= (and, optionally, changing the occurrence value). One or more of the occurrence values can be disassociated from its underlying variable by blanking out the entire value (S=n or I=n) and replacing it with the numeric value representing the desired element position in the array. Once disassociated, an OCCURS position cannot be converted back. To reestablish the display of the desired element with associated occurrence value(s), a new KEEP, PEEK, K, or P command must be used, including variables for all of the subscript or index positions affected. An OCCURS field containing multiple occurrence values may contain a mix of associated and disassociated occurrence values. For example, if the current OCCURS field of a 4-dimensional array is S=2,S=4,S=1,S=3 OCCURS 5-20 XPEDITER/TSO and XPEDITER/IMS Reference Manual and you replace the S=4 with a 1 and the S=3 with a 2, then press Enter, the OCCURS field will be changed to S=2,1,S=1,2 OCCURS The first and third occurrence values are still associated with their underlying variables. The second and fourth occurrence values, however, are now disassociated from their underlying variables. If an element group of a table or array is selected with the KEEP or PEEK command without specifying any occurrence values, the first element in that group is displayed using disassociated occurrences. All (meaning one or more) of the occurrence values are set to a default value of one. Each element of the group can then be referenced individually by overtyping any or all of the appropriate occurrence values. Disassociated occurrence values can be altered or modified in a variety of ways to manipulate how array elements are displayed. A specific array element can be selected by overtyping the occurrence value(s) to match the desired dimension(s). Array elements can also be browsed forward or backward by including a plus (+) or minus (-) modifier with the occurrence value. Then each time you press Enter, a new element will be displayed based on the value and modifier used. Keeping Tables Note: Before reading this section, familiarize yourself with “Understanding the OCCURS Field” on page 5-19. The XPEDITER/TSO KEEP command can be used to display the contents of COBOL tables. The XPEDITER/TSO Keep window will display any occurrence of a group or elementary item at any level of the table. 1. To concurrently display two occurrences of a table element in the Keep window, first duplicate the kept item by entering a K line command on the kept item. Then, if necessary, disassociate all of the occurrence fields that you plan to modify. Finally, overtype the disassociated occurrence field(s) with valid subscript or index value(s) to display the desired occurrence of the element. Optionally, even more occurrences of the same item can be concurrently displayed using the same procedure. Each occurrence of the kept item can be independently incremented or decremented to keep some preceding or following occurrence in the Keep window. If a request is entered to keep an indexed or subscripted data name and the occurrence number is not specified, the first occurrence of that item is kept. When any table sub-element is kept, XPEDITER/TSO inserts an occurrence field above the element as shown in Figure 5-9. A disassociated occurrence field can be overtyped with a valid subscript(s) to specify the next occurrence to be displayed. XPEDITER/TSO Commands (IF - MOVE) 5-21 Figure 5-9. Example of Keeping a Table Sub-element ------------------------------ XPEDITER/TSO - SOURCE ---------------------------COMMAND ===> SCROLL===> PAGE PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 07/31/1995 COMP TIME: 14:41:59 > 1 OCCURS ----+----1----+----2000026 K 10 N_NAME > EQUILATERAL TRIANGLES > 4 OCCURS 000027 K 10 N_CNTR > 0003 DECIMAL -------------------------------------------------------- Before TRIMAIN:45 000023 01 N-N-C-TABLE REDEFINES NAME_N_CNTR-TABLE. 000024 05 N-N-C OCCURS 4 TIMES 000025 INDEXED BY TX. 000026 10 N_NAME PIC X(21). 000027 10 N_CNTR PIC 9(04). 000028 01 OUT-OF-RECS PIC X. 000029 01 TRIANGLE_TYPE PIC 9. 000030 01 WORK-REC. 000031 05 SIDE-A PIC 9(01). 000032 05 SIDE-B PIC 9(01). 000033 05 SIDE-C PIC 9(01). 000034 B PROCEDURE DIVISION. 000035 MAIN-PARA. 000036 PERFORM INIT-PARA. 000037 PERFORM ANALYZE-NEXT-REC 2. When a table is updated interactively either by overtyping a disassociated occurrence field or by moving a new value to the associated variable, the log is updated to show both of the new values for the variable and the table element along with all other kept items. For this to occur, however, KEEP data logging must be enabled. The logging occurs when Enter is pressed. 3. When testing interactively, XPEDITER/TSO can be set to continuously display the next occurrence of a table element each time you press Enter. Appending a signed integer (-1 or +1, for example) to any disassociated occurrence level number will cause XPEDITER/TSO to increment or decrement the subscript by the specified amount. For example, if the current occurrence number is > 3,4,5 OCCURS and you append +1 > 3,4,5+1 OCCURS XPEDITER/TSO will display occurrence 3,4,6. The occurrence field will now display > 3,4,6+1 OCCURS When you press Enter again, occurrence 3,4,7+1 will be displayed and so on. When the maximum occurrence for that level is reached, the subscript returns to the first occurrence. XPEDITER/TSO automatically increments to the next higher level subscript. This technique can be applied at any level and at more than one level at a time. This means > 3-1,4,6+1 OCCURS and other combinations of this type are permitted. 4. Table items can be kept in a variety of ways. If no subscript is specified, the first item in the table is kept. If a numeric subscript is specified when the KEEP command is entered as a primary command, the kept item will show the field subscripted by that number. 5-22 XPEDITER/TSO and XPEDITER/IMS Reference Manual The table can also be kept with a data name as the index value. Whenever the Keep window is updated, the value of the data name is computed and the corresponding entry in the table is displayed. In this case, the occurrence field cannot be typed over. To see another value, do an explicit MOVE command to move a new index value to the data name. If a table element is kept with its index or subscript name, the display of the value in the log also reports the value of the index or subscript. 5. XPEDITER/TSO possesses another helpful feature. When you want to keep a data name that is indexed, you can name the index in the command, as follows: KEEP data-name (index-name) Then XPEDITER/TSO displays the value in the occurrence field. When the value of the index changes, the Keep window reflects the current value and displays the contents of the current table entry. To manually change an index value, blank out the applicable I= indicator and overtype that occurrence field with a new value. This disassociates the element display from the variable that I= represented. 6. KEEP line commands (K, K*, etc.) set at an indexed data-name, referenced by a statement, pick up the current occurrence and issue a KEEP data-name (index-name) internally. For example, entering the K line commands: k 0052 k 0053 SET TX TO TRIANGLE_TYPE ADD 1 TO N_CNTR(TX). results in the following Keep window display: COBOL K TX > 000027 K 10 N_CNTR > ** END ** ------------------------------------------------------ Before TRIMAIN:45 3 I=3 0000 INDEX OCCURS DECIMAL Entering GO shows the value of the current occurrence using TX as the index. COBOL K TX > 000027 K 10 N_CNTR > ** END ** ------------------------------------------------------ Before TRIMAIN:45 3 I=3 0001 INDEX OCCURS DECIMAL Typing over the occurrence field I=3 with 3 (blanking out the I=3) and pressing Enter disassociates the index TX from the display of the data name N_CNTR. COBOL K TX > 000027 K 10 N_CNTR > ** END ** ------------------------------------------------------ Before TRIMAIN:45 3 3 0001 INDEX OCCURS DECIMAL XPEDITER/TSO Commands (IF - MOVE) 5-23 When the index is disassociated from the data name, the index will not change even if the table index (TX) changes. COBOL K TX > 000027 K 10 N_CNTR > ** END ** ------------------------------------------------------ Before TRIMAIN:54 4 3 0001 INDEX OCCURS DECIMAL Example Assembler 1. Figure 5-10 shows an example of displaying a table in the Keep window. A disassociated OCCURS field is also displayed. A specific occurrence can be selected by overtyping the occurrence field. Element selections can also be incremented or decremented. This is done by appending a signed integer (for example +1, +3, or -2) to the occurrence field and repeatedly pressing Enter. Figure 5-10. Displaying a Table in the Keep Window ------------------------ XPEDITER/TSO - SOURCE ---------------------------------COMMAND ===> SCROLL ===> CSR PROGRAM: ALPRG4 MODULE: ALPRG4 COMP DATE: 07/09/1995 COMP TIME: 14:41:00 3 OCCURS 000720 K NMRTABL DS 18F > ..** 8155 00CC ** END ** ------------------------------------------------------------ Before ALPRG4 000264 CHKNUM TRT HOLD.NMRTABL VALIDATE HOLD FIELD 000265 BC 8,EDITNUM IF OK, EDIT FIELD FOR OUTPUT 000266 BADACCT MVC OEMSG,MSG5 NONNUMERIC CHARACTER 000267 B ERRAMV Keeping Arrays Note: Before reading this section, familiarize yourself with “Understanding the OCCURS Field” on page 5-19. The XPEDITER/TSO KEEP command can be used to display the contents of PL/I arrays. The XPEDITER/TSO Keep window will display any occurrence of an element of the array at any dimension combination. 1. To concurrently display two elements of an array in the Keep window, first duplicate the kept item by entering a K line command on the kept item. Then, if necessary, disassociate all of the occurrence fields that you plan to modify. Finally, overtype the disassociated occurrence field(s) with valid subscript value(s) to display the desired occurrence of the element. If a request is entered to keep an array and the subscript number is not specified, the first element of that array is kept. When any array element is kept, XPEDITER/TSO inserts an occurrence field above the element as shown in Figure 5-11. A disassociated occurrence field can be overtyped with a valid subscript to specify the next occurrence to be displayed. Note that in Figure 5-11, the Keep window has been expanded using the SET command, allowing all data values to be displayed. 5-24 XPEDITER/TSO and XPEDITER/IMS Reference Manual Figure 5-11. Example of Keeping an Array Element ------------------------------ XPEDITER/TSO - SOURCE ---------------------------COMMAND ===> SCROLL===> PAGE PROGRAM: TRIMINP1 MODULE: TRIMAINP COMP DATE: 08/07/1995 COMP TIME: 12:06:23 4+3 OCCURS ----+----1----+----2000006 K TBL INVALID TRIANGLES ----+----1----+----2----+----3 MORE-> K 01 NAMES_N_CNTRS > EQUILATERAL TRIANGLES...ISOSCE 1 OCCURS ----+----1----+----2000007 K 03 N_NAME > EQUILATERAL TRIANGLES 1 OCCURS 000007 K 03 N_CNTR > +0002 PACKED ----------------------------------------------------------- After TRIMINP1 000006 DCL TBL(4) STATIC CHAR(21) -----INIT(’EQUILATERAL TRIANGLES’,’ISOSCELES TRIANGLES’, -----’SCALENE TRIANGLES’,’INVALID TRIANGLES’); -----000007 DCL 1 NAMES_N_CNTRS, -----2 N_N_C(4), -----3 N_NAME CHAR (21) , -----3 N_CNTR FIXED(4); 2. When an array is updated interactively either by overtyping a disassociated occurrence field or by moving a new value to the associated variable, the log is updated to show both of the new values for the variable and the displayed array element along with all other kept items. For this to occur, however, KEEP data logging must be enabled. The logging occurs when Enter is pressed. 3. When testing interactively, XPEDITER/TSO can be set to continuously display the next occurrence of an array element each time you press Enter. Appending a signed integer (-1 or +1, for example) to any disassociated occurrence level number will cause XPEDITER/TSO to increment or decrement the subscript by the specified amount. For example, if the current occurrence number is > 3,4,5 OCCURS and you append +1 > 3,4,5+1 OCCURS XPEDITER/TSO will display occurrence 3,4,6. The occurrence field will now display > 3,4,6+1 OCCURS When you press Enter again, occurrence 3,4,7+1 will be displayed and so on. When the maximum occurrence for that dimension is reached, the subscript returns to the first occurrence. XPEDITER/TSO automatically increments to the next higher level subscript. This technique can be applied at any dimension and at more than one dimension at a time. This means > 3-1,4,6+1 OCCURS and other combinations of this type are permitted. 4. Array items can be kept in a variety of ways. If a numeric subscript is specified when the KEEP command is entered as a primary command, the kept item will show the field subscripted by that number. 5. XPEDITER/TSO possesses another helpful feature. When you want to keep a variable that is subscripted, you can name the subscript in the command, as follows: XPEDITER/TSO Commands (IF - MOVE) 5-25 KEEP array-name (subscript-name) Then XPEDITER/TSO displays the value in the occurrence field. When the value of the subscript changes, the Keep window reflects the current value and displays the contents of the current array entry. To manually change a subscript value, blank out the applicable S= indicator and overtype that occurrence field with a new value. This disassociates the element display from the variable that S= represented. 6. KEEP line commands (K, K*, etc.) set at a subscripted array referenced by a statement pick up the current occurrence and issue a KEEP array-name (subscript-name) internally. For example, entering the K line commands: k 0030 k 0031 TX = TRIANGLE_TYPE; N_CNTR(TX) = N_CNTR(TX) + 1; results in the following Keep window display: 000007 K TX > 000007 K 10 N_CNTR > ** END ** ----------------------------------------------------- Before TRIMINP1:25 +00003 S=3 0000 HALFWORD OCCURS ZONED Entering GO shows the value of the current occurrence using TX as the subscript. 000007 K TX > 000007 K 10 N_CNTR > ** END ** ----------------------------------------------------- Before TRIMINP1:25 +00002 S=2 0001 HALFWORD OCCURS ZONED Typing over the occurrence field S=2 with 2 (blank out the S=2) and pressing Enter disassociates the subscript TX from the array N_CNTR. 000007 K TX > 000007 K 10 N_CNTR > ** END ** ----------------------------------------------------- Before TRIMINP1:25 +00002 2 0001 HALFWORD OCCURS ZONED When the subscript is disassociated from the array, the subscript will not change even if the array subscript (TX) changes. 000007 K TX > 000007 K 10 N_CNTR > ** END ** ----------------------------------------------------- Before TRIMINP1:25 +00001 2 0005 HALFWORD OCCURS ZONED 5-26 XPEDITER/TSO and XPEDITER/IMS Reference Manual L (Last) COBOL PL/I Assembler C Language Description The L (LAST) line command reshows lines from a block of excluded lines starting with the last line. Input L Line Command Syntax L Ln Reshow the last line from a block of excluded lines Reshow the last n lines from a block of excluded lines Usage Notes ALL Languages 1. This command is valid only in the line command area of the dashed line that represents the excluded block of lines. Figure 5-12 is an example of entering the L command, and Figure 5-13 is the result. Figure 5-12. Using the L Line Command to Reshow Excluded Lines 000023 -----000024 -----L4 -----000033 -----000034 -----000035 INIT_PARA: DCL I - PROC; FIXED BIN(15); 9 LINES NOT DISPLAYED DCL TRIANGLE_TYPE DCL IX FIXED(1); FIXED BIN(15); TRIANGLE_TYPE = 0; Figure 5-13. Result of Entering the L Line Command 000023 -----000024 ------ - 000030 000031 000027 000028 -----000033 -----000034 -----A INIT_PARA: DCL I PROC; FIXED BIN(15); - - - - - - - - - - - 5 LINES NOT DISPLAYED OPEN FILE(INFILE) INPUT; END INIT_PARA; /*****************************************************************/ ANALYZE_NEXT_REC: PROC; DCL TRIANGLE_TYPE DCL IX FIXED(1); FIXED BIN(15); TRIANGLE_TYPE = 0; XPEDITER/TSO Commands (IF - MOVE) 5-27 2. On the Memory screen, only L is allowed, not Ln. LEFT COBOL PL/I Assembler C Language Description The LEFT command scrolls the source listing to the left by the specified scroll amount. After stopping at the default margin position, scrolling further to the left shows the following for each language: COBOL The line numbers in the source and the COBOL II nesting levels. The default margin position is column 7. Assembler The location counters and the object code generated at assembly time. The default margin position is column 7. PL/I The PL/I nesting levels and the compiler generated statement numbers. The default left margin is determined by the MARGIN compiler option. C Language The LINE and STMT numbers in the source. The default left margin is determined by the MARGIN compiler option. If the cursor is in the Keep window or on displayed data, the LEFT command is treated as a DLEFT command. Use the DLEFT command to scroll the data values in a Keep or Peek window while the cursor is in the Home position or in the source area. LEFT is not valid in an unattended batch test. Input LEFT n Data Half Max Page The parameter descriptions for the LEFT command are: 5-28 XPEDITER/TSO and XPEDITER/IMS Reference Manual n The number of columns to be scrolled. The value can be 1 to 9999. Data Scrolls one less than the width of the scrollable source. Half Scrolls by a half page. Max Scrolls completely to the left, so that column 1 of the data is shown. Page Scrolls by the width of the scrollable source. Usage Notes ALL Languages 1. Left and right arrowheads () are shown at the right of the execution status line, indicating that the source can be scrolled to the left and right. 2. If the LEFT command is entered without an operand, the value in the scroll amount field is used. The contents of the scroll amount field can be changed by typing over the displayed value. Any value other than Max is remembered until it is changed again. 3. The count fields are not scrolled when the source is scrolled. They overlay the source in a fixed position while the data underneath scrolls horizontally. 4. You can use PF10 and PF11 to scroll the source left and right, respectively. 5. The LEFT command is usually assigned to PF10. LINE COBOL PL/I Assembler C Language Description The LINE command allows you to select whether the line command area displays statement numbers, offsets, or addresses. It affects the source and memory displays for the duration of a test session. A record of the command is written to the log. Input STATE LINE LI 24 31 OFFset XPEDITER/TSO Commands (IF - MOVE) 5-29 The parameter descriptions for the LINE command are: STATE The line command area, which is six characters long, displays the assemblergenerated statement numbers. STATE is the default format for the line command area on the Source screen. STATE is not valid on the Memory screen, and when used, the Memory screen returns to the offset or default format. 24 The line command area displays the hexadecimal address of each instruction. The entire line command area is six characters long to represent 24-bit addressing. If your program actually uses 31-bit addressing, only the low-order three bytes of the address are displayed. 31 The line command area displays the hexadecimal address of each instruction. The entire line command area is eight characters long to represent 31-bit addressing. If an Assembler program is actually using 24-bit addressing, the high-order byte of the address is displayed as 00. OFFset The six characters in the line command area display a hexadecimal offset relative to the beginning of the module. If the source module contains multiple CSECTs, the offsets in the line command area may not be contiguous. OFFSET is the default format for the line command area on the Memory screen if the source display is set to Line Statement. Usage Notes ALL Languages 1. Any time the LINE command is entered on the Source screen and the line command area format changes, the execution status message and the log/script record of breakpoints also change format. 2. Breakpoint indicators are displayed in column 9 of the Source screen when 24-bit addressing is active and in column 11 when 31-bit addressing is active. COBOL PL/I C Language 1. The LINE command zeros out the offsets and addresses (24-bit and 31-bit) of the COBOL Data Division lines, PL/I, or C language data lines (DCLs). Examples ALL Languages 1. The result of entering the LINE OFFSET command is shown in Figure 5-14. The sixcharacter line command area now displays the hexadecimal offset for each statement. The line command area contains a dashed line if a statement does not have a listing offset associated with it. 5-30 XPEDITER/TSO and XPEDITER/IMS Reference Manual Figure 5-14. LINE OFFSET Format on the Source Screen ------------------------ XPEDITER/TSO - SOURCE ---------------------------------COMMAND ===> line 24 SCROLL ===> CSR PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 07/28/1995 COMP TIME: 14:54:33 ** END ** ------------------------------------------------------- Before TRIMAIN+5F2 00050C B PROCEDURE DIVISION 00050C MAIN-PARA. 00050C PERFORM INIT-PARA. 000528 PERFORM ANALYZE-NEXT-REC -----UNTIL OUT-OF-RECS = ’Y’. 00054C PERFORM ENDING-PARA. 000568 A GOBACK. 000592 INIT-PARA. 000592 MOVE ZERO TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4). 0005AA OPEN INPUT INFILR. 0005E8 MOVE ’N’ TO OUT-OF-RECS. M====> B ANALYZE-NEXT-REC. 0005F2 READ INFILE INTO WORK-REC -----AT END 000622 MOVE ’Y’ TO OUT-OF-RECS. 2. If the LINE 24 command is entered on the command line and M is entered in the line command area to display memory from the specified location, the result will be as shown in Figure 5-15. 24-bit addressing is used to display the hexadecimal address of the memory display starting at the specified location. The line command area is still six characters long. Figure 5-15. LINE 24 Format on the Memory Screen ------------------------- XPEDITER/TSO - MEMORY -------------------------------COMMAND ===> line 31 SCROLL ===> CSR PROGRAM: TRIMAINA MODULE: TRIMAINA COMP DATE: 07/20/1995 COMP TIME: 14:41:00 ---------------------------------------------------- Before TRIMAINA:10A9AE --0 - 2 4 - 6 8 - A C - E = 0-2-4-6-8-A-C-E10A9AE ===> 00B0C0F0 50DB0004 50BD0008 18DB4510 = ..{0&...&....... 10A9BE ===> C01C8010 AAE00A13 9110C168 4780C0D8 = {....\....A...{Q 10A9CE ===> F810C199 C1F8F810 C19BC1F8 F810C19D = 8.A.A88.A.A88.A. 10A9DE ===> C1F8F810 C19FC1F8 4110C138 4100C1A2 = A88.A.A8..A...A. 10A9EE ===> 1FFFBFF7 103105EF 92F0C1A1 070047F0 = ...7.....0A~...0 10A9FE ===> CO5C0010 1C044110 C06447F0 C0680010 = {*......{..0{... 10AA0E ===> AB4958F0 C05805EF 95F1C1A1 4780C092 = ...0{....1A~..{. 10AA1E ===> 95F2C1A1 4780C09C 95F3C1A1 4780C0A6 = .2A~..{..3A~..{. 10AA2E ===> 95F4C1A1 4790C0B0 47F0C03E FA10C199 = .4A~..{..0{...A. 10AA3E ===> C1F947F0 C03EFA10 C19BC1F9 47F0C03E = A9.0{...A.A9.0{. 10AA4E ===> FA10C19D C1F947F0 C03EFA10 C19FC1F9 = ..A.A9.0{...A.A9 10AA5E ===> 47F0C03E 070047F0 C0C40010 1C4C4110 = .0{....0{D... C0CC47F0 C0D00010 AB4158F0 C0C005EF = {..0{}.....0{{.. 10AA7E ===> 07004510 C0E08010 AAE00A14 00DD0004 = ....{\...\...... 10AA8E ===> 98ECD00C 07FE0000 00000000 00000000 = ..}............. 10AA9E ===> 00000000 00000000 00000000 00000000 = ................ 10AAAE ===> 00000000 00000000 00000000 00000000 = ................ 10AABE ===> 00000000 00000000 00000000 00000000 = ................ 10AACE ===> 00000000 00000000 00000000 00000000 = ................ 3. When the LINE 31 command is entered on the command line, the line command area is expanded to eight characters. For example: 0845BCBA XPEDITER/TSO Commands (IF - MOVE) 5-31 LOAD COBOL PL/I Assembler C Language Description Use the LOAD command in interactive mode to dynamically load a module, no matter where it resides. If no DDNAME or DSNAME is specified, the module is loaded with the default DDNAME XTASKLIB. Input DDNAME XTASKLIB LOAD module-name DDNAME DSNAME ddname dsname The parameter descriptions for the LOAD command are: module-name The name of the module to be loaded. DDNAME Data definition name. The ddname defaults to XTASKLIB. DSNAME Dataset name. The dsname must be fully qualified. Enclosure in quotation marks is optional. Usage Notes ALL Languages 1. Once a module is loaded, it is reflected in the SHOW MODULE results. However, since no source listing member has been referenced, no breakpoints are set. 2. The LOAD command lets you bring in submodules and fetched procedures that are not yet in memory in order to set breakpoints. To set breakpoints, first load the load module by entering the LOAD command, then display the CSECT/program by entering the SOURCE command. 3. If an intercepted module is being reloaded into storage by this command, the normal intercept breakpoints will not be reestablished. This could also be the case if the module was deleted or cancelled by the application program prior to this command being issued. The INTERCEPT command can be used to reestablish the normal intercept breakpoints. 5-32 XPEDITER/TSO and XPEDITER/IMS Reference Manual LOCATE COBOL PL/I Assembler C Language Description The LOCATE command scrolls the source display to a particular line number in the current program. A LOCATE operand can be an offset, statement number, or address, depending on the value for the LINE command and what is being displayed on the Source screen. Relative addressing (+/- calc) is not supported. LOCATE is not valid in an unattended batch test. Input LOCATE LOC L statement-number * offset address The parameter descriptions for the LOCATE command are: statement-number A valid statement number in the current program. LOCATE positions the statement at the top of the screen. * The statement where execution is suspended within the active source file. LOCATE * is usually assigned to PF6/18. offset The destination of the LOCATE command when the line command area is offset. Offset is a valid hexadecimal number preceded by a plus(+) sign. address A destination when the line command area is using 24- or 31-bit addressing. Examples ALL Languages 1. To scroll the display to statement number 512, enter the following: LOCATE 512 The statement is then positioned at the top of the screen. XPEDITER/TSO Commands (IF - MOVE) 5-33 LOG COBOL PL/I Assembler C Language Description The LOG command browses the session log. The session log contains a record of the commands entered during the test session and the responses to them. LOG is not valid in an unattended batch test. Input LOG Usage Notes ALL Languages 1. If the log size is 80, only 80 columns of data are written. The SET LOGSIZE 132 command extends the log size to 132 columns. The log display is scrollable to the left and right. 2. XPEDITER/TSO displays the log at the start and at the end of the test session if there is no source listing member available for the driver program. You can enter XPEDITER/TSO commands from the primary command line to continue testing your program. 3. The LOG command transfers you to the last page of the log. 4. To exit the log file, enter END, LOCATE *, or SOURCE. MEMORY COBOL PL/I Assembler C Language Description The MEMORY command is used to view an area in memory. The Memory screen is displayed showing the specified area in dump format. Each Memory screen is written to the log unless suppressed by the SET LOG MEMORY OFF command. The MEMORY command can also be entered as a line command. Input MEMORY MEM location 5-34 XPEDITER/TSO and XPEDITER/IMS Reference Manual MEMORY Line Command Syntax M Display memory starting from the address associated with the line The parameter description for the MEMORY command is: location A specified place where the memory display is to start. See “Common Parameters” on page xviii for details about location. Usage Notes ALL Languages 1. When specifying a storage location, an offset is indicated by a plus (+) sign followed by a valid hexadecimal number. A statement number or address is indicated without the plus sign. 2. If you are requesting memory on a module name, you must use the qualification syntax. Refer to “Command Qualification Rules” on page 1-4 for additional information. 3. If the referenced location does not contain a valid address, XPEDITER/TSO does not display memory and issues one of the following messages: EITHER OFFSET OR STARTING ADDRESS IS INVALID or STORAGE IS PROTECTED - MAY BE 24 BIT ADDRESS TRY %. 4. If a wide terminal (132 columns) is used, the Memory screen displays 32 bytes of data per line instead of the 16 bytes displayed on an 80-column terminal. 5. The Memory screen is scrollable. UP MAX or TOP displays memory from the start of the module, and DOWN MAX or BOTTOM displays memory to the end of the module. You can scroll further up from the **** TOP OF DATA **** or down from the **** BOTTOM OF DATA ****. 6. The Memory screen shows the base address of the program on the left side of the column template and displays the line command area in offsets rather than in statement numbers. You can change the format of the line command area by entering LINE 24 (24-bit mode addresses), LINE 31 (31-bit mode addresses), or the default value LINE OFFSET. 7. Line commands supported in the Memory screen are X (Exclude), T (Template), F (First), L (Last), and D (Delete). These commands are listed alphabetically in this manual, with X appearing with the EXCLUDE command. The Fn and Ln line commands are not supported. 8. The Memory screen contains both hexadecimal and character format. Any unprotected hexadecimal and character values can be typed over to change their values. Note: A character value that is overtyped with the XPEDITER non-display character will not be changed. 9. Use the END, LOCATE *, or SOURCE command to return to the source display screen, or the GO command to resume execution. Assembler 1. MEMORY Rn displays the register content, whereas MEMORY Rn? (31-bit mode) or Rn% (24-bit mode) displays memory starting from the address contained in register n. XPEDITER/TSO Commands (IF - MOVE) 5-35 The register contents reflect the value of the register at the time of the most recent breakpoint. 2. If the label is part of a DSECT for which addressability has not been established, XPEDITER/TSO does not display memory and issues a message: NO ADDRESSABILITY FOR DSECT 3. XPEDITER/TSO displays breakpoints as X'00' on the Memory screen in Assembler programs. A VERIFY command entered on the statement displays the code before the breakpoint was set. 4. The LINE STATEMENT command is not applicable in the Memory Display screen. XPEDITER/TSO displays the base address on the left side of the column template if the line command area is formatted with offsets. PL/I C Language 1. The PL/I variable’s offset and address base depends on the storage class. For example: – – – – An automatic variable is based on the DSA. A static variable is based on the static CSECT generated by PL/I. A controlled variable is based on a register and a PL/I descriptor. A based variable is based on the pointer or an address of another variable. Examples ALL Languages 1. The MEMORY command entered on the primary command line causes the contents of the storage area located at the start of the program to be displayed, as shown in Figure 5-16. The fifth line on the Memory screen contains a column template that starts with zero and continues to E, skipping every other digit and replacing the digit with a dash (-). The first data line contains the address being pointed to. Figure 5-16. Result of Entering the MEMORY Command ----------------------------- XPEDITER/TSO - MEMORY ---------------------------COMMAND ===> SCROLL ===> PAGE PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 09/08/1994 COMP TIME: 14:38:07 --------------------------------------------------------------- Before TRIMAIN -BASE = 00106F68 0 - 2 4 - 6 8 - A C - E = 0-2-4-6-8-A-C-E******************************************************************************* 000000 ===> 90ECD00C 185D05F0 4580F010 E3D9C9D4 = ..}..).0..0.TRIM 000010 ===> C1C9D540 E5E2D9F1 0700989F F02407FF = AIN VSR1....0... 000020 ===> 96021034 07FE41F0 000107FE 00095E94 = .......0......|. 000030 ===> 00084718 00084718 00084BC0 00084958 = ...........{.... 000040 ===> 00084C44 00084E9A 00000000 00000000 = ................ 000050 ===> 00000000 00000000 00000000 00000000 = ................ 000060 ===> 00000000 00000000 00000000 00000000 = ................ 000070 ===> 00000000 00000000 00000000 00000000 = ................ 000080 ===> 00000000 00000000 40F84BF5 F54BF3F3 = ........14.38.07 000090 ===> E2C5D740 40F86B40 F1F9F9F3 00000000 = SEP 8, 1994.... 0000A0 ===> C5D8E4C9 D3C1E3C5 D9C1D340 E3D9C9C1 = EQUILATERAL TRIA 0000B0 ===> D5C7D3C5 E2000000 00C9E2D6 E2C3C5D3 = NGLES....ISOSCEL 0000C0 ===> C5E240E3 D9C9C1D5 C7D3C5E2 40400000 = ES TRIANGLES.... 0000D0 ===> 0000E2C3 C1D3C5D5 C540E3D9 C9C1D5C7 = ..SCALENE TRIANG 0000E0 ===> D3C5E240 40404000 000000C9 D5E5C1D3 = LES ....INVAL 0000F0 ===> C9C440E3 D9C9C1D5 C7D3C5E2 40404040 = ID TRIANGLES.... 000100 ===> 00000000 00000000 00000000 00000000 = ................ 000110 ===> 00000000 00000000 00000000 00000000 = ................ 5-36 XPEDITER/TSO and XPEDITER/IMS Reference Manual 2. In PL/I, pointer (->) qualification can be used for data items, if needed. For example, MEM ZPTR_2 -> Y_REC displays a screen similar to Figure 5-17. Figure 5-17. Memory Screen Showing Pointer Qualification ----------------------------- XPEDITER/TSO - MEMORY ---------------------------COMMAND ===> SCROLL ===> PAGE PROGRAM: CMAIPLI1 MODULE: CMAIPLI COMP DATE: 01/09/1995 COMP TIME: 19:03:45 ---------------------------------------------------------- Before CMAIPLI1:65 -BASE = 0016F43C 0 - 2 4 - 6 8 - A C - E = 0-2-4-6-8-A-C-E******************************** TOP OF DATA *********************************** 000000 ===> 40404040 40404040 0007E3C5 = ..TE ***************************** BOTTOM OF DATA *********************************** MONITOR COBOL Description The MONITOR and REVERSE commands are used to activate review mode. Review mode enables you to record and then review the execution path by reversing the direction of program execution. Use the MONITOR command before executing your program to record execution. Then use the REVERSE command to review the execution history by tracing through the recorded history in the reverse direction. You can see the execution path and the changing data values as you review program execution. MONITOR records the program’s execution in a buffer. The default buffer size is 1M. XPEDITER/TSO wraps and overwrites the existing data when the buffer is filled. Use the SET REVSIZE command to increase or decrease the buffer size. Review mode can be used with OS/VS COBOL, COBOL II, and CA-OPTIMIZER. However, ANSI COBOL 68 is not supported. Review mode is not valid in an unattended batch test. Input MONITOR MON module-name module-list ALL RESET The parameter descriptions for the MONITOR command are: module-name The name of the module where execution is located. module-list A list of module names. XPEDITER/TSO Commands (IF - MOVE) 5-37 ALL A keyword used to review the execution of all COBOL modules with a source listing member. RESET A keyword used to reset the monitor mode. Usage Notes 1. MONITOR without a module name records history for the current module which is not necessarily the active module where execution is located, but the module indicated by the PROGRAM field on the third header line. 2. Use a list of module names to monitor the execution path that spans multiple called COBOL modules. 3. Use the DELETE command to stop recording the execution history. 4. The REVERSE and RESUME commands are valid only if MONITOR has first been turned on. 5. Issuing a MONITOR ALL command in an initial script or at the beginning of the test session allows you to review the execution of all COBOL statements. MOVE COBOL PL/I Assembler C Language Description The MOVE command changes the contents of program variables, program storage areas, or general purpose registers. A record of the command is written to the log. Input COBOL, PL/I, and C Syntax MOVE M data-1 literal TO data-2 Assembler Syntax MOVE M literal TO data offset address address-expression The parameter descriptions for the MOVE command are: data A data-name, variable, or data-label. 5-38 XPEDITER/TSO and XPEDITER/IMS Reference Manual literal Signed or unsigned integer or floating point number, alphanumeric string enclosed in single quotes (' '), hexadecimal string enclosed in single quotes (X' '), or figurative constant (spaces, zeros, high-values, or low-values). TO Required keyword when moving the contents of a data-item or a literal to a specified location. offset An area in storage relative to the beginning of the area. Offset is a valid hexadecimal number preceded by a plus (+) sign. address A 24- or 31-bit address. address-expression A symbolic address, +/- calc, or absolute address. Usage Notes COBOL PL/I C Language 1. Program storage areas can be displayed and modified by using the PEEK, MEMORY, or KEEP command. General-purpose register contents can be displayed and modified by using the KEEP or GPREGS command. 2. Typing over a value displayed by a PEEK or KEEP command is an implicit move. If the displayed data item is greater than the screen size (30 or 80 bytes), the target of the MOVE command entered in the log has a relative displacement and length modifier. 3. The literal field must not extend across more than one line when the MOVE command is used in an INSERT or INCLUDE in batch mode. 4. You can enter non-numeric data into a numeric item for testing; i.e., to test a program edit function, force an abend, or test exception logic or error routines. 5. When testing in full screen interactive mode, in order to type over displayed hexadecimal values (an implicit MOVE command), all displayed lines must be present on the screen. If the display occurs at the bottom or top of the screen and vertical truncation occurs (that is, if any of the lines are lost), typing over is not permitted. 6. Moving a variable or literal to a variable field in full screen interactive mode is lowercase sensitive. XPEDITER/TSO cannot determine if the terminal or printer you are using can display or print lowercase characters. For that reason, XPEDITER/TSO displays lowercase characters as nonrepresentable characters. If your terminal or printer can display lowercase characters, use the following commands: SET CAPS OFF SET LOWCASE ASIS This displays lowercase as is. The entry of both commands is necessary. If SET CAPS ON is in effect, XPEDITER/TSO converts the lowercase entry to uppercase, and it is represented in memory as uppercase. The reverse command, SET LOWCASE CONVERT, is the default. It displays lowercase as nonrepresentable characters. XPEDITER/TSO Commands (IF - MOVE) 5-39 7. The moved value of a hexadecimal literal is left-justified and padded with blanks. Assembler 1. Moves from and to floating-point fields (E, D, L) are not supported. 2. Data fields defined as graphic (G) are supported by the MOVE command. 3. You can move decimal values to numeric fields (B,X,H,F,P,Z,A,Y,S,V,Q) by not enclosing the decimal value in quotes. For example, MOVE 555 TO PCKFLD moves X'555F', provided that the receiving field is defined as packed (P), while MOVE '555' TO PCKFLD moves X'F5F5F5'. Moving decimal values to character (C) fields is not supported. 4. If the receiving field has more space available than is needed to accommodate the value that is moved, the extra space is padded. – The moved value is right-justified and padded with binary zeros (X'00') if the receiving field is defined as binary (B), hexadecimal (X), fixed-point (H,F), packed decimal (P), or address (A,Y,S,V,Q). – The moved value is right-justified and padded with EBCDIC zeros (X'F0') if the receiving field is defined as zoned decimal (Z). – The moved value is left-justified and padded with EBCDIC blanks (X'40') if the receiving field is defined as character (C). 5. If the receiving field has less space available than is needed to accommodate the value that is moved, truncation occurs, except on a move to a character field. – Left truncation occurs if the receiving field is defined as binary (B), hexadecimal (X), decimal (P,Z), fixed-point (H,F), or address (A,Y,S,V,Q). 6. You can reference any data area that is not in protected storage and alter its contents by typing over the displayed data (an implicit move) or by using the MOVE command. Typing over is recorded in the log as a MOVE command. 7. You cannot type over the PEEK or KEEP hexadecimal values unless all lines (column template, EBCDIC display, and hexadecimal displays) are shown on the screen. Typing over is not permitted if the display occurs at the top or bottom of the screen and vertical truncation occurs. 8. Areas in memory can be accessed by the MEMORY command or M line command. A section of memory is displayed in both hexadecimal format and character format. Either area can be typed over (an implicit move) to alter memory content. 9. Op (operation) codes and effective addresses can be accessed by the VERIFY command or V line command. A specific section of memory is displayed in hexadecimal format. The displayed area can be typed over (an implicit move) to alter memory content and to dynamically apply zaps. 10. General purpose register contents can be accessed by the GPREGS command. You can move decimal values, hexadecimal values, and literals to a designated register specified by Rn. The register values in the GPREGS can be typed over (an implicit move) to alter the register values. Examples COBOL PL/I C Language 1. To move a value to a program variable, enter: MOVE SIDE-A TO SIDE-B 5-40 XPEDITER/TSO and XPEDITER/IMS Reference Manual 2. To move spaces to a numeric variable, enter: MOVE SPACES TO SIDE_B or MOVE X'40' TO SIDE_B 3. To move a hexadecimal value to a program variable, enter: MOVE X'C1C2C3' TO TRIANGLE-TYPE 4. For an example of using displacement and length, move 'ADAMS' to the LASTNAME field starting at the second character as follows: MOVE 'ADAMS' TO LASTNAME(2:5) This overlays the LASTNAME field starting at the second character for the length of 5. Assembler 1. To move F'2000' to a full word field FLWRD, enter: MOVE 2000 TO FLWRD 2. To move the literal 'ERROR DETECTED' to a character field MSG1, enter: MOVE 'ERROR DETECTED' TO MSG1 3. To move X'FF' to a binary field BNRY2, enter: MOVE X'FF' TO BNRY2 4. To move register values to a specified register, enter: MOVE X'7007688' TO R13 6-1 Chapter 6. XPEDITER/TSO Commands (NOLINES - TEST) NOLINES COBOL PL/I Assembler C Language C ha p 6 Description The NOLINES command suppresses the following message lines that appear in the source display after an EXCLUDE command or keyword has been issued: XXX LINES NOT DISPLAYED Use the DELETE NOLINES command to restore the message lines. NOLINES remains in effect throughout the current test only. Input NOLINES NOL Usage Notes ALL Languages 1. As each breakpoint is encountered, the excluded source line is redisplayed to indicate where you are in the program. 2. Use the RETEST command to bring in a fresh copy of the program and reset all breakpoints and active commands, including NOLINES. PAUSE COBOL PL/I Assembler C Language Description The PAUSE command sets a breakpoint within a block of inserted XPEDITER/TSO commands. When the pause breakpoint is encountered, XPEDITER/TSO temporarily suspends execution of your program, issues a message, and returns control to you. In an unattended batch test, a record of the PAUSE command is written to the log, but execution is not suspended. 6-2 XPEDITER/TSO and XPEDITER/IMS Reference Manual Input PAUSE Examples COBOL 1. Figure 6-1 shows an example of using the PAUSE command within inserted code to cause an interrupt if a bad data record is encountered. In the result shown in Figure 6-2, note the use of the KEEP command to automatically display the invalid record on the screen. Figure 6-1. COBOL Example of Inserted Code Using PAUSE 000048 000049 ’’’’’’ ’’’’’’ ’’’’’’ ’’’’’’ 000050 000051 MOVE ’Y’ TO OUT-OF-RECS. IF OUT-OF-RECS = ’N’ IF WORK-REC NOT NUMERIC KEEP WORK-REC PAUSE END-IF MOVE ZERO TO TRIANGLE-TYPE CALL ’TRITST’ USING WORK-REC TRIANGLE-TYPE Figure 6-2. Result of Creating a Breakpoint Using PAUSE in Inserted Code ------------------------------ XPEDITER/TSO - SOURCE ---------------------------COMMAND ===> SCROLL===> CSR PAUSE REQUESTED BY INSERTED COMMAND --000032 K 01 WORK-REC > 3 3 ** END ** -----000041 000042 000043 000044 000045 000046 000047 000048 000049 ’’’’’’ ’’’’’’ =====> ’’’’’’ 000040 000051 ---------------------------------------------------- After TRIMAIN:49 INIT-PARA. MOVE ZERO TO N-CNTR (1) N-CNTR (2). OPEN INPUT INFILE. MOVE ’N’ TO OUT-OF-RECS. ANALYZE-NEXT-REC. READ INFILE INTO WORK-REC 0000011 AT END MOVE ’Y’ TO OUT-OF-RECS. IF OUT-OF-RECS = ’N’ IF WORK-REC NOT NUMERIC KEEP WORK-REC PAUSE END-IF MOVE ZERO TO TRIANGLE-TYPE CALL ’TRITST’ USING WORK-REC TRIANGLE-TYPE PL/I 1. Figure 6-3 on page 6-3 shows an example of using the PAUSE command within inserted code to cause an interrupt if a certain condition is true. In the result shown in Figure 6-4 on page 6-3, note the use of the KEEP command to automatically display the record on the screen. XPEDITER/TSO Commands (NOLINES - TEST) 6-3 Figure 6-3. PL/I Example of Inserted Code Using PAUSE 000026 000027 ’’’’’’ ’’’’’’ ’’’’’’ ’’’’’’ 000028 000029 -----000030 000031 000032 READ FILE(INFILE) SET(IN_REC_PTR); IF ¨OUT_OF_RECS THEN DO; IF IN_REC = ’345’ KEEP IN_REC PAUSE END-IF TRIANGLE_TYPE = 0;; CALL TRITSTP (WORK_REC, TRIANGLE_TYPE); TX = TRIANGLE_TYPE; N_CNTR(TX) = N_CNTR(TX) + 1; END; Figure 6-4. Result of Creating a Breakpoint Using PAUSE in Inserted Code ------------------------------ XPEDITER/TSO - SOURCE ---------------------------COMMAND ===> SCROLL===> CSR PAUSE REQUESTED BY INSERTED COMMAND IN_REC_PTR =00207D50 ----+----1----+----2----+----3 000011 K IN_REC > 345 ** END ** -------------------------------------------------------- After TRIMINP1:27 000025 ANALYZE_NEXT_REC: PROC: 000026 READ FILE(INFILE) SET(IN_REC_PTR); 000027 IF ¨OUT_OF_RECS THEN DO; ’’’’’’ IF IN_REC = ’345’ ’’’’’’ KEEP IN_REC =====> PAUSE ’’’’’’ END-IF 000028 TRIANGLE_TYPE = 0;; 000029 CALL TRITSTP (WORK_REC, -----TRIANGLE_TYPE); 000030 TX = TRIANGLE_TYPE; 000031 N_CNTR(TX) = N_CNTR(TX) + 1; 000032 END; 000033 END ANALYZE_NEXT_REC; ------ Assembler 1. Figure 6-5 shows an example of using the PAUSE command within inserted code to cause an interrupt if a bad data record is encountered. In the result shown in Figure 6-6 on page 6-4, note the use of the KEEP command to automatically display the invalid record on the screen. Figure 6-5. Assembler Example of Inserted Code Using PAUSE 000070 000071 ’’’’’’ ’’’’’’ ’’’’’’ ’’’’’’ 000077 000078 AGAIN ZAP TYPEIV,=P’0’ GET INDCB,INREC IF INREC NOT NUMERIC KEEP INREC PAUSE END-IF MVI TYPE,C’0’ CALL TRITSTA(TYPE) READ A RECORD ZERO OUT FIELD ’TYPE’ CALL SUBORDINATE PROGRAM 6-4 XPEDITER/TSO and XPEDITER/IMS Reference Manual Figure 6-6. Result of Creating a Breakpoint Using PAUSE in Inserted Code ------------------------------ XPEDITER/TSO - SOURCE ---------------------------COMMAND ===> SCROLL===> CSR PAUSE REQUESTED BY INSERTED COMMAND ----+----1----+----2----+----3 SAME-> K INREC DS 0CL80 > 3 3 ** END ** -----000070 000071 ’’’’’’ ’’’’’’ =====> ’’’’’’ 000077 000078 000090 000091 000092 000093 000094 000095 000096 --------------------------------------------------- After TRIMAINA:71 ZAP TYPEIV,=P’0’ AGAIN GET INDCB,INREC READ A RECORD IF INREC NOT NUMERIC KEEP INREC PAUSE END-IF MVI TYPE,C’0’ ZERO OUT FIELD ’TYPE’ CALL TRITSTA(TYPE) CALL SUBORDINATE PROGRAM CLI TYPE,C’1’ IS TYPE = 1? BE EQUAL CLI TYPE,C’2’ IS TYPE = 2? BE ISOS CLI TYPE,C’3’ IS TYPE = 3? BE SCALENE CLI TYPE,C’4’ IS TYPE = 4? C Language 1. Figure 6-7 shows an example of using the PAUSE command within inserted code to cause an interrupt if a certain condition is true. In the result shown in Figure 6-8 on page 6-5, note the use of the KEEP command to automatically display the record on the screen. Figure 6-7. C Language Example of Inserted Code Using PAUSE 000138 000138 000139 000139 '''''' '''''' '''''' '''''' 000140 000141 000142 000142 000143 000144 bytesread = fread( &work_rec, 1, REC_LEN, stream ); bytesread = fread( &work_rec, 1, 80, stream ); if (bytesread == REC_LEN) /* fread success */ if (bytesread == 80) /* fread success */ IF work_rec(1:3) = '234' KEEP work_rec PAUSE END-IF; { triangle_type = tritstc(&work_rec); tarray??(triangle_type-1??).tricnt++; tarray[triangle_type-1].tricnt++; return('n'); } XPEDITER/TSO Commands (NOLINES - TEST) 6-5 Figure 6-8. Result of Creating a Breakpoint Using PAUSE in Inserted Code ------------------------- XPEDITER/TSO - SOURCE -----------------------------COMMAND ===> SCROLL ===> CSR PAUSE REQUESTED BY INSERTED COMMAND ----+----1----+----2----+----3 SAME-> K work_rec > 234 ** END ** -----000138 000138 000139 000139 '''''' '''''' =====> '''''' 000140 000141 000142 000142 000143 000144 000145 ----------------------------------------------- After TRIMAINC:139 bytesread = fread( &work_rec, 1, REC_LEN, stream ); bytesread = fread( &work_rec, 1, 80, stream ); if (bytesread == REC_LEN) /* fread success */ if (bytesread == 80) /* fread success */ IF work_rec(1:3) = '234' KEEP work_rec PAUSE END-IF; { triangle_type = tritstc(&work_rec); tarray??(triangle_type-1??).tricnt++; tarray[triangle_type-1].tricnt++; return('n'); } else /* fread() failed */ PEEK COBOL PL/I Assembler C Language Description The PEEK command is used to view the contents of program variables. PEEK scrolls to the data area, displays the data values next to the variable, and inserts a P in column 9 of the source. You can alter the variable content by typing over the displayed value. The PEEK display is temporary and is deleted when execution resumes. A PEEK is valid on any line with a variable name. The results of PEEK commands are recorded in the log unless suppressed by the SET LOG PEEK OFF command. Input PEEK P PeekE PeekH data LINKAGE LOCAL-STORAGE WORKING-STORAGE PSW CSR PEEK Line Command Syntax P P* Pn PP PE PEn E Display Display Display Display Display Display Display the all the the the the the variable on a line variables on a line nth variable on a line variables on a block of lines elementary items for the variable on a line elementary items of the nth variable on a line elementary items for the variable on a line 6-6 XPEDITER/TSO and XPEDITER/IMS Reference Manual En EE PH PHn H Hn HH - Display Display Display Display Display Display Display the the the the the the the elementary items of the nth variable on a line elementary items on a block of lines variable on the line in hexadecimal format nth variable on the line in hexadecimal format variable on the line in hexadecimal format nth variable on the line in hexadecimal format variables on a block of lines in hexadecimal format Note: Displaying elementary items for a variable with the PEEKE primary command and equivalent line commands is not valid in Assembler. The parameter descriptions for the PEEK command are: data A data-name, variable, data-label, or register (Rn). LINKAGE (COBOL) The linkage section of the active source program. LOCAL-STORAGE (COBOL) The local-storage section of the active source program. WORKING-STORAGE (COBOL) The working-storage section of the active source program. CSR Displays the data area indicated by the cursor position. The CSR keyword is not valid in an unattended batch test. The PEEK CSR command is usually assigned to PF2. PSW (Assembler) The program status word. Usage Notes ALL Languages Usage notes related to tables and/or arrays can be found under “Understanding the OCCURS Field” on page 5-19, “Keeping Tables” on page 5-20, and “Keeping Arrays” on page 5-23. These sections are under the KEEP command, but are equally applicable to the PEEK command. COBOL 1. When the PEEK command is entered on a 01 level data item (see Figure 6-9), XPEDITER/TSO shows the value of the group item unexpanded, as shown in Figure 610. Use PEEKE to exhibit the values of elementary items subordinate to the group item without showing the group item itself, as seen in Figure 6-11. For an elementary item, the result of a PEEK and PEEKE is the same, as seen in Figure 6-12. Figure 6-9. Source for PEEK Examples 000061 000062 000063 01 GROUP-ITEM. 05 ELEMENT-1 05 ELEMENT-2 PIC X(3). PIC X(17). XPEDITER/TSO Commands (NOLINES - TEST) 6-7 Figure 6-10. Result of Entering PEEK on a GROUP-ITEM ----+----1----+----2 > 123ABCDEFGHIJKLMNOPQ 000061 P 01 GROUP-ITEM. Figure 6-11. Example of Entering PEEKE on a GROUP-ITEM 000061 000062 P 000063 P 01 GROUP-ITEM. 05 05 ELEMENT-1 ELEMENT-2 --> 123 ----+----1----+-> ABCDEFGHIJKLMNOPQ Figure 6-12. Result of Entering PEEK ELEMENT-2 or PEEKE ELEMENT-2 ----+----1----+-> ABCDEFGHIJKLMNOPQ 000063 P 05 ELEMENT-2 2. A column template is displayed above the nonnumeric data item. The length of the column template corresponds to the variable length defined in the picture clause. Numeric items are displayed without a column template. The length of a numeric field in bytes is a function of the field’s internal representation. XPEDITER/TSO converts all numeric items to display format. The usage (BINARY, PACKED, HALFWORD, etc.) is displayed to the right of each numeric field. Figure 6-14 uses the following source as an example: Figure 6-13. Source for E Line Command Example 000081 000082 000083 000084 000085 000086 000087 01 P P P P P P NUM-REC. 05 UNSIGNED-FLD 05 BINARY-FLD 05 FULLW-FLD 05 FLOAT1-FLD 05 FLOAT2-FLD 05 PACKED-FLD PIC 9(3)V99. PIC S9(3) COMP. PIC S9(8) COMP. COMP-1. COMP-2. PIC S9(5)V99 COMP-3. Figure 6-14. Numeric Items Displayed After an E Line Command on NUM-REC 000081 000082 000083 000084 000085 000086 000087 01 P P P P P P NUM-REC 05 UNSIGNED-FLD 05 BINARY-FLD 05 FULLW-FLD 05 FLOAT1-FLD 05 FLOAT2-FLD 05 PACKED-FLD > > > > > > 453.22 +10223 +00000001 +5.632E04 -.29999999999999999E+03 +17.88 DECIMAL HALFWORD FULLWORD FLOAT1 FLOAT2 PACKED Use the T and DT line commands, respectively, to add and delete a template for any displayed data. 3. If the variable’s length exceeds the screen width, the field becomes scrollable. Scrollable fields are identifiable by the highlighted MORE-> in the line command area. If the scrollable data to the right is the same as the last visible character on the 6-8 XPEDITER/TSO and XPEDITER/IMS Reference Manual screen (all spaces or binary zeros, for instance), then MORE-> is replaced by SAME-> in the line command area. When you scroll the data left or right using the DLEFT (PF22) or DRIGHT (PF23) command, only the scrollable values and their associated column templates actually move. All other fields remain stationary. Once a scrollable field is displayed to its rightmost position (that is, you have reached the end of the field), you can no longer scroll in that direction. See Figure 6-15 for a before example and Figure 6-16 on page 6-8 for an after example of scrolling a long data element. Note that only the value field and its column template scroll. Figure 6-15. Source Before Horizontal Scrolling of a Displayed Item 000022 MORE-> P 000024 01 05 FILLER PIC 9(04). ----+----1----+----2----+----3 > EQUILATERAL TRIANGLES0000ISOSC OCCURS 4 TIMES N-N-C-TABLE 05 N-N-C Figure 6-16. Result After Pressing PF23 Key for Horizontal Scrolling of a Displayed Item 000022 MORE-> P 000024 01 05 FILLER PIC 9(04). ----+----4----+----5----+----6 > ELES TRIANGLES 0003 SCALENE TR OCCURS 4 TIMES N-N-C-TABLE 05 N-N-C 4. Nonrepresentable characters are displayed as periods (.) and invalid numeric values are displayed as question marks (?). XPEDITER/TSO displays lowercase data as is. If your terminal cannot display lowercase characters, you can have XPEDITER/TSO display lowercase characters as nonrepresentable characters by entering the command: SET LOWCASE CONVERT To restore the default of displaying lowercase characters as is, enter the command: SET LOWCASE ASIS Note that the period (.) is the default for nonrepresentable characters. You can change it using the SET NONDISP command. However, the default for invalid numeric values (?) cannot be changed. 5. You can display variables in hexadecimal format by using the PEEKH command or H line command. See Figure 6-17 for an example of entering the H line command on the source line containing ID-NUMBER. Figure 6-17. Result of Entering an H Line Command on ID-NUMBER ----+----1> 345-23-8976 > FFF6FF6FFFF > 34502308976 000085 P 01 ID-NUMBER 6. You can type over either the hexadecimal digits or the displayed value. If you type over both fields, the hexadecimal digits take precedence. You cannot type over the hexadecimal digits unless the variable value line and the two lines for the hexadecimal value are shown on the screen. If the display occurs at XPEDITER/TSO Commands (NOLINES - TEST) 6-9 the bottom of the screen and vertical truncation occurs (that is, lines are lost at the bottom of the screen), typing over is not permitted. 7. A variable contains invalid data if it is an elementary numeric item and the contents of the variable do not conform to its defined usage. XPEDITER/TSO displays a numeric field containing invalid data as question marks (?). A message indicating the invalid data type is displayed to the right of each numeric field as shown in Figure 6-18. Figure 6-18. Invalid Numeric Display 000029 000030 000031 000032 000033 000034 000040 NUM-REC. 05 UNSIGNED-FLD 05 FLOAT1-FLD 05 FLOAT2-FLD 05 PACKED-FLD PROCEDURE DIVISION. MAIN-PARA. 01 P P P P B > > > > ????? ???? ???????? ???? INVALID DECIMAL INVALID FLOAT1 INVALID FLOAT2 INVALID PACKED 8. CSR is used to direct XPEDITER/TSO to display the variable indicated by the cursor position. If the cursor is not on a line containing a valid variable name, an error message is displayed. This command is most effective when the command PEEK CSR is set to a specific PF key. Then, placing the cursor on a variable name in WorkingStorage or in the Procedure Division and pressing the PF key displays the variable. CSR is not valid in an unattended batch test. 9. A displayed item can be scrolled. It will continue to display its value until execution resumes. The DELETE primary command or D line command can be used to remove a displayed item and redisplay the original source code. 10. The Pn, PEn, En, PHn, and Hn line commands are valid only on data lines. 11. The nth variable of the P line command is determined as follows: P or P1 displays the first variable on a line, P2 displays the second variable, P3 the third variable, and so forth. P* is used to display all the variables on the line. 12. The XPEDITER/TSO PEEK command can be used to view the contents of COBOL tables. XPEDITER/TSO can display the entire table or any occurrence of a group or elementary item at any level of the table. An entire table is displayed by specifying the group level variable name as shown in Figure 6-19. The remainder of the table is viewed by scrolling to the right. Figure 6-19. Displaying a COBOL Table 000133 P 0134 000135 000136 000137 000138 000139 P 0140 000141 000142 000143 000144 000145 * 01 SIMPLE-TABLE. 05 S-ELEMENT 10 10 * 01 COMPOUND-TABLE. 05 C-ROW 10 C-COL 15 C-L1 15 C-L2 OCCURS 3 TIMES INDEXED BY ROW-INDEX. OCCURS 2 TIMES INDEXED BY COL-INDEX. PIC X(2). PIC S9(3) USAGE COMP. S-NAME S-CNTR OCCURS 5 TIMES INDEXED BY SX. PIC X(10). PIC 9(04). * 13. You can display only one occurrence of any subordinate group or elementary item at a time. However, a second occurrence of the same item can be displayed simultaneously in the Keep window. 6-10 XPEDITER/TSO and XPEDITER/IMS Reference Manual If a display request is entered for an indexed or subscripted data name and the specific occurrence number is not specified, then the first occurrence of that item is displayed. When any table sub-element is displayed, XPEDITER/TSO inserts an occurrence field above the element as shown in Figure 6-20. Figure 6-20. Displaying a COBOL Table Occurrence 000023 000024 000025 000026 P 000027 P 000028 000029 000030 000031 01 N-N-C-TABLE 05 N-N-C 01 01 01 10 N-NAME 10 N-CNTR OUT-OF-RECS TRIANGLE-TYPE WORK-REC. 05 SIDE-A REDEFINES NAME-N-CNTR-TABLE. OCCURS 4 TIMES INDEXED BY TX. 3 OCCURS ----+----1----+----2> EQUILATERAL TRIANGLES > 0007 DECIMAL PIC X. PIC 9. PIC 9(01). 14. Since a PEEK command physically scrolls your source to the Data Division section, use LOCATE * to return to your current point of execution. Assembler 1. The PEEK primary command lets you display data areas in EBCDIC format if defined as character(C); in decimal format if defined as decimal (P,Z,F,H); and in hexadecimal format if defined as hexadecimal (X), binary (B), or address (Y,A,S,V,Q). 2. The PEEK command is not valid on an instruction line. 3. The P line commands cannot be used on lines of inserted code in Assembler. 4. The PEEKH primary command lets you display data areas in hexadecimal format. 5. Data items for which addressability has not been established are not displayed. 6. Data areas defined as graphic (G) are supported by the PEEK command. 7. A column template is displayed above the data areas that are defined as character (C). The column template corresponds to the length of the data area. Data areas defined as hexadecimal (X), address (A,Y,S,V,Q), binary (B), fixed-point (H,F), floating-point (E,D,L), or decimal (P,Z) are displayed without a column template. The length of a numeric field is a function of its internal representation. 8. The display field becomes scrollable if the data area length exceeds 30 bytes. The MORE-> in the line command area identifies the scrollable fields. You can use PF22 and PF23 to scroll left and right, respectively. MORE-> is replaced by SAME-> when the scrollable data to the right is the same as the last visible data on the screen. 9. A data area is said to contain invalid data if its contents do not conform to its defined usage and it displays nonrepresentable characters. The default character for invalid numeric values is the question mark (?). 10. XPEDITER/TSO cannot determine whether the terminal or printer you are using can display or print lowercase characters. For that reason, XPEDITER/TSO displays lowercase characters as nonrepresentable characters (.) or (?) for invalid numeric values. If your terminal or printer can display lowercase characters, enter: SET LOWCASE ASIS which displays lowercase as is, without converting to nonrepresentable characters. If CAPS is set to ON (default), XPEDITER/TSO converts lowercase characters to uppercase when you press Enter. SET CAPS OFF should be used in conjunction with SET LOWCASE ASIS. XPEDITER/TSO Commands (NOLINES - TEST) 6-11 11. You can reference any data area that is not in protected storage and alter its contents by typing over the displayed data (an implicit move) or by using the MOVE command. 12. You cannot type over the hexadecimal digits unless all four lines (column template, EBCDIC display, and hexadecimal display) are shown on the screen. Typing over is not permitted if the display occurs at the bottom of the screen and vertical truncation occurs. 13. If a character field defined with duplication factor is displayed, the first occurrence field is shown. Each occurrence field can be referenced individually by specifying the entry. 14. Relative addressing (+/- calculation factor) is not supported with the PEEK command. Use the MEMORY command (displays memory) instead. See “MEMORY” on page 5-33 for a description of the MEMORY command. 15. If a line contains more than one data area, the value of the first data area on the line is displayed when a P line command is entered. The Pn line command displays the nth data area. Use the P* line command to display all the data areas on the line. The P line commands cannot be used on lines of inserted code in Assembler. 16. Block PP line commands are recorded in the log as individual PEEK commands on each data area. 17. The DELETE command is used to turn off a PEEK command. PL/I 1. When the PEEK command is entered on a 01 level data item, XPEDITER/TSO shows the value of the group item unexpanded, as shown in Figure 6-21. Use PEEKE to show the values of elementary items subordinate to the group item without showing the group item itself, as seen in Figure 6-22. For an elementary item, the result of a PEEK and PEEKE is the same. Figure 6-21. Result of Entering PEEK on NAMES_N_CNTRS MORE-> P ---------------- DCL 1 NAMES_N_CNTRS 2 N_N_C(4), 3 N_NAME 3 N_CNTR > ----+----1----+----2----+----3 EQUILATERAL TRIANGLES...ISOSCE CHAR (21) , FIXED(4); Note: The PEEKE command is not valid for C language. Figure 6-22. Result of Entering PEEKE on NAMES_N_CNTRS 000007 ----------- P ------ P DCL 1 NAMES_N_CNTRS, 2 N_N_C(4), 3 N_NAME 3 N_CNTR CHAR ( > > 1 ----+----1----+----2EQUILATERAL TRIANGLES +0002 OCCURS PACKED 2. A column template is displayed above the nonnumeric data item. The length of the column template corresponds to the variable length defined. The SET TEMPLATE OFF command prevents the display of this automatic template, except for variables with the VARYING attribute. 6-12 XPEDITER/TSO and XPEDITER/IMS Reference Manual Numeric items are displayed without a column template. The length of a numeric field in bytes is a function of the field’s internal representation. XPEDITER/TSO converts all numeric items to display format. The usage (PACKED, BINARY, HALFWORD, POINTER, etc.) is displayed to the right of each numeric field. Figure 6-23. Numeric Items Displayed After an E Line Command on NUM_REC 000081 ------------------------------DCL 1 P P P P P P NUM_REC, 5 UNSIGNED_FLD, 5 BINARY_FLD, 5 FULLW_FLD, 5 FLOAT1_FLD, 5 FLOAT2_FLD, 5 PACKED_FLD; > 453.22 ZONED > +10223 HALFWORD > +00000001 FULLWORD > +5.632E04 FLOAT1 > -.29999999999999999E+03 FLOAT2 > +17.88 PACKED Use the T and DT line commands, respectively, to add and delete a template for any displayed data. 3. If the variable’s length exceeds the screen width, the field becomes scrollable. Scrollable fields are identifiable by MORE-> in the line command area. If the scrollable data to the right is the same as the last visible character on the screen (all spaces or binary zeros, for instance), then MORE-> is replaced by SAME-> in the line command area. When you scroll the data left or right using the DLEFT (PF22) or DRIGHT (PF23) command, only the scrollable values and their associated column templates actually move. All other fields remain stationary. Once a scrollable field is displayed to its rightmost position (that is, you have reached the end of the field), you can no longer scroll in that direction. See Figure 6-24 for a before example and Figure 6-25 for an after example of scrolling a long data element. Note that only the value field and its column template scroll. Figure 6-24. Source Before Horizontal Scrolling of a Displayed Item 000006 ---------------MORE-> P ---------------- DCL TBL(04) STATIC CHAR(21) INIT('EQUILATERAL TRIANGLES','ISOSCELES TRIANGLES', 'SCALENE TRIANGLES', 'INVALID TRIANGLES'); DCL 1 NAMES_N_CNTRS, 2 N_N_C(4), 3 N_NAME 3 N_CNTR > ----+----1----+----2----+----3 EQUILATERAL TRIANGLES...ISOSCE CHAR (21) , FIXED(4); Figure 6-25. Result After Pressing PF23 Key for Horizontal Scrolling of a Displayed Item 000006 ---------------MORE-> P ---------------- DCL TBL(04) STATIC CHAR(21) INIT('EQUILATERAL TRIANGLES','ISOSCELES TRIANGLES', 'SCALENE TRIANGLES', 'INVALID TRIANGLES'); DCL 1 NAMES_N_CNTRS, 2 N_N_C(4), 3 N_NAME 3 N_CNTR > ----+----4----+----5----+----6 LES TRIANGLES ...SCALENE TRIA CHAR (21) , FIXED(4); 4. Nonrepresentable characters are displayed as periods (.) and invalid numeric values are displayed as question marks (?). XPEDITER/TSO displays lowercase data as is. If your terminal cannot display lowercase characters, you can have XPEDITER/TSO XPEDITER/TSO Commands (NOLINES - TEST) 6-13 display lowercase characters as nonrepresentable characters by entering the command: SET LOWCASE CONVERT To restore the default of displaying lowercase characters as is, enter the command: SET LOWCASE ASIS Note that the period (.) is the default for nonrepresentable characters. You can change it using the SET NONDISP command. However, the default for invalid numeric values (?) cannot be changed. 5. You can display variables in hexadecimal format by using the PEEKH primary command or the H line command. See Figure 6-26 on page 6-13 for an example of entering the H line command on the source line containing IN_REC. Figure 6-26. Result of Entering an H Line Command on IN_REC 000002 000003 -----SAME-> P -------------------------DCL INFILE INPUT RECORD; DCL MORE_RECORDS BIT (1); DCL 1 IN_REC, 2 3 3 3 2 SIDES, SIDE_A SIDE_B SIDE_C UNUSED > ----+----1----+----2----+----3 789 FFF444444444444444444444444444 789000000000000000000000000000 PIC’9’, PIC’9’, PIC’9’, CHAR (77); 6. You can type over either the hexadecimal digits or the displayed value. If you type over both fields, the hexadecimal digits take precedence. You cannot type over the hexadecimal digits unless the variable value line and the two lines for the hexadecimal value are shown on the screen. If the display occurs at the bottom of the screen and vertical truncation occurs (that is, lines are lost at the bottom of the screen), typing over is not permitted. 7. You cannot request a hexadecimal display on a bit string data type. Use the MEMORY command to see the hexadecimal values. 8. A variable contains invalid data if it is an elementary numeric item and the contents of the variable do not conform to its defined usage. XPEDITER/TSO displays a numeric field containing invalid data as question marks (?). A message indicating the invalid data type is displayed to the right of each numeric field as shown in Figure 6-27. Figure 6-27. Invalid Numeric Display 000004 ----------- P ------ P ------ P SAME-> -----000005 -----'''''' '''''' -----P DCL 1 IN_REC, 2 SIDES, 3 SIDE_A 3 SIDE_B 3 SIDE_C 2 UNUSED PIC'9', > PIC'9', > PIC'9', > CHAR (7 > ?? INVALID DECIMAL ?? INVALID DECIMAL ?? INVALID DECIMAL ----+----1----+----2----+----3 .............................. ?? ?? ?? INVALID PACKED INVALID PACKED INVALID PACKED DCL 1 WORK_REC , P 2 (SIDE_A, SIDE_B, SID > P 02 SIDE_B > P 02 SIDE_C > 6-14 XPEDITER/TSO and XPEDITER/IMS Reference Manual 9. CSR is used to direct XPEDITER/TSO to display the variable indicated by the cursor position. If the cursor is not on a line containing a valid variable name, an error message is displayed. This command is most effective when the command PEEK CSR is set to a specific PF key. Then, placing the cursor on a valid variable name and pressing the PF key displays the variable. 10. A displayed item can be scrolled. It will continue to display its value until execution resumes. The DELETE primary command or D line command can be used to remove a displayed item. 11. The Pn, PEn, En, PHn, and Hn line commands are valid only on data lines. 12. The nth variable of the P line command is determined as follows: P or P1 displays the first variable on a line, P2 displays the second variable, P3 the third variable, and so forth. P* is used to display all the variables on the line. Note: The P line commands cannot be used on lines of inserted code in PL/I. 13. Peek can be used to view the contents of arrays. XPEDITER/TSO can display the entire array, or any occurrence of an element of the array, at any dimension. 14. You can display only one element of any subordinate group or elementary item at a time. However, any portion of the array can be scrolled through by altering the occurrence values once they have been disassociated from the underlying variables. If a display request is entered to keep an indexed or subscripted data name, and the specific element number is not specified, then the first element of that group is kept. When any array element is displayed, XPEDITER/TSO inserts an occurrence field above the element as shown in Figure 6-28. Figure 6-28. Displaying an Array Occurrence 000005 ----------000006 P ---------------000007 ----------- P ------ P DCL 1 WORK_REC , 2 (SIDE_A, SIDE_B, SIDE_C) FIXED DEC(1); 2 ----+----1----+----2DCL TBL(04) STATIC CHAR(21) > ISOSCELES TRIANGLES INIT('EQUILATERAL TRIANGLES','ISOSCELES TRIANGLES', 'SCALENE TRIANGLES','INVALID TRIANGLES'); DCL 1 NAMES_N_CNTRS, 2 N_N_C(4), 3 N_NAME 3 N_CNTR CHAR ( > FIXED( > 2 ----+----1----+----2ISOSCELES TRIANGLES +0001 OCCURS OCCURS PACKED 15. If the variable is not the first one declared on the line, PEEK scrolls to the source where the variable is declared and inserts a line to show the data value. 16. PEEK set at a variable that is implicitly declared converts the PEEK to KEEP. Examples Assembler 1. To display a packed data area name PACKED in a decimal format, enter: PEEK PACKED XPEDITER/TSO Commands (NOLINES - TEST) 6-15 2. To display a fullword data area named FULLW in a hexadecimal format, enter an H line command on the FULLW line area. See Figure 6-29 for an example of displaying data areas. Figure 6-29. Displaying Data Areas ************************************************************ BIN DC B'000 0004B6 > 10 ----+----1----+CHAR DC C'CHARACTER STRING' > CHARACTER STRING HEX DC X'FF0 0003C7 > FF00FF ZONED DC Z'12345' > +12345 ZONED PACKED DC P'12345' > +12345 PACKED FULLW DC F'12345' > 12345 FULLWORD HALFW DC H'12345' > 12345 HALFWORD FLOATE DC E'1.2345 > +1.2344999E+00 FLOAT1 FLOATD DC D'12345 > +1.2345000000000000E+04 FLOAT2 0810D2 P 0810D3 0810E3 0810E7 0810EC 0810F0 0810F4 0810F8 081100 P P P P P P P P 3. To display the contents of register 2 as shown in Figure 6-30, enter: PEEK R2 Figure 6-30. Displaying Register Contents ------------------------ XPEDITER/TSO - SOURCE ---------------------------------COMMAND ===> SCROLL ===> CSR R2 0007E97B -------------------------------------------------------- Before TRIRPTA:96 000090 PRINT PUT OUTDCB,PRINTLN PRINT PRINTLN =====> LA R2,2(,R2) BUMP POINTER TO NEXT TYPE 000097 LA R3,33(,R3) BUMP POINTER TO NEXT TITLE 000098 MVC NUMBER,=XL2'F0' ZERO OUT FIELD 000099 GOBACK BCT R5,BLDLINE DO IT AGAIN 4. To display the Program Status Word (PSW), enter: PEEK PSW The current PSW is then displayed in the message area. CURRENT PSW = 078D0000 0007C88A 5. If you enter: PEEK 'THIS IS NOT DATA' THIS IS NOT DATA is displayed in the message area and written to the log. RESET COBOL PL/I Assembler C Language Description Use the RESET command to reset all pending line commands or to restore all excluded lines. In an unattended batch test, you cannot use the RESET command. 6-16 XPEDITER/TSO and XPEDITER/IMS Reference Manual Input RESET RES EXCLude The parameter description for the RESET command is: EXCLude Restores all excluded lines throughout the program. RESUME COBOL Description Use the RESUME command to exit review mode and regain your current execution position. XPEDITER/TSO moves the execution arrow to the location where the REVERSE command was initially entered and issues a message. The logical execution direction status in the upper right corner is no longer displayed because XPEDITER/TSO has returned to real-time execution. RESUME is not valid unless MONITOR is turned on. RESUME RETEST COBOL PL/I Assembler C Language Description Use the RETEST command to begin a new test of the same program, even if the current test was not completed. The RETEST command directs XPEDITER/TSO to load a fresh copy of the load module before starting the next test. A record of the command is written to the log. RETEST is not valid in an unattended batch test. Input RETEST RET Usage Notes ALL Languages XPEDITER/TSO Commands (NOLINES - TEST) 6-17 1. RETEST is not valid in the Dialog, BTS, or IMS environments, or with DB2 databases. 2. To stack additional commands after the RETEST command, two delimiters must be used. For example: RETEST;;GO 1 3. RETEST resets all the XPEDITER/TSO commands and initializes the data area. 4. Use the EXIT command to completely end a test session. RETURN PL/I Assembler C Language Description The RETURN command bypasses the program logic in the active module and returns to the next higher level module. If the active module is the top-level module, the test is completed. If you are at the entry point of a submodule (a called program or procedure), this command causes an immediate return to the calling module or procedure. A record of the command is written to the log. Input RETURN Usage Notes ALL Languages 1. Bypassing program logic may not set and restore registers or variables. Program checks such as S0C1 or S0C4 could occur. 2. If a before breakpoint was set at the return linkage in the module, the RETURN command stops at the breakpoint. REVERSE COBOL Description The REVERSE command is used interactively to change the current execution direction to review the sequence of instructions that led to the current breakpoint. A requirement for using the REVERSE command is that you enter the MONITOR command at the point from where you want to review your program, or before you begin program execution. The MONITOR command activates review mode for program execution and makes it possible for you to review the path of forward execution. 6-18 XPEDITER/TSO and XPEDITER/IMS Reference Manual After the MONITOR command is executed, the status of each statement as it is executed is kept in the review log. All changes occurring from the point where the MONITOR command was entered are logged. REVERSE is not valid in an unattended batch test. Input REVERSE REV Steps in Using REVERSE 1. Enter the MONITOR command (MONITOR, MONITOR ALL, MONITOR module-name) to set up the environment that recognizes reverse execution. 2. Begin forward execution of your COBOL program. 3. When your program pauses during logical execution, enter the REVERSE command, which changes the direction of execution of your program from forward to reverse (backward). The REVERSE command acts as a toggle that changes the direction in which your program is executed. During review mode, the location message area at the top right side of the screen expands to show mode and direction. Note: Entering REVERSE only changes the direction of the review mode. It does not cause execution to occur. 4. Enter GO n or GO to begin review of already executed commands. The GO n command moves the active arrow n lines in the current direction, which lets you step through the program line-by-line. It is recommended that you use GO 1 commands to do a backward line-by-line execution. The GO command causes the program to be executed until XPEDITER/TSO encounters either the logical end of the review log or a breakpoint. While in reverse review mode, the logical end of the review log is either where logging began or the end of the log buffer. At the entry point of the program, a pause occurs along with a message stating the reason for the pause. The review direction is then automatically changed to forward. While in forward review mode, the logical end of the review log is the current execution location (the point at which you originally entered the REVERSE command). 5. To exit review mode, enter RESUME, which takes you out of review mode and returns you to the current execution position. XPEDITER/TSO moves the execution arrow to the location where the REVERSE command was initially entered and generates a message. Review mode is automatically ended. Usage Notes 1. REVERSE displays the actual path that was taken during forward execution of the program. Note: The REVERSE command changes the direction of execution only if review mode was in effect during forward execution. In addition to REVERSE, you must enter GO to activate execution. 2. When executing in reverse, XPEDITER/TSO restores the values of all data items to their previous values. If you open a Keep window, you can watch the values change interactively. XPEDITER/TSO Commands (NOLINES - TEST) 6-19 3. All XPEDITER/TSO commands are valid during review mode, except GOTO, SKIP, INSERT, and MOVE. 4. You cannot type over data displayed in Keep or Peek windows while in review mode. 5. While the MONITOR (review) mode is in effect, you can set and remove breakpoints, perform tracing (in either direction), and display data. Note: TRACE does not default to 25 in MONITOR (review) mode. Use the PA1 key or the Attn key to stop a trace. 6. The GO and GO n commands perform the same as they do in normal execution, no matter what the direction. For example, you can repeatedly inspect the before and after values of a data item with respect to a COBOL MOVE statement in review mode by entering the sequence REVERSE, GO 1, REVERSE, GO 1, REVERSE, GO 1. 7. GO n executes n statements regardless of what module the statements are in. RIGHT COBOL PL/I Assembler C Language Description The RIGHT command scrolls the source listing to the right by the specified scroll amount. Scrolling beyond the right margin shows the listing information. The right margin position is column 72. If the cursor is in the Keep window or on displayed data, the RIGHT command is treated as a DRIGHT command. Use the DRIGHT command to scroll the data values in a Keep or Peek window while the cursor is in the Home position or in the source area. RIGHT is not valid in an unattended batch test. Input RIGHT n Data Half Max Page The parameter descriptions for the RIGHT command are: n The number of columns to be scrolled. The value can be 1 to 9999. Data Scrolls to the right one less than the width of the scrollable source. Half Scrolls by a half page. Max Scrolls completely to the right, showing the last byte of the data. 6-20 XPEDITER/TSO and XPEDITER/IMS Reference Manual Page Scrolls by the width of the scrollable source. Usage Notes ALL Languages 1. Left and right arrowheads () are shown at the right of the execution status line, indicating that the source can be scrolled to the left and right. 2. If the RIGHT command is entered without an operand, the value in the scroll amount field is used. The contents of the scroll amount field can be changed by typing over the displayed value. Any value other than Max is remembered until it is changed again. 3. The count fields are not scrolled when the source is scrolled. They overlay the source in a fixed position while the data underneath scrolls horizontally. 4. You can use PF10 and PF11 to scroll the source listing left and right, respectively. 5. Scrolling commands are not recorded in the log. 6. The RIGHT command is usually assigned to PF11. RUN COBOL PL/I Assembler C Language Description The RUN command is used in the Batch Connect facility to submit an execution JCL file and automatically connect to the specified job. When the job processes successfully, your source is displayed. Input RUN dsname The parameter description for the RUN command is: dsname The name of the dataset to be submitted and connected to the terminal. Usage Notes ALL Languages 1. When the RUN command is entered on the Select Job Step screen after specifying the execution mode (Interactive or Unattended) for the job steps, the JCL is automatically converted to process in XPEDITER/TSO and the job is submitted. XPEDITER/TSO Commands (NOLINES - TEST) 6-21 2. If the JCL is already converted, the RUN command with a dsname can be specified on any screen, causing the named dataset to be submitted and connected to the terminal. 3. When the RUN command is entered on the Select Job Step or Edit screens, the dsname parameter is optional and, if omitted, the current JCL is used. 4. If the job is a long-running job, the job status is displayed on the Connect Status screen. The status of the named job is displayed and includes: OUTPUT EXECUTING WAITING = Output queue = Running = Input queue 5. A job remains connected while it is in the system (WAITING or EXECUTING) but not yet terminated (OUTPUT or NOT FOUND). SCRNSAVE COBOL PL/I Assembler C Language Description The SCRNSAVE command copies the current XPEDITER/TSO screen to the XPEDITER log. This allows you to save images of the current test in chronological order showing the results of your test as it progresses. SCRNSAVE SET COBOL PL/I Assembler C Language Description The SET command is used to override XPEDITER/TSO defaults. Some values are set only for the duration of the test session, while others are maintained across test sessions. All SET commands that affect module management must be in effect before loading your program into memory. This can be done by editing an INCLUDE script that contains the SET commands and specifying it on the test screen as an initial script before entering the test session. SET parm group 1 parm group 2 parm group 3 6-22 XPEDITER/TSO and XPEDITER/IMS Reference Manual Parameter Group 1 ABENDSCR abend-script ON ABNDEXIT AUTOKEEP OFF BRCOV CAPS CBLTRAP CONFIRM DATETIME DYNTRAP ESPIE LETRAP LOG AUTOKEEP KEEP MEMORY PEEK VERIFY RTEREUS TEMPLATE UNCHNGED OFF AUTOCAN AUTOCLOS ON AUTOSCRL COLS DUMP GEN HEXMODE LOG FIND NOINIT PREINIT REFRESH XPEDITER/TSO Commands (NOLINES - TEST) 6-23 Parameter Group 2 ; CMDDLM char 1 CMDSIZE 2 3 DATA xx yy ALL DATAFIND NEXT OFF DBCS ON DDIGNORE ddname-list 0 DELAY . 0 0 1 n 2 3 DYNAMIC module-list EXCLUDE NOCANCEL NOCOVER 0 HANDLER 1 ENglish LANGUAGE JApanese 80 LOGSIZE 132 ASIS LOWCASE CONVERT KANA LOCAL NONE . NONDISP char 6-24 XPEDITER/TSO and XPEDITER/IMS Reference Manual Parameter Group 3 99 NESTED nnn default-value PFnn value 1M REVSIZE nnnnM nnnnnnK IGNORE0 STATIC OFF ON TRANSFER module-name TRANSLATE OFF ON xx xx ND RESET yy 0 WINDOW AUTOKEEP MAX nnn nnn 5 KEEP MAX nnn nnn 3 SOURCE MIN nnn nnn The parameter descriptions for the SET command are: Note: Use the SHOW OPTIONS or the SHOW SETS command to display the test session SET options currently in effect. ABENDSCR Valid only in an unattended batch test. Specifies an abend script to be executed when an abend occurs. Provide the member name for the abend-script. It can be any name up to eight characters. The abend script must be a member of a PDS allocated to the ddname XINCLUDE. ABNDEXIT Controls whether XPEDITER/TSO intercepts abends. If ABNDEXIT is set to ON (the default), abends are intercepted and the user is given the opportunity to correct the error if the source for the failing module is available to XPEDITER. If ABNDEXIT is OFF, abends are not intercepted. Be aware that setting ABNDEXIT to OFF can result in unwanted dumps if any of the standard dump DD files have been allocated to the test session. The SET DUMP ON command is the recommended method for producing a dump. For additional information about SET ABNDEXIT, refer to “Usage Notes” on page 6-35, note 1. XPEDITER/TSO Commands (NOLINES - TEST) 6-25 AUTOCAN (COBOL only) When AUTOCAN is set to ON, any dynamically called module not designated by the SET NOCANCEL command is deleted when control is returned to the calling module unless a breakpoint is set in it. A SET AUTOCAN command can be issued at any point within a test session. This command is valid in relation to modules compiled with OS/VS COBOL or CA-OPTIMIZER. It is not valid in VS COBOL II. The default is OFF. SET AUTOCAN can be issued in both batch and interactive modes. For additional information about SET AUTOCAN, refer to “Usage Notes” on page 6-35, note 1. AUTOCLOS With complex programs, an SC03 abend will occasionally occur when exiting an XPEDITER test. This abend is an indication that a file has not been closed and the system is having problems closing it. This may be prevented, in certain cases, by setting AUTOCLOS ON prior to issuing EXIT from the test. This will cause XPEDITER to perform closes on any DCBs left open at the end of the test, as long as the DCBs are still available. The default is OFF. For additional information about SET AUTOCLOS, refer to “Usage Notes” on page 6-35, note 1 and note 2. CAUTION: If the SC03 abend is the result of an open DCB being freemained or overlaid, then the DCB will no longer be available, the file cannot be closed, and the SC03 abend is inevitable. AUTOKEEP Controls whether the data referenced in the current statement is automatically displayed in a Keep window. The default is ON. To configure the window size and placement of the automatically kept items, refer to the SET WINDOW AUTOKEEP/KEEP/SOURCE nnn commands. For additional information about SET AUTOKEEP, refer to “Usage Notes” on page 6-35, note 1 and note 2. AUTOSCRL If the Automatic Keep window is off (SET WINDOW AUTOKEEP 0) but Autokeep is still active (SET AUTOKEEP ON), the automatically kept data is placed at the bottom of the regular Keep window. Enter SET AUTOSCRL ON to activate automatic scrolling of the Keep window. The Keep window will scroll to the bottom, displaying the last portion of the automatically kept data. With AUTOSCRL OFF (the default), the Keep window must be manually scrolled to display any data not currently visible. Note: SET AUTOSCRL has no effect on the Automatic Keep window when it is displaying automatically kept data and no effect on the Keep window when AUTOKEEP is OFF. For additional information about SET AUTOSCRL, refer to “Usage Notes” on page 6-35, note 1 and note 2. BRCOV Controls Branch Coverage for a Code Coverage test. The site default setting is determined during the installation of XPEDITER using the CTLBRCOV field of the JCLRA093 macro. This SET command can be used to override the site default for a specific test and must be placed in the initial script for that test. For additional information about SET BRCOV, refer to “Usage Notes” on page 6-35, note 1 and note 3. 6-26 XPEDITER/TSO and XPEDITER/IMS Reference Manual CAPS Controls whether XPEDITER/TSO converts lowercase characters to uppercase when they are entered by typing over displayed values. If the setting is changed to OFF, conversion does not take place. Use SET CAPS OFF in conjunction with SET LOWCASE ASIS if your terminal supports lowercase. Otherwise, XPEDITER/TSO defaults to converting user-modifiable fields to uppercase before writing to the terminal. The default is ON. For additional information about SET CAPS, refer to “Usage Notes” on page 6-35, note 1 and note 2. CBLTRAP (COBOL only) Changing the setting from the default of ON to OFF deactivates both the XPEDITER/TSO support that detects missing DD statements and the support that opens windows at the bottom of the screen for files allocated to the terminal. CBLTRAP should never be SET to OFF except by XPEDITER/TSO site technicians using it for diagnostic purposes. For additional information about SET CBLTRAP, refer to “Usage Notes” on page 6-35, note 1. CMDDLM Specifies a single character to be used as a command delimiter in the XPEDITER Batch Connect environment. The default is a semicolon (;). In a chain of XPEDITER commands, the specified delimiter indicates the end of one command and that any subsequent data should be treated as a new command. In the ISPF environment, the ISPF command delimiter is used instead of the CMDDLM value. For additional information about SET CMDDLM, refer under “Usage Notes” on page 6-35 to the portion of note 2 concerning Batch Connect. CMDSIZE Changes the primary command line so that it consists of one, two, or three lines. The default value is one. This keyword allows input of commands of up to 255 characters. You can default the primary command area to other than a single line by editing an INCLUDE script to contain SET CMDSIZE n and specifying the INCLUDE member as the initial script on the test screen. For additional information about SET CMDSIZE, refer to “Usage Notes” on page 6-35, note 1 and note 2. COLS Controls whether XPEDITER/TSO displays a column template when browsing a dataset, ddname, or AA SNAP output. The default is OFF. For additional information about SET COLS, refer to “Usage Notes” on page 6-35, note 1 and note 2. CONFIRM Controls whether XPEDITER/TSO displays a confirmation message to remind you that breakpoints and keeps are removed when D (Delete) line commands are entered. The default is ON. For additional information about SET CONFIRM, refer to “Usage Notes” on page 6-35, note 1 and note 2. DATA xx yy (Assembler only) Defines a block of executable lines of code that should be treated as data lines. No internal breakpoints will be set on these lines as a result of GO processing. xx indicates the starting line number, and yy optionally indicates the ending line number. For additional information about SET DATA, refer to “Usage Notes” on page 6-35, note 1. XPEDITER/TSO Commands (NOLINES - TEST) 6-27 DATAFIND (COBOL only) Indicates whether the next or all data names are found on the FIND data-name command. If ALL (the default) is specified, a long message indicates the total number found. If NEXT is specified, the cursor moves to the next data name found and highlights it with an informative message in column 74. Note that this SET command is used to override the installed default. For additional information about SET DATAFIND, refer to “Usage Notes” on page 6-35, note 1 and note 2. DATETIME If the value of DATETIME is set to OFF, a warning message (rather than a fatal message) is issued for all date/time stamp conflicts, allowing processing to continue. Date/time conflicts are detected by XPEDITER/TSO whenever you are setting a qualified breakpoint or whenever the SOURCE command and the INTERCEPT command are issued. In interactive mode, SET DATETIME can be issued at any time during a test session. It remains in effect until either another SET DATETIME command or an EXIT command is issued. The value of SET DATETIME will be reset to ON with a RETEST command. If the value of DATETIME is set to OFF and you have a conflict between the program and the source listing (the program has been altered and the source listing no longer matches the program), you can have unpredictable results, including abends. The default is ON. For additional information about SET DATETIME, refer to “Usage Notes” on page 6-35, note 1. DBCS Controls XPEDITER’s display translation of double-byte character set (DBCS) characters. The default of OFF causes DBCS characters to be removed as unprintable. Use the ON setting only if your terminal supports the display of DBCS characters. Except under Batch Connect, XPEDITER automatically sets DBCS based on the value of ISPF variable ZDBCS. The Batch Connect setting is determined during the installation of XPEDITER using the CTLSDBCS field of the JCLRA093 macro. For additional information about SET DBCS, refer to “Usage Notes” on page 6-35, note 1. DDIGNORE A total of 100 DDNAMEs can be specified. XPEDITER/TSO will not attempt to close these files if they are left open at the end of a test session. The DDNAME-list parameter allows from 1 to 8 file names per SET command. DDNAME lists containing greater than 8 names will be truncated. The entire DDNAME-list will be ignored for a SET command that would cause the total number of specified DDNAMEs to exceed 100. This command will replace the default DDIGNORE DDNAME list specified during the installation process, if one exists, for the current test session. Use the SET DDIGNORE command when another program or product requires that certain files be left open after the XPEDITER debugging session has finished. Note that it is possible to incur an SC03 abend for files unable to be closed at termination. DELAY Not valid in an unattended batch test. Controls the amount of delay time during the execution of a TRACE command. At the default of 0, there is no delay. If the delay is set to 1, there is a one second delay, and so forth. The delay can be set in tenths of a second, where leading and trailing zeros and a trailing decimal point can be omitted. For example, the entries 0.5 and .5 are the same, as are 2.0 and 2. The value can range from 0.0 to 3.9. The delay time takes effect only during a trace. You must enter the SET DELAY and TRACE commands before you press PF12 or enter GO and execute your program. 6-28 XPEDITER/TSO and XPEDITER/IMS Reference Manual For additional information about SET DELAY, refer to “Usage Notes” on page 6-35, note 1 and note 2. DUMP Controls whether or not a dump is produced. It has no effect on the abend intercept processing within XPEDITER/TSO. If DUMP is set to ON, XPEDITER/TSO then allows a dump to be taken when an abend occurs. A dump will only be produced if one of the standard dump DD files (SYSUDUMP, SYSMDUMP, or SYSABEND) is currently allocated to the test session. The default is OFF. When requesting a dump, it is best to issue the SET DUMP ON command just prior to execution of the actual code that is leading to the failure so that the size and number of dumps is limited. Correctable or expected conditions may produce unwanted dumps. Once the dump has been obtained, SET DUMP OFF or EXIT the test. In the case of an abend that occurs prior to the display of source, it may be necessary to place the SET DUMP ON command in an initial script. Under LE/370, a dump will be taken at the next breakpoint or abend. Note: It is also recommended that the ABNLIGNR DD file be allocated to DUMMY so that Abend-AID does not affect the dump contents. For additional information about SET DUMP, refer to “Usage Notes” on page 6-35, note 1. DYNAMIC Allows a list of 1 to 100 module names, which are dynamically loaded during application execution. Normally, this command is not needed if the modules are dynamically called by COBOL programs or by the module specified with a SET TRANSFER command. SET DYNAMIC is used to get control of dynamically called programs that are called by Assembler programs. DYNTRAP (COBOL only) If DYNTRAP is set to OFF, XPEDITER/TSO does not intercept dynamically loaded modules. However, the specified COBOL or Assembler modules are dynamically loaded if a SET DYNAMIC module-list command is executed in conjunction with SET DYNTRAP OFF. SET DYNTRAP OFF does not override SET DYNAMIC. The default is ON. SET DYNTRAP OFF must be included within an initial test script. For additional information about SET DYNTRAP, refer to “Usage Notes” on page 6-35, note 1 and note 3. ESPIE XPEDITER/TSO activates its own ESPIE (SET ESPIE ON) processing routine to detect S0C1 abend conditions (possible breakpoint) and to handle the condition if it is a breakpoint. An S0C1 abend that is not identified as a breakpoint will then be handled according to the setting of ABNDEXIT (ON or OFF). If needed, the SET DUMP ON command can be used to get a dump of an S0C1 abend, assuming that a dump DD file has been allocated. The default is ON. Note: If LETRAP is set to ON and the LE environment is active, ESPIE has no effect. For additional information about SET ESPIE, refer to “Usage Notes” on page 6-35, note 1. EXCLUDE A total of 100 modules can be excluded. XPEDITER/TSO will not intercept calls to these modules or any call to subordinate modules. XPEDITER/TSO Commands (NOLINES - TEST) 6-29 The module-list parameter allows 1 to 8 module names per SET command. Module name lists containing more than 8 names will be truncated. The entire module-list will be ignored for a SET command if it would cause the total number of excluded modules to exceed 100. The SET EXCLUDE command will replace, for the current test session, the default exclude module list specified during the installation process, if one exists. Use the SET EXCLUDE command when testing programs that use nonstandard communications between modules, such as a statically-linked assembly program loading an address and branching to a subprogram, or a COBOL or PL/I program for which you have stubbed out subroutines at link time. The SET EXCLUDE command must be in effect before the module is loaded in memory. To do this, create an INCLUDE script to contain SET EXCLUDE module-list and specify that INCLUDE member as the initial script on the test screen. For additional information about SET EXCLUDE, refer to “Usage Notes” on page 6-35, note 3. GEN (Assembler and COBOL only) Assembler macro statements as well as COBOL EXEC DLI and EXEC SQL statements can be automatically displayed either collapsed or expanded during the initial source display. The default is OFF. The setting of this option, prior to displaying the source, determines if these statements should be expanded (GEN ON) or collapsed (GEN OFF). This option only affects automatic statement expansion or collapse upon the initial display and does not affect the current source display. The GENERATE and DELETE GEN commands can be used to interactively expand or collapse these statements either globally, individually, or in groups. For additional information about SET GEN, refer to “Usage Notes” on page 6-35, note 1 and note 2. HANDLER Changes XPEDITER’s method of intercepting application abends. The default value is 0 (zero) in environments without a VisualAge PL/I element. This causes XPEDITER to wait until all applicable user condition handlers (UCHs) have been executed before it presents a program-check abend to the user. A setting of 1 will cause a program-check abend to be presented to the user after a single execution of the handler(s), when the condition would typically get promoted. This is intended for use in environments such as Visual-Age PL/I, where the user intends to interactively recover from a program-check before any cleanup is done by Language Environment. This setting is only effective when LETRAP is set to ON. For additional information about HANDLER, refer to “Usage Notes” on page 6-35, note 1. HEXMODE When HEXMODE is set to ON, any nondisplayable characters resulting from a KEEP or PEEK command entry are represented in hexadecimal format in the log. The hexadecimal characters are presented beneath the character used to depict a nondisplayable character. The SET HEXMODE command affects only the log display. The default is OFF. The SET HEXMODE ON command is equivalent in function to using the KEEPH and PEEKH commands. Setting HEXMODE to ON is especially useful in batch mode. Since the log is reviewed after the test, SET HEXMODE ON ensures that sufficient information is provided when an unexpected nonrepresentable character is encountered in a displayed value. For additional information about SET HEXMODE, refer to “Usage Notes” on page 6-35, note 1 and note 2. 6-30 XPEDITER/TSO and XPEDITER/IMS Reference Manual LANGUAGE Sets the language that XPEDITER will use for its messages. The default for the SET LANGUAGE command is ENGLISH. XPEDITER automatically sets LANGUAGE based on the value of ISPF variable ZLANG, except under Batch Connect. The Batch Connect setting is determined during the installation of XPEDITER using the CTLSLANG field of the JCLRA093 macro. For additional information about SET LANGUAGE, refer to “Usage Notes” on page 6-35, note 1. LETRAP Sets the run-time Language Environment TRAP option. If LETRAP OFF is specified, TRAP is set to OFF and XPEDITER’s abend and interrupt usage of ESPIE and ESTAE processing is activated. This prevents the LE handlers and user handlers that rely on ESPIE and ESTAE from getting control. Signal conditions are unaffected. If the SET LETRAP OFF option is to be used for the current test, it must have been placed in an initial script that was executed at run time or stored in the user profile from a previous test. The default is ON. For additional information about SET LETRAP, refer to “Usage Notes” on page 6-35, notes 1, 2, 3, and 4. LOG Specifies if writing to the log dataset is active. The default is ON. This option is not maintained across test sessions. If one of the following additional parameter is specified, writing to the log dataset will be activated for only that function: – – – – – – AUTOKEEP FIND (default is OFF) KEEP MEMORY PEEK VERIFY Notice that the default for SET LOG FIND is OFF. For additional information about SET LOG, refer to “Usage Notes” on page 6-35, note 1 and note 2. LOGSIZE Determines the size of the data generally written to the log file. The SET LOGSIZE command can be used to override the default log size. The default for batch mode testing is 132. For TSO, the default is 80. You can change the size of the log file at any point within a test session. Left and right scrolling is supported when viewing the log. For additional information about SET LOGSIZE, refer to “Usage Notes” on page 6-35, note 1. LOWCASE Specifies how lowercase letters found in the values of items are to be displayed. The Batch Connect default is determined during the installation of XPEDITER using the CTLLOWCS field of the JCLRA093 macro. The current setting for all other test environments is kept as a variable in the user’s profile, associated with XPEDITER, and retained until specifically altered. The options are: CONVERT Show lowercase characters from the user source code in uppercase. ASIS Display all lowercase characters if they exist. XPEDITER/TSO Commands (NOLINES - TEST) 6-31 NONE Show source display and all XPEDITER secondary source screens in uppercase, allowing no lowercase English characters to be displayed on the screen. KANA Does everything that option NONE does, as well as specifies all uppercase using the Katakana character translation tables. LOCAL Displays characters in their native representation. The command can be used for international language character sets and forces XPEDITER not to translate nonEnglish characters to blanks. SET TRANSLATE can be used for any additional characters that do not display. For additional information about SET LOWCASE, refer to “Usage Notes” on page 6-35, note 1 and note 2. NESTED Limits the number of levels of nested application program calls that XPEDITER will accept. Program nesting is when one program calls another program that subsequently calls a third program, etc. When a called program returns to its caller, the level of nesting is reduced by one. The default is 99. For additional information about SET NESTED, refer to “Usage Notes” on page 6-35, notes 1, 2, and 3. NOCANCEL (COBOL only) Excludes listed modules from automatic cancellation. You need to use this setting only if you are using SET AUTOCAN ON to cancel dynamically called modules. From one to 100 module names can be specified. A module specified with NOCANCEL can contain the wildcard character (*). For example, if you enter SET NOCANCEL ABC*, then modules beginning with the characters ABC are not cancelled. NOCOVER Allows a list of one to 100 module names which are not to be monitored during a code coverage test. XPEDITER/TSO does not record execution statistics or write any results to a repository for the specified modules. Use the SET NOCOVER command when performing a code coverage test with multiple modules to exclude any modules from the code coverage process. This might occur because a module has already been thoroughly tested, statistics are not desired, another user is responsible for testing the module, or the module was coded using non-standard practices or attributes not supported by XPEDITER. If there are modules within a test which have no corresponding DDIO member allocated to the test, performance can be improved by specifying the SET NOCOVER command for such modules, because the DDIO files won’t be scanned for the existence of source. In order to exclude a module from monitoring during a code coverage test, the SET NOCOVER command must be issued before the module is loaded. This can be assured by including the command in an initial script. The slash (/) character can be used as a terminating wildcard to cause the match to occur only on the prefix characters preceding the slash. For example: SET NOCOVER PGM12/ could be used to exclude from monitoring any module whose name began with the characters PGM12 (such as PGM123, PGM12ABC, PGM12, etc.). 6-32 XPEDITER/TSO and XPEDITER/IMS Reference Manual NOINIT (COBOL only) Controls whether a linkage section is initialized to binary zeros or to spaces and zeros when a subroutine is tested standalone. The default is OFF. This parameter must be used in an initial script. For additional information about SET NOINIT, refer to “Usage Notes” on page 6-35, note 1 and note 3. NONDISP Changes the character used to represent nondisplayable characters. The default value, a period (.), can be changed to any displayable character. Both the log and the interactive display show the specified character in replacement of any nondisplayable character encountered whenever a KEEP or PEEK command is entered. The current value of char can be displayed with a SHOW OPTIONS or SHOW SETS command. Note: Invalid numeric values are displayed as question marks (?). For additional information about SET NONDISP, refer to “Usage Notes” on page 6-35, note 1 and note 2. PFnn Changes the setting of the specified PF key. To see the current settings, enter the SHOW OPTIONS, SHOW PFKEYS, or SHOW SETS command. The following table lists the default values for each of the PF keys. PF1 HELP PF2 PEEK CSR PF3 END PF4 EXIT PF5 FIND PF6 LOCATE * PF7 UP PF8 DOWN PF9 GO 1 PF17 FIND IND PF18 LOCATE * PF19 UP PF20 DOWN PF21 GO 1 PF22 DLEFT PF23 DRIGHT PF24 GO PF10 LEFT PF11 RIGHT PF12 GO PF13 HELP PF14 FIND CSR PF15 END PF16 EXIT For additional information about SET PFnn, refer to “Usage Notes” on page 6-35, note 1 and note 2. PREINIT Informs XPEDITER whether LE pre-initialization is going to be employed in the user’s application. If CEEPIPI is going to be invoked to pre-initialize the LE environment of a module which is going to be debugged, SET PREINIT ON must be specified in an initial script. The default is OFF. REFRESH Controls whether the entire screen should be updated at every write to the terminal. The default is OFF. For additional information about SET REFRESH, refer to “Usage Notes” on page 6-35, note 1. REVSIZE (COBOL only) If MONITOR is set ON, you can use the SET REVSIZE command to set the review log to a size appropriate to your program. The default is 1M. K represents 1024 bytes, and M represents 1024K (1048576 bytes). The maximum value allowed is 2047M. It is XPEDITER/TSO Commands (NOLINES - TEST) 6-33 recommended that you reduce the size only if you have storage constraints above the 16MB line. If REVSIZE is set too low and you use up the available space, the buffer is overwritten and you receive the message AT OLDEST RETAINED EXECUTION POSITION. For additional information about SET REVSIZE, refer to “Usage Notes” on page 6-35, note 1. RTEREUS At some sites, the COBOL run-time option, RTEREUS, is set to ON by default. This may have adverse effects on your XPEDITER/TSO test. To disable it, include the SET RTEREUS OFF command in an initial script. This command will have no effect if the COBOL run-time option is already OFF. The SET RTEREUS ON command allows the default setting of the RTEREUS COBOL run-time option to be used during the test. It does not set the RTEREUS COBOL runtime option to ON. For additional information about SET RTEREUS, refer to “Usage Notes” on page 6-35, note 1 and note 2. STATIC SET STATIC IGNORE0 (the default) allows XPEDITER/TSO to intercept all resolved external references, but not the unresolved external references. If STATIC is set to ON, XPEDITER/TSO will replace all external references with the address of XPEDITER/TSO’s Static Control Block. If STATIC is set to OFF, XPEDITER/TSO leaves all external references alone. For additional information about SET STATIC, refer to “Usage Notes” on page 6-35, note 1 and note 3. TEMPLATE By default, XPEDITER/TSO displays a column template when displaying data items in both the source and log displays. The template is a dashed line showing column positions and is helpful for aligning characters during data entry. The length of the column template corresponds to the length of the data area. You can disable this feature with the SET TEMPLATE OFF command. Once issued, any items added to the KEEP window will not have a column template. At any time, you may add a column template to an item in the KEEP window with the T line command. You can also remove the column template with the DT line command. For additional information about SET TEMPLATE, refer to “Usage Notes” on page 6-35, note 1 and note 2. TRANSFER SET TRANSFER is used to specify the name of an interface module that dynamically loads application modules. The transfer module must be an Assembler module that dynamically calls a program. The first parameter passed to it must be the eightcharacter name of the program it is to call, followed by any parameters needed by that program. TRANSLATE Allows you to override how non-alphanumeric characters are displayed. The hexadecimal value yy is substituted for hex value xx. Specifying ND causes the current NONDISP character to be substituted for hex value xx. RESET causes any previously entered TRANSLATE command for hex value xx to be undone, allowing the original default substitution to occur. Omitting the second parameter causes hex value xx to be replaced with hex value xx, which might be used when the NONDISP character defaults as the replacement character for hex value xx. Setting TRANSLATE OFF causes all previously-entered TRANSLATE overrides to be disabled, while retaining the previously-requested values. 6-34 XPEDITER/TSO and XPEDITER/IMS Reference Manual The current settings of TRANSLATE can be displayed with a SHOW OPTIONS or SHOW SETS command. For additional information about SET TRANSLATE, refer to “Usage Notes” on page 6-35, note 1 and note 2. UNCHNGED When the value of one or more kept items has changed since the most recent interrupt (breakpoint, when, etc.), those values are written to the log. The values of any other kept items are shown in the log as UNCHANGED. Specifying SET UNCHNGED OFF causes XPEDITER to write the values of all kept items to the log regardless of whether or not those values have changed. The default is ON. For additional information about SET UNCHNGED, refer to “Usage Notes” on page 6-35, note 1. CAUTION: Depending on the length of the kept items, setting UNCHNGED to OFF may significantly increase the size of the XPEDITER/TSO log. WINDOW Allows you to adjust the size of the Automatic Keep window, the Keep window, or the minimum size of the source display. SET WINDOW requires one of the following parameters: AUTOKEEP Allows you to adjust the size of the Automatic Keep window and determine the placement of the automatically kept items. The variable nnn specifies the number of lines in the window. SET WINDOW AUTOKEEP 0, the default, displays automatically kept data in the Keep window at the top of the source display. If you want a separate window for automatically kept items, specify SET WINDOW AUTOKEEP nnn to set a fixed size Automatic Keep window of nnn lines at the bottom of your source display. If you want a separate window but want to see as much of your source as possible, you can use the MAX parameter and specify SET WINDOW AUTOKEEP MAX nnn to set an adjustable size Automatic Keep window at the bottom of the screen that dynamically expands up to nnn lines. Note: AUTOKEEP must be set to ON (the default) to display the Automatic Keep window. Setting the size and placement of the window does not automatically set AUTOKEEP to ON. For more information, see “AUTOKEEP” on page 6-25. KEEP Allows you to adjust the size of the Keep window. The variable nnn specifies the number of lines in the window. If the MAX parameter is specified, (e.g., SET WINDOW KEEP MAX nnn), an adjustable size Keep window that dynamically expands up to nnn lines is set. If the MAX parameter is not specified, (e.g., SET WINDOW KEEP nnn), a fixed size Keep window of nnn lines is set. The default is 5. SOURCE Allows you to set the minimum size of the source display. The variable nnn specifies the minimum number of lines to display. For example, SET WINDOW SOURCE 3 sets a minimum of three source lines to be displayed. The source window will expand as much as possible depending on the maximum size of the Keep and Automatic Keep windows. The default is 3. For additional information about SET WINDOW, refer to “Usage Notes” on page 6-35, note 1 and note 2. XPEDITER/TSO Commands (NOLINES - TEST) 6-35 Usage Notes ALL Languages 1. Defaults for all SET commands are in effect until values are changed. 2. The current setting for this option is kept in the user’s ISPF profile, allowing this option to be retained across test sessions initiated through ISPF. Thus, the setting is retained until it is specifically changed. Batch Connect settings always return to their default values when a new test is initiated. 3. The following SET commands, if used, must be entered within an initial test script that is executed before run time: SET SET SET SET SET SET SET SET STATIC OFF EXCLUDE module-list DYNTRAP OFF NESTED nnn NOINIT ON LETRAP OFF (unless it was previously stored in the profile) BRCOV OFF PREINIT ON 4. The SET LETRAP ON/OFF option controls the trap option of LE. ESPIE exits are not used to capture abends by LE when LETRAP is OFF. With LETRAP OFF, LE will not interfere with normal XPEDITER/TSO breakpoint processing. With LETRAP ON, LE will get control at each breakpoint and then pass control to XPEDITER/TSO. This allows the user to diagnose condition handling routines within an LE environment. A limitation to XPEDITER/TSO with LETRAP ON and condition handling debugging exists. The user must set a breakpoint at the beginning of the condition handling routine and cannot set a breakpoint on the instruction that causes the abend for the condition handler. This includes the use of GO 1 to enter the condition handler abend. This restriction exists as a result of conflicts between XPEDITER/TSO and LE in catching abends. When the LETRAP command is issued, that option is saved in the ISPF profile for the specific user who issued the command. That user must re-issue the LETRAP command to change the option. The LETRAP command affects all XPEDITER test profiles for the user who issues it and remains in effect from one ISPF session to the next. Examples ALL Languages 1. To specify a list of dynamically called modules, enter: SET DYNAMIC MODULE1 MODULE2 MODULE3 2. To change the value of a PF key, enter: SET PF16 KEEP CSR 6-36 XPEDITER/TSO and XPEDITER/IMS Reference Manual SHOW COBOL PL/I Assembler C Language Description The SHOW command is used to display breakpoints, environmentally dependent data, or default options. A record of the command is written to the log. Input SHOW SH ACTive AFTers ALLOCates AT BEFores BReaks COMPopts * program-name COUnts NOLOG DCBs FILEs FPREGS Gpregs IMSfunc INDEX INTercept Keeps LINKlist LISTING MODules OPTions PFkeys PREVious PROgram program-name PSW PTFs REGion SETs SKips TRAces Using VERify WHENs WHERE ZAPs When a breakpoint parameter is used with the SHOW command, all lines in the Source window not containing the specified breakpoint are temporarily excluded. The D (Delete) line command can be used to remove any of the breakpoints displayed. Use the DELETE EXCLUDE or RESET command to restore the source lines. Use the LOCATE * command to scroll to the point where execution stopped. Alternatively, if PF3 is mapped to the END command, it can be used to reset the excluded lines. XPEDITER/TSO Commands (NOLINES - TEST) 6-37 The parameter descriptions for the SHOW command are: ACTive Displays the general purpose register contents, Program Status Word (PSW), and some control block information. AFTers Displays all after breakpoints set in the current module. Not valid in unattended batch mode. ALLOCates Displays all allocated files or datasets. AT Displays all breakpoints set with the AT command for the current module. Not valid in unattended batch mode. BEFores Displays all before breakpoints set in the current module. Not valid in unattended batch mode. BReaks Displays all breakpoints set with the AFTER and BEFORE commands for the current module. Not valid in unattended batch mode. COMPopts (COBOL only) Displays the correct compile and run-time options in effect. The options are: SHOW COMPOPTS Displays compile and run-time options for the active module. SHOW COMPOPTS * Displays compile and run-time options for all loaded modules. SHOW COMPOPTS program-name Displays compile and run-time options for the specified program. COUnts Displays all the statements with associated execution counters. All other lines are excluded. In the log, the entire COBOL Procedure Division and PL/I code statements are printed, including the counts. The option is: NOLOG (COBOL, PL/I, and C language only) Displays all the statements with associated execution counters. All other lines are excluded. Nothing is printed in the log. DCBs (COBOL only) Displays a file status report for each COBOL module. FILEs (COBOL only) Same as the SHOW DCBS option. FPREGS Displays the floating-point registers. Gpregs Displays the general-purpose registers. 6-38 XPEDITER/TSO and XPEDITER/IMS Reference Manual IMSfunc Displays a summary report of IMS activity broken down by PCB, function code, and number of calls. INDEX (COBOL only) Displays all index cells in the current module and the present values of each index. INTercept Displays all modules for which INTERCEPT commands have been entered and not deleted by the DELETE INTERCEPT command. The intercepts listed should still be active unless the intercept breakpoints have been reset. For dynamically called modules, all breakpoints would be reset if a fresh copy of the module was loaded into storage. An example of how this might occur with COBOL is noted as follows: An application program wants to load a fresh copy of a module at some point in time, so a COBOL CANCEL is then issued prior to the dynamic call of the module. Through interactive testing with XPEDITER, a SOURCE or LOAD command is then issued against the module prior to the dynamic call. The SOURCE/LOAD command causes a new copy to get loaded into storage without any breakpoints. The subsequent dynamic call will not get the opportunity to reestablish the breakpoints because a copy was previously found to be in existence. Keeps Displays all kept items and their data definitions. LINKlist Displays the names of all libraries defined in the system linkage list. Can be used to help determine which versions of various products are being used. LISTING Displays the listing that comes from the Compuware language processor. Not valid in unattended batch mode. MODules Displays all application modules loaded during the current test. OPTions Displays a list of all SET command options for the test session and their current values. PFkeys Displays all the PF key values in effect for the test session. Invalid values can be displayed in interactive batch if you are connected through a TSO terminal. PREVious (COBOL, PL/I, and C language only) Displays the last 100 known breakpoint statements. PROgram Displays a hexadecimal dump of the requested program-name, or a dump of the active program if no program is requested. PSW (PL/I and Assembler only) Displays the content of the program status word. PTFs Lists significant information on currently applied PTFs. XPEDITER/TSO Commands (NOLINES - TEST) 6-39 REGion Displays memory available for testing. SETs Displays all SET command options for the test session and their current values. SKips Displays all outstanding SKIP commands for the current module. Not valid in unattended batch mode. TRAces Displays all trace breakpoints for the current module. USING (Assembler only) Displays outstanding USING commands that have been issued. VERify (Assembler only) Displays outstanding verified items and their values in the current module. WHENs Displays a list of all active WHEN commands for the current module. WHERE (COBOL, PL/I, and C language only) Displays a list of active modules, statements, and procedures. ZAPs Lists significant information on currently applied PTFs. Examples ALL Languages The following subsections contain examples illustrating the use of various SHOW commands. Displaying a List of the Active Breakpoints The SHOW BREAKS command displays a list of the after and before breakpoints set in each module. SHOW AFTER and SHOW BEFORE display a specific type of breakpoint. 6-40 XPEDITER/TSO and XPEDITER/IMS Reference Manual Figure 6-31. Example of the SHOW BREAKS Command ------------------------------ XPEDITER/TSO - SOURCE ---------------------------COMMAND ===> SCROLL ===> PAGE SPECIFIED STATEMENTS ARE SHOWN - RESTORE SOURCE WITH ’END’ I=4 OCCURS 000027 10 N-CNTR > 0000 DECIMAL COBOL TX > 4 INDEX ** END ** -------------------------------------------------------- Before TRIMAIN:53 ******************************** TOP OF MODULE ******************************** - - - - - - - - - - - - - - - - - - 33 LINES NOT DISPLAYED 000034 B PROCEDURE-DIVISION. 000035 B MAIN-PARA. - - - - - - - - - - - - - - - - - 4 LINES NOT DISPLAYED 000040 A GOBACK. - - - - - - - - - - - - - - - - - 4 LINES NOT DISPLAYED 000045 A ANALYZE-NEXT-REC. 0000000 - - - - - - - - - - - - - - - - - 3 LINES NOT DISPLAYED 000049 B IF OUT-OF-RECS = ’N’ - - - - - - - - - - - - - - - - - 1 LINE NOT DISPLAYED 000051 @ CALL ’TRITST’ USING WORK-REC TRIANGLE 0000002 - - - - - - - - - - - - - - - - - 1 LINE NOT DISPLAYED =====> B ADD 1 TO N-CTR(TX) - - - - - - - - - - - - - - - - - 2 LINES NOT DISPLAYED 000055 B CLOSE INFILE. Displaying Execution Counts The SHOW COUNTS command displays a list of the execution counts for each module for which count statistics are maintained. The counter is indicated by a 7-digit counter starting in column 74. See “COUNT” on page 2-19 for more information on keeping execution counts. Figure 6-32. Example of the SHOW COUNTS Command ------------------------------ XPEDITER/TSO - SOURCE ---------------------------COMMAND ===> SCROLL===> CSR SPECIFIED STATEMENTS ARE SHOWN - RESTORE SOURCE WITH ’END’ ----+----1----+----2----+----3 MORE-> 01 N_N_C_TABLE > EQUILATERAL TRIANGLES0002ISOSC ** END ** ---------------------------------------------------- Before TRIMINP1:36 ******************************** TOP OF MODULE ******************************** 000001 B TRIMAINP: PROC OPTIONS(MAIN); 0000001 - - - - - - - - - - - - - - - - - - 51 LINES NOT DISPLAYED 000020 INIT_PARA: PROC; 0000001 - - - - - - - - - - - - - - - - - 5 LINES NOT DISPLAYED 000034 ANALYZE_NEXT_REC: PROC; 0000012 - - - - - - - - - - - - - - - - - - 10 LINES NOT DISPLAYED 000025 ENDING_PARA: PROC; 0000001 - - - - - - - - - - - - - - - - - 5 LINES NOT DISPLAYED ****************************** BOTTOM OF MODULE ******************************* Displaying File Status Information The SHOW DCBS or SHOW FILES commands display a list of the input and output files used by the application program(s). This command is extremely useful in the event of an I/O abend. Most I/O abends are the result of either incorrect DCB attributes or missing file allocations. This display makes it easy to identify these types of errors. XPEDITER displays three status lines for each non-VSAM file. The first line contains the DCB information that was specified in the COBOL FD entry. The second line contains the DCB information from the allocation statement (the DD card in batch, the XPEDITER generated file list, or the TSO ALLOCATE commands). The third line contains the DCB information as it exists in the catalog for the physical dataset. XPEDITER/TSO Commands (NOLINES - TEST) 6-41 Figure 6-33. Example of the SHOW DCBS or SHOW FILES Command ------------------------------- XPEDITER/TSO - SHOW ----------------------------COMMAND ===> SCROLL ===> PAGE PROGRAM: TRIRPT MODULE: TRIMAIN COMP DATE: 07/29/1996 COMP TIME: 14:41:59 ------------------------------------------------------------ Before TRIMAIN:53 -> ******************************** TOP OF DATA ********************************** *** FILE ATTRIBUTES FOR APPLICATION MODULE TRIMAIN *** DSORG RECFM BLKSI LRECL NON-VSAM FILE FOR DDNAME INFILE OPEN DCB = PS FB 27920 80 DSN=USER.PROGRAM.INDATA JFCB= PO FB 27920 80 MBR=TRIDATA DATA SET ALLOCATED ON VOLUME PRD921 DSCB= PO FB 27920 80 ORGANIZATION = SEQUENTIAL ACCESS MODE = SEQUENTIAL RECFM = FB OPEN VERB OPTION = INPUT LAST I/O STATEMENT = OPEN STATUS = 10 SEQUENTIAL READ HAS ENCOUNTERED END-OF-FILE *** FILE ATTRIBUTES FOR APPLICATION MODULE TRIRPT *** DSORG RECFM BLKSI LRECL NON-VSAM FILE FOR DDNAME OUTFILE CLOSED DCB = PS -0 80 DSN=*TERMINAL* JFCB= PS -0 0 ORGANIZATION = SEQUENTIAL ACCESS MODE = SEQUENTIAL RECFM = FB *** END OF FILE ATTRIBUTE DISPLAY *** ******************************** BOTTOM OF DATA ******************************* Displaying a List of Index Cells The SHOW INDEX command presents a list of all index cells in the current module and the present value of each index. XPEDITER displays both the index limit and entry number. A message is displayed stating that the entry exceeds the index limit when this occurs. Figure 6-34. Example of the SHOW INDEX Command ------------------------------- XPEDITER/TSO - SHOW ----------------------------COMMAND ===> SCROLL ===> PAGE PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 07/29/1996 COMP TIME: 14:41:59 ------------------------------------------------------------ Before TRIMAIN:53 -> ******************************** TOP OF DATA ********************************** N-N-C IN TRIMAIN LIMIT 4 INDEXED BY TX ENTRY 3 ********************************* BOTTOM OF DATA ****************************** Displaying Kept Items The SHOW KEEPS command presents a display of all data division lines that contain a variable for which a KEEP command was issued. All lines in the Source window not containing a kept variable are temporarily excluded. Explicitly kept items are indicated by a K in column 9 of the Keep window. The K (Keep) line command can be used to reorder the variables in the Keep window. The most recently kept items are shown at the bottom. 6-42 XPEDITER/TSO and XPEDITER/IMS Reference Manual Figure 6-35. Example of the SHOW KEEP Command ------------------------------ XPEDITER/TSO - SOURCE ---------------------------COMMAND ===> SCROLL ===> PAGE SPECIFIED STATEMENTS ARE SHOWN - RESTORE SOURCE WITH ’END’ 000029 K 01 TRIANGLE-TYPE > 4 DECIMAL 000028 K 01 OUT-OF-RECS > N ----+----1----+----2----+----3 SAME-> K 01 IN-REC > 123 -------------------------------------------------------- Before TRIMAIN:53 ******************************** TOP OF MODULE ******************************** - - - - - - - - - - - - - - - - - - 11 LINES NOT DISPLAYED 000012 01 IN-REC PIC X(80). - - - - - - - - - - - - - - - - - - 11 LINES NOT DISPLAYED 000024 05 N-N-C OCCURS 4 TIMES - - - - - - - - - - - - - - - - - 2 LINES NOT DISPLAYED 000027 10 N-CNTR PIC 9(04). 000028 01 OUT-OF-RECS PIC X. 000029 01 TRIANGLE-TYPE PIC 9. - - - - - - - - - - - - - - - - - - 27 LINES NOT DISPLAYED **************************** BOTTOM OF MODULE ********************************* Displaying a List of Modules Loaded The SHOW MODULES command displays a list of the CSECTs that were loaded during the current test. The list identifies each load module and the entry points for each CSECT, indicating whether an XPEDITER source listing file exists for that program. Figure 6-36. Example of the SHOW MODULES Command ------------------------------- XPEDITER/TSO - SHOW ----------------------------COMMAND ===> SCROLL===> CSR PROGRAM: TRIMINP1 MODULE: TRIMAINP COMP DATE: 01/19/1997 COMP TIME: 12:49:55 --------------------------------------------------------------- After TRIMINP1 -> ********************************* TOP OF DATA *********************************** MODULE TRIMAINP START O825BA88 SIZE 00002578 ENTRY 0825BA88 REUS LOADED FROM USERGRP.XPEDITER.LOADLIB DATE OF LINK EDIT 01/19/95 AMODE 31 RMODE ANY CSECT PLISTART START 0825BA88 SIZE 00000080 USE 00001 NO SOURCE CALL SOURCE LANGUAGE OF PROGRAM IS PL/I ENTRY PLICALLA OFFSET 000004 ENTRY PLICALLB OFFSET 000008 CSECT PLIMAIN START 0825C1A8 SIZE 00000008 USE 00000 NO SOURCE CALL SOURCE LANGUAGE OF PROGRAM IS PL/I CSECT TRIMINP1 START 0825BA88 SIZE 000004E8 USE 00001 SOURCE PRESENT SOURCE LANGUAGE OF PROGRAM IS PL/I ENTRY TRIMINP OFFSET 00000C Displaying a List of Previously Executed Instructions The SHOW PREVIOUS command displays a list of the last 100 known statements executed in your program. XPEDITER maintains a list of encountered breakpoints. Only statements associated with the AFTER, BEFORE, COUNT, GO, SKIP, TRACE, and WHEN commands are displayed in the list. The most recent entry is at the bottom. The list will automatically scroll to this point. SHOW PREVIOUS is useful in identifying loops and tracing the program’s recent activity at the point of an abend. XPEDITER/TSO Commands (NOLINES - TEST) 6-43 Figure 6-37. Example of the SHOW PREVIOUS Command ------------------------------- XPEDITER/TSO - SHOW ----------------------------COMMAND ===> SCROLL ===> PAGE PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 07/29/1996 COMP TIME: 14:41:59 ------------------------------------------------------------ Before TRIMAIN:57 -> ******************************** TOP OF DATA ********************************* 000034 PROCEDURE DIVISION. TRIMAIN 000035 MAIN-PARA. TRIMAIN 000036 PERFORM INIT-PARA. TRIMAIN 000045 ANALYZE-NEXT-REC. TRIMAIN 000046 READ INFILE INTO WORK-REC TRIMAIN 000049 IF OUT-OF-RECS = ’N’ TRIMAIN 000051 CALL ’TRITST’ USING WORK-REC TRIANGLE-TYPE TRIMAIN 000052 SET TX TO TRIANGLE-TYPE TRIMAIN 000045 ANALYZE-NEXT-REC. TRIMAIN 000046 READ INFILE INTO WORK-REC TRIMAIN 000049 IF OUT-OF-RECS = ’N’ TRIMAIN 000051 CALL ’TRITST’ USING WORK-REC TRIANGLE-TYPE TRIMAIN 000052 SET TX TO TRIANGLE-TYPE TRIMAIN 000045 ANALYZE-NEXT-REC. TRIMAIN 000046 READ INFILE INTO WORK-REC TRIMAIN 000049 IF OUT-OF-RECS = ’N’ TRIMAIN ***************************** BOTTOM OF DATA ********************************* Displaying the Options in Effect The SHOW OPTIONS or SHOW SETS command displays a list of the current SET command values. Since there are more options than fit on the screen, you can scroll up and down to view the entire list. Figure 6-38. Example of the SHOW OPTIONS Command ------------------------------- XPEDITER/TSO - SHOW ----------------------------COMMAND ===> SCROLL===> CSR PROGRAM: TRIMINP1 MODULE: TRIMAINP COMP DATE: 01/19/1997 COMP TIME: 12:49:55 ------------------------------------------------------------ Before TRIMINP1 -> ******************************** TOP OF DATA *********************************** ABNDEXIT ===> ON AUTOCAN ===> OFF AUTOKEEP ===> ON CAPS ===> ON CBLTRAP ===> ON CMDSIZE ===> 1 COLS ===> OFF CONFIRM ===> ON DATAFIND ===> ALL DATETIME ===> ON DELAY ===> 1 DUMP ===> OFF DYNTRAP ===> ON ESPIE ===> ON GEN ===> OFF HEXMODE ===> OFF LANGUAGE ===> ENGLISH LETRAP ===> ON LOG ===> ON Displaying Available Memory The SHOW REGION command displays the largest contiguous memory available for testing. It provides the same function from within the test session as XPEDITER option 5.1 does before entering the test session. Both display available memory. 6-44 XPEDITER/TSO and XPEDITER/IMS Reference Manual Figure 6-39. Example of the SHOW REGION Command ------------------------- XPEDITER/TSO - SHOW -------------------------------COMMAND ===> SCROLL ===> CSR PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 09/26/2001 COMP TIME:14:45:37 ------------------------------------------------------------ Before TRIMAIN -> ********************************* TOP OF DATA ********************************** VIRTUAL STORAGE ALLOCATION REQUEST REGION SIZE ===> STORAGE ALLOCATED BELOW ===> STORAGE ALLOCATED ABOVE ===> STORAGE STORAGE STORAGE STORAGE USED USED USED USED BELOW BELOW ABOVE ABOVE (PVT) (SYS) (PVT) (SYS) ===> ===> ===> ===> ===> ===> 4,096 4,160 (REGION SIZE) 32,768 (REGION SIZE) 1,576 37.8% 496 (LSQA) 5,668 17.2% 10,172 (ELSQA) 2,584 27,100 62.1% 82.7% STORAGE AVAILABLE BELOW STORAGE AVAILABLE ABOVE MAXIMUM MAXIMUM LARGEST LARGEST GETMAIN GETMAIN STORAGE STORAGE LIMIT BELOW ===> 2,097,151 (FROM IEFUSI) LIMIT ABOVE ===> 2,097,151 (FROM IEFUSI) RETURNED FROM GETMAIN BELOW ==> 2,520 RETURNED FROM GETMAIN ABOVE ==> 27,100 ... Displaying Trace Breakpoints The SHOW TRACE command presents a display of all source lines in the current module for which a TRACE command is in effect. Figure 6-40. Example of the SHOW TRACE Command ------------------------------ XPEDITER/TSO - SOURCE ---------------------------COMMAND ===> SCROLL===> CSR SPECIFIED STATEMENTS ARE SHOWN - RESTORE SOURCE WITH ’END’ ADDRESS 00000000 000011 01 WORK_REC > NO ADDR 000010 TRIANGLE_TYPE > +0 PACKED ** END ** ------------------------------------------------------- Before TRIMINP1:29 ******************************** TOP OF MODULE *********************************** 000001 B TRIMAINP: PROC OPTIONS(MAIN); - - - - - - - - - - - - - - - - - - 30 LINES NOT DISPLAYED 000012 ON ENDFILE(INFILE) - - - - - - - - - - - - - - - - - 1 LINE NOT DISPLAYED 000013 OUT_OF_RECS = ’1’B; 000014 END; - - - - - - - - - - - - - - - - - 6 LINES NOT DISPLAYED 000015 CALL INIT_PARA; 000016 DO WHILE(¨OUT_OF_RECS); 000017 CALL ANALYZE_NEXT_REC; 000018 END; 000019 CALL ENDING_PARA; - - - - - - - - - - - - - - - - - 6 LINES NOT DISPLAYED 000020 INIT PARA: PROC; Displaying and Deleting Active WHEN Conditions The SHOW WHENS command displays a list of active WHEN conditions (Figure 6-41). The D line command may be used to delete a WHEN condition. To use the command, type a D in the DEL field next to the WHEN condition that you want to delete, and press Enter. Note: When you enter SHOW WHENS with the INCLUDE command, the output is sent to the log, but not to the screen. Only the WHEN commands for the current module are sent to the log. XPEDITER/TSO Commands (NOLINES - TEST) 6-45 Figure 6-41. Example of the SHOW WHENS Command --------------------------- XPEDITER/TSO - SHOW WHEN -------------------------COMMAND ===> SCROLL ===> CSR PROGRAM: TRIMAINA MODULE: TRIMAINA COMP DATE: 10/04/2001 COMP TIME:14:32:00 --------------------------------------------------------- After TRIMAINA:24 -> DEL --_ _ ACTIVE WHEN CONDITIONS --------------------------------------------------------------WHEN SAVEAREA CHANGES WHEN OUT-OF-RECS CHANGES **END** PROGRAM -------TRIMAINA TRIMAINA Displaying Active Modules and Paragraph Nesting The SHOW WHERE command presents the flow of execution from the beginning of the test. A list of the active modules and the associated paragraphs making the calls is displayed. SHOW WHERE is useful in revealing possible logic problems since it shows the strategic points within the execution path. It enables you to determine where you are within the execution path at any time and how you got there. SHOW WHERE is valid at any time. Figure 6-42. Example of the SHOW WHERE Command ------------------------------- XPEDITER/TSO - SHOW ----------------------------COMMAND ===> SCROLL ===> PAGE PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 07/29/1996 COMP TIME: 20:41:13 ------------------------------------------------------------ Before TRIMAIN:53 -> ******************************** TOP OF DATA ************************************ *** APPLICATION MODULE CONTROL HIERARCHY AND PERFORM NESTING *** LVL MODULE ENTRY MEMBER RETURN LOCATION FOR MOST RECENT CALL 1 XPEDITER 2 X TRIMAIN TRIMAIN TRIMAIN STATE 53 ANALYZE-NEXT-REC PERFORMED BY STATE 37 IN PROC MAIN-PARA 3 TRITST TRITST TRIMAIN ****************************** BOTTOM OF DATA ********************************** Displaying Allocated Files or Datasets An example of the SHOW ALLOCATES command is displayed below: Figure 6-43. Example of the SHOW ALLOCATES Command ------------------------- XPEDITER/TSO - SHOW ----------------------------------COMMAND ===> SCROLL===> CSR PROGRAM: TRIMAINA MODULE: TRIMAINA COMP DATE: 07/20/1997 COMP TIME: 14:41:00 ----------------------------------------------------------- Before TRIMAINA:33 -> ******************************* TOP OF DATA ************************************ *** ALLOCATED DATA SET DDNAMES AND DSNAMES *** 001 SYS00001 SYS1.BRODCAST SHR KEEP 002 SYS00005 CATALOG.TSO.USRCAT IN-USE SHR KEEP 003 ISPPROF ASJRNS1.ISPF.ISPPROF IN-USE SHR KEEP 004 SYS00008 CATALOG.PRODUCTS.USRCAT IN-USE SHR KEEP 005 SYS00021 CATALOG.SUPPORT.USRCAT IN-USE SHR KEEP 006 SYSPROC AXPTSO.XPPROD50.CLIST SHR KEEP 007 " IKJUSER.GROUP.ISPFCLIB SHR KEEP 008 " SYS1.ISPFMODS.ISPFCLIB SHR KEEP 009 " SYS1.ISPFCLIB SHR KEEP 010 " SYS1.INHOUSE.ISPFCLIB SHR KEEP 011 " SUPPORT.INHOUSE.ISPFCLIB SHR KEEP 012 " SSP.COB220.COB2CLIB SHR KEEP 013 " SUPPORT.PMR.ISPFCLIB SHR KEEP 014 " SUPPORT.CHECKIN.ISPFCLIB SHR KEEP 015 " SUPPORT.TAPECUT.ISPFCLIB SHR KEEP 016 " SSP.CSP311.CSPCLIST SHR KEEP 017 ISPLLIB AXPTSO.XPPROD50.LOADLIB IN-USE SHR KEEP 018 " SSPSYS.COB220.COB2LIB IN-USE SHR KEEP 6-46 XPEDITER/TSO and XPEDITER/IMS Reference Manual Displaying USING Command Usage in an Assembler Program The following shows an example of the SHOW USING command in a High Level Assembler program. Comments concerning the format are shown in parentheses. Figure 6-44. Example of the SHOW USING Command ------------------------- XPEDITER/TSO - SHOW ----------------------------------COMMAND ===> SCROLL ===> CSR PROGRAM: HLABASIC MODULE: HLABASIC COMP DATE: 07/24/1997 COMP TIME: 17:44:00 ----------------------------------------------------------- Before CHER2R4:597 -> ******************************** TOP OF DATA ******************************* ADDRESS USING 0825D356 B,C (where C is a variable in a CSECT) 0004CA66 A,R5 (where the address is in R5) 0003367C D,3367c (where the address was specified) 099FD333 U3.IDT,99FD333 (where an address expression was entered) 08465DDE THIS_IS_A_LONG_LABEL_AAAAAAAA_RRRRRRRRR_FFFFFFFFF_555555555_TTT.YYYYY ******************************* BOTTOM OF DATA ***************************** SKIP COBOL PL/I Assembler C Language Description The SKIP command bypasses a statement or module. The skip breakpoint is indicated by an S in column 9 on the Source screen. If the line command area is expanded for 31-bit mode addressing, the breakpoint indicator is displayed in column 11 on the Source screen. Input SKIP SKI S location SKIP Line Command Syntax S SS Set a skip breakpoint on a line Set skip breakpoints on a block of lines The parameter description for the SKIP command is: location A place where breakpoints can be set or deleted. See “Common Parameters” on page xviii for details about location. You can specify a list separated by spaces or commas, or a range; e.g., statementnumber THRU statement-number. THRU is a required keyword when a range is specified. For additional information on these parameters, refer to “Notation Rules” on page xvii. XPEDITER/TSO Commands (NOLINES - TEST) 6-47 Usage Notes ALL Languages 1. A module, paragraph, statement, or range of statements can be skipped. Skipping a paragraph range is not supported. 2. The use of ALL and its keywords sets skip breakpoints in the qualified module (external program/procedure). SKIP ALL with no object keyword defaults to SKIP ALL STATE. In COBOL programs, SKIP ALL PROG sets a skip at every PROCEDURE DIVISION statement within the current module. 3. When a skip breakpoint is set, a message reports the number of primary and line commands successfully completed. However, if an error is encountered, the message is not displayed until after the error is corrected. Note: Caution should be taken when using the SKIP command. There are some usage risks when the logical flow of a program is changed. Program abends (S0C4 or S0C7) could occur, or you could run off the end of your program, yielding unpredictable results. 4. The S line command cannot be entered on the same line with any other line command. If an A (After) or B (Before) breakpoint is on the line, it is reset and only the S (Skip) remains in effect. 5. Use the DELETE SKIP command or DS line command to end the SKIP function. COBOL 1. If you want to skip performing a paragraph, set SKIP on a PERFORM statement and not on the paragraph. 2. If you want to skip a nested program, set a SKIP on a CALL statement or skip all the statements in the nested program using SKIP program-name:ALL. 3. The S line command is valid on any line that contains a paragraph or section heading, or a COBOL verb. Assembler 1. If a label-name is specified, the label must point to an executable instruction. 2. A skip breakpoint set on an unexpanded macro skips all the instructions in the collapsed macro. 3. Relative addressing (+/- calculation factor) and indirect addressing (Rn%/?) are supported with the SKIP command. 4. The S line command is valid on any type of assembler instruction except the object of an EX instruction. PL/I 1. The SKIP command can only be used on code lines, not data lines. 2. The skip is set on the first code statement on the line. Skips cannot be set at other statements on the same line. 6-48 XPEDITER/TSO and XPEDITER/IMS Reference Manual 3. If you want to skip a procedure, use the SKIP command on all calls to the procedure and not on the procedure statement. C Language 1. The SKIP command can only be used on code lines, not data lines. 2. If there are multiple statements on a line, the skip command applies to all of them. In such a case, only a single statement cannot be skipped. 3. If you want to skip a function, use the SKIP command on all calls to the procedure and not on the function definition. Examples ALL Languages 1. To bypass calls to IMS, enter: SKIP SKIP SKIP SKIP CBLTDLI: PLITDLI: CTDLI: ASMTDLI: for for for for COBOL PL/I C Language Assembler Note: For qualification purposes, a colon must follow your entry. For additional information on qualification, refer to “Command Qualification Rules” on page 1-4. SOURCE COBOL PL/I Assembler C Language Description The SOURCE command is used to change the source file shown on the source display when testing interactively. XPEDITER/TSO assumes that any subsequent breakpoints and variables that are not fully qualified are to be found in the specified module (external procedure). In an unattended batch test, the SOURCE command is used to qualify the specified module. Any commands issued after the SOURCE command are executed in relation to the specified module until a TEST, INTERCEPT, or another SOURCE command is encountered. A record of the SOURCE command is written to the log. Input SOURCE SOU SO module-name The parameter description for the SOURCE command is: XPEDITER/TSO Commands (NOLINES - TEST) 6-49 module-name The name of the module, external procedure or function, entry point, or CSECT to be displayed on the Source screen. You can also refer to a program or module by the name of the load module. Usage Notes ALL Languages 1. If the SOURCE command is specified without an operand, the active source module is assumed in batch and interactive modes, and displayed in interactive mode. 2. If the source is not found (for example, if it was not compiled with the XPEDITER/TSO procedure), an error message is displayed. The source is not displayed if a source listing does not exist for the program. 3. The first time a SOURCE command is issued for a module, XPEDITER/TSO is positioned at the beginning of the module. 4. If a second request for the same module/procedure is made at the same breakpoint and a GO command has not been entered, XPEDITER/TSO redisplays the last screen shown in that module. 5. When testing in interactive mode, LOCATE * always returns to the point of origin, that is, the place where execution was suspended in the original source file. 6. Typing over the program name in the header area serves the same purpose as using the SOURCE command. 7. When multiple copies of the module exist, you must uniquely qualify the load module and program name combination. For example, SOURCE LOADM1::PROG-A displays the source for program PROG-A in load module LOADM1 whereas, SOURCE LOADM2::PROG-A displays the source for program PROG-A in load module LOADM2. Refer to “Command Qualification Rules” on page 1-4 for additional information. 8. If an intercepted module is being reloaded into storage by this command, the normal intercept breakpoints will not be reestablished. This could also be the case if the module was deleted or cancelled by the application program prior to this command being issued. The INTERCEPT command can be used to reestablish the normal intercept breakpoints. Examples ALL Languages 1. To display the source for module TRITST, enter: SOURCE TRITST 2. To redisplay the source for the active module, enter: SOURCE 6-50 XPEDITER/TSO and XPEDITER/IMS Reference Manual STATUS COBOL PL/I Assembler C Language Description The STATUS command is used to display the Status screen containing a list of the jobs in the system. An example of the Status screen is shown in Figure 6-45 on page 6-50. The STATUS command can be entered on any screen except the Source screen and any screen accessed by the source (Memory, Browse, Log). Input STATUS ST Figure 6-45. Status Screen ---------------------------- XPEDITER/TSO - STATUS -------------- ROW 1 OF 5 COMMAND ===> SCROLL ===> PAGE Line Commands: A (Attach) B (Browse) C (Cancel) I (Info) P (Purge) R (Requeue) Jobname ===> (Specific jobname, blank for TSO userid, or ’*’ for all jobs using batch connect) Sort Sequence ===> JOBNAME (JOBNAME/JOBID) CMD JOBNAME JOBID STATUS H CONNECT MESSAGE -------------------------------------------------------------------------------_ ASJRSN1Z JOB01207 RUNNING N Ready _ ASJRSN1Z JOB05718 OUTPUT N _ ASJRSN1Z JOB05719 OUTPUT N _ ASJRSN1z JOB05720 OUTPUT N _ ASJRSN1Z JOB05723 OUTPUT N ******************************** BOTTOM OF DATA ******************************** Use the line commands on the Status screen to do the following: A (Attach) Connects to a job and displays the source of each job step for which the I (Interactive) command was specified. A message is displayed notifying you that the job step selected for testing is executing. If you specified the I command on more than one job step, a message is displayed before each selected step is executed. B (Browse) Displays the job’s JES2 Job Log if it is on the Output queue. C (Cancel) Cancels the job. I (Information) Displays the status of the job. P (Purge) Cancels and purges the job. R (Requeue) Requeues a job and displays the status of the job in the queue. You can then enter a new class into which the held output will be queued. XPEDITER/TSO Commands (NOLINES - TEST) 6-51 The fields on this screen are: Jobname A specific job name: blank for TSO user ID or * for all jobs using Batch Connect. Sort Sequence The sort sequence of listed jobs: either JOBNAME or JOBID. CMD Any of the line commands displayed at the top of the screen: A, B, C, I, P, R. JOBNAME The name of the job in the system. JOBID The JES number of the named job. STATUS The status of the named job: OUTPUT RUNNING WAITING = Output queue = Executing = Input queue H The hold status of the job: Y (yes) or N (no). CONNECT The connect status of the job: Starting Error Error Error Running Ready Connect = = = = = XPEDITER has started initialization. Bad ACB name in CONFIG module (ADSRA093). All VTAM nodes currently in use. VTAM ACB OPEN failed. No terminal is connected. The job is running and is not waiting for terminal input. = No terminal is connected. The job is ready. = Terminal is connected and the user is active. MESSAGE Area reserved for an error or status message. T (Template) COBOL PL/I Assembler C Language Description The T (TEMPLATE) line command is used to display the column template above a displayed or kept item. Note: The T line command can also be used to set a trace breakpoint on a code statement. See “TRACE” on page 7-1 for information on the T (Trace) line command. 6-52 XPEDITER/TSO and XPEDITER/IMS Reference Manual Input T Line Command Syntax T TT Display a column template above a displayed or kept item Display column templates above each displayed or kept item in a block Usage Notes ALL Languages 1. The SET TEMPLATE ON command (the default) is used to automatically display a column template above each nonnumeric displayed or kept item. Use the SET TEMPLATE OFF command to change the default and prevent future KEEP window items from having a column template. 2. The DT line command removes the template from a displayed or kept item. TEST COBOL PL/I Assembler C Language Description The TEST command is used in the input command stream (XPIN DD) to specify the name of the program to be tested and the parameters necessary to establish the test. The TEST command is not used in the BTS, IMS/DC, and Dialog environments. Input TEST program-name ENTry entry-point LOAdm load-module INITscr initial-script POStscr post-script PARm 'parm-string' STD PARm NOQ SUB The parameter descriptions for the TEST command are: program-name The name of the load module to be tested. This is a required field. ENTry (COBOL and Assembler) An optional alternate entry-point in the module if execution is to begin from some point other than the link-edited entry point, or the entry-point for the load module if no entry-point is specified in the link-edit. XPEDITER/TSO Commands (NOLINES - TEST) 6-53 LOAdm If the program to be tested is a member of a statically linked load module, enter the name of the composite load module as the value for this parameter. When entered, execution starts at the named program name, not at the linked entry point of the load module. If the program name and the load module name are the same, a value is not required for this field. INITscr The member name of the initial test script. This test script is executed before the execution of any commands in the input command stream the first time the test is executed. The initial-script specified must be a member of a PDS allocated to the ddname XINCLUDE. POStscr The member name of the post script. It can be any name up to eight characters. The post-script must be a member of a PDS allocated to the ddname XINCLUDE. This script is executed after the COBOL GOBACK or PL/I END statement of the high-level module is encountered, but before the test session is exited. PARM The following parameter is valid only for the Standard environment: ’parm-string’ A run-time parameter, if one is required by the program. The PARM string specified can be up to 100 characters. The value is entered as it would be in batch JCL, enclosed in single quotes. If a batch PARM string is specified both on the TEST command and in the JCL, the PARM value on the TEST command is used. PARM The following values are valid only if IMS was specified as the value for the environment on the previous XPED command: STD STD is the default, and is used when testing a standard IMS program. XPEDITER/TSO passes the PARM string to the program unaltered. SUB (COBOL and Assembler) Specify a value when an IMS subroutine is to be tested as a stand-alone program. XPEDITER/TSO issues a prompt, requesting entry of the USE command at the outset of the test. The USE command must be issued to assign addressability to the PCB. For more information, refer to “USE” on page 7-6. NOQ (COBOL and Assembler) (No queue.) Specify a value when an IMS/DC program is to be tested under the XPEDITER/TSO environment. XPEDITER/TSO matches the PARM string that IMS passes to the program with the PARM string that the program is expecting in reverse order. This allows you to test the logic and database calls of an IMS/DC program under TSO when a message queue is not available. Usage Notes ALL Languages 1. Place the TEST command after the XPED command in the command stream and before any breakpoint commands. 6-54 XPEDITER/TSO and XPEDITER/IMS Reference Manual If breakpoint commands are entered before the TEST command, the test is terminated. 2. The TEST command is used to specify the program to be tested for all environments except BTS, IMS/DC, and Dialog. Refer to “INTERCEPT” on page 5-11 for information on how to invoke programs for testing in this environment. 3. Any number of TEST commands can be entered in the same job stream. All commands that follow a TEST command are executed in relation to the program specified by that TEST command until either another TEST command or an INTERCEPT command is entered. 4. XPEDITER/TSO automatically generates a TEST command for interactive tests. 5. The TEST command and the parameters specified are recorded in the log. 6. Any commands following an EXIT command and preceding another TEST command are executed in relation to the program specified on the TEST command preceding the EXIT command. 7. Any commands entered between the GO and the EXIT commands associated with a test will be executed at the end of the test before execution of any post scripts for that test. 7-1 Chapter 7. XPEDITER/TSO Commands (TOGGLE - :) TOGGLE COBOL PL/I C ha p 7 Assembler C Language Description The TOGGLE command allows you to switch back and forth between the Listing screen and the Storage screen for all languages. If you have a need to use this command extensively, it is recommended that you assign a PF key to the TOGGLE command to improve its efficiency. Input TOGGLE TOP COBOL PL/I Assembler C Language Description The TOP command scrolls to the start of the data currently displayed on the screen. A *** TOP OF MODULE *** indicator appears at the beginning of the display, followed by the first line of available data. The TOP command is the same as the UP MAX command. Refer to “UP” on page 7-5 for information on the UP command. Input TOP TRACE COBOL PL/I Assembler C Language Description The TRACE command monitors the flow of logic as your program executes. 7-2 XPEDITER/TSO and XPEDITER/IMS Reference Manual A record of the command and a message at each trace breakpoint is written to the log. Logging of the trace breakpoints can be suppressed by entering the SET LOG TRACE OFF command. The TRACE command can be interrupted by the PA1 key at any time. It can also be controlled by other XPEDITER/TSO commands. A trace is also interrupted by reaching the MAX limit, a pause breakpoint, or by a display to the terminal. XPEDITER/TSO highlights the specified instruction lines as they are executed, without pausing, when followed by the GO command. Use the GO command to resume execution of your program. Input TRACE TRA location MAX n TRACE Line Command Syntax T TT Set a trace breakpoint on an instruction line Set trace breakpoints on a block of instruction lines The parameter descriptions for the TRACE command are: location A place where a trace breakpoint can be set. See “Common Parameters” on page xviii for details about location. You can specify a list separated by spaces or commas, or a range; e.g., statementnumber THRU statement-number. THRU is a required keyword when a range is specified. For additional information on these parameters, refer to “Notation Rules” on page xvii. MAX n Sets a maximum number of trace breakpoints to display without an intervening pause, where n is a positive integer. The default for an interactive test is 25 and for a batch test is 2500. Usage Notes ALL Languages 1. The use of ALL and its keywords sets trace breakpoints in the qualified module (external program/procedure). TRACE ALL with no keyword defaults to TRACE ALL STATE. 2. The trace breakpoint is similar to a before breakpoint except in modules. Modules are traced on entry to and exit from the module. Trace breakpoints can be used with all other breakpoint commands except SKIP. 3. Use the DELETE command or DT line command to end the trace. COBOL 1. A trace message is written to the log before each trace breakpoint, and all kept items are updated except TRACE ALL MOD and TRACE module-name. These two trace XPEDITER/TSO Commands (TOGGLE - :) 7-3 breakpoints are only written to the log. Execution is immediately resumed from the breakpoint without returning control to the terminal. Note: In COBOL only, TRACE ALL PROG traces every Procedure Division nested within a single COBOL source. 2. In MONITOR mode, a MAX parameter previously entered is not used. Use the attention interrupt to halt the trace. If MAX is entered in MONITOR mode, the command is rejected. 3. The current value of MAX n is reset to zero when the trace is interrupted by pause breakpoints or the use of the attention interrupt. Use the GO command to resume execution. PL/I C Language 1. The TRACE command can only be used on code lines, not data lines. 2. The trace is set on the first code statement on the line. The TRACE command cannot be set at any other statements on the same line. Assembler 1. Trace on an unexpanded macro sets a single trace breakpoint each time the first instruction in the macro is executed. 2. TRACE ALL MODULES followed by the GO command records in the log the caller, the called module, and the number of times the module is called. Tracing occurs only if modules are statically called. SET STATIC OFF disables tracing. 3. Relative addressing (+/- calculation factor), register addressing (Rn), and indirect addressing (Rn%/?) are supported with the TRACE command. Note that if registers are used, they should be initialized to correct values before the command is issued. Examples ALL Languages 1. To monitor execution of three specific statements, enter: TRACE 232 313 456 2. To trace the paragraph DETERMINE-TYPE in the module TRISUB, enter: TRACE TRISUB:DETERMINE-TYPE 3. To trace all calls to IMS, enter: TRACE TRACE TRACE TRACE CBLTDLI: PLITDLI: ASMTDLI: CTDLI: (COBOL) (PL/I) (Assembler) (C language) 4. To trace all statements in the nested program NESTSUB1, enter: TRACE NESTSUB1:ALL Note: For qualification purposes, the colon shown in the examples above must be entered. For additional information on qualification, refer to “Command Qualification Rules” on page 1-4. 7-4 XPEDITER/TSO and XPEDITER/IMS Reference Manual TSO COBOL PL/I Assembler C Language Description The TSO command executes TSO commands from within an XPEDITER/TSO interactive test session. The TSO command is not valid in an unattended batch test. Input TSO tso-command-and-operands The parameter description for the TSO command is: tso-command-and-operands Any valid TSO command and its operands. Usage Notes ALL Languages 1. If you are testing in the XPEDITER/TSO Dialog Environment, the following commands are allowed: ALLOCATE ATTRIB DELETE FREE LISTA LISTC LISTDS PROFILE SEND Some other shop-dependent command processors may work without interfering with the test session. It is recommended that you check with your local technical support group before trying any other commands. 2. If you are using the XPEDITER/TSO ISPF Interface and Release 2 or higher of ISPF/PDF, then the ISPF command of the same name is used to process commands entered from the command line. Some other shop-dependent restrictions can apply. Examples ALL Languages 1. To invoke the list catalog command processor, enter the following on the command line: TSO LISTC XPEDITER/TSO Commands (TOGGLE - :) 7-5 2. You may invoke a user-written CLIST when you are not in the DIALOG test environment. To do this, you are required to enter the following on the command line: TSO EX ’YOUR.CLIST(TSTALLOC)’ UP COBOL PL/I Assembler C Language Description The UP command scrolls toward the top of your file or screen display. Scrolling UP rolls the displayed lines downward, bringing the preceding section of the file into view. UP is not valid in an unattended batch test. Input UP n Csr Data Half Max Page The parameter descriptions for the UP command are: n A number from 1 to 9999 that specifies the number of lines to be scrolled. Csr Scrolls based on the current position of the cursor. The line indicated by the cursor is moved to the bottom of the screen. If the cursor is not in the body of the data or if it is already positioned at the bottom, a full page scroll occurs. Data Brings the last visible line at the top of the screen to the bottom of the screen. Half Scrolls by a half page. Max Scrolls to the top of the file. Page Scrolls by one page. Usage Notes ALL Languages 7-6 XPEDITER/TSO and XPEDITER/IMS Reference Manual 1. If the UP command is entered without an operand, the value in the scroll amount field is used. The scroll amount field can be changed by typing over the displayed value. Any scroll amount value except Max is remembered until it is changed again. 2. The UP command is usually assigned to PF7/19. USE COBOL Description The USE command establishes addressability for Linkage Section items that are really IMS Program Communication Blocks (PCBs). This command is used primarily in unit testing IMS subprograms. The USE command allows you to unit test subroutines that make calls to IMS databases. XPEDITER/TSO gives you access to the main calling program’s list of PCBs defined in the program’s Program Specification Block (PSB). The USE command is valid only when the value of SUB is specified as a test session parameter for the IMS environment. By default, XPEDITER/TSO dynamically creates work areas for all Linkage Section items during a unit test. The SUB entry suppresses this feature for those Linkage Section items that are to be referenced as database PCBs. When testing interactively, the value of SUB is specified for the PARM Passing Option field on the XPEDITER/TSO (IMS) entry screen. When testing in batch mode, the value of SUB is specified for the PARM option of the TEST command. Input USE identifier PCB-n IOPCB ALTPCB-n pcbname-n The parameter descriptions for the USE command are: identifier A valid 01-level or 77-level data name defined in the Linkage Section of the program being tested. PCB-n Program communication block, where n is an integer. IOPCB I/O program communication block. ALTPCB-n Alternate IOPCB, where n is an integer. pcbname-n Database descriptor name, where n is an integer. XPEDITER/TSO Commands (TOGGLE - :) 7-7 Usage Notes 1. If PCB-n is specified, XPEDITER/TSO assigns to the identifier the nth database PCB in the list of PCBs normally passed to the main program as defined by the application PSB. 2. If IOPCB is specified, XPEDITER/TSO assigns the message queue PCB to the identifier. 3. ALTPCB and ALTPCB-1 are equivalent. 4. If pcbname-n is specified, XPEDITER/TSO searches the current list of PCBs for the nth occurrence of the pcbname to be assigned to the identifier. The -n suffix is not required for the first occurrence of a database in the PSB. 5. If you want to use the USE command for a batch IMS test, all control statements after the USE command must be in an initial script. Otherwise, the job will abend. Examples 1. To assign the second database PCB to Linkage Section data name LINK-ITEM-3, enter: USE LINK-ITEM-3 PCB-2 2. To assign database D21PART to Linkage Section data name LINK-ITEM-3, enter: USE LINK-ITEM-3 D21PART 3. To assign the second occurrence of database D21PART to Linkage Section data name LINK-ITEM-3, enter: USE LINK-ITEM-3 D21PART-2 4. To assign the message queue PCB to Linkage Section data name LINK-ITEM-3, enter: USE LINK-ITEM-3 IOPCB USING Assembler Description The USING command establishes addressability to a DSECT. The command is effective only if the following requirements are met: • The application program has already established a base register for the referenced DSECT. • The program has loaded the base register with the appropriate value. A record of the command is written to the log. Input USING dsect-name location Rn The parameter descriptions for the USING command are: 7-8 XPEDITER/TSO and XPEDITER/IMS Reference Manual dsect-name The name of a DSECT, a DSECT item, or a variable qualified by a label from a labeled USING statement. location A specified place where dsect-name is to start. Valid locations are address, data-name, or data-name + offset. If location is an address, a value of 0 cannot be used. Rn The general-purpose register that contains the address used to establish addressability to the specified DSECT. Valid values are R0 through R15. Usage Notes 1. Several USING commands can be issued in an XPEDITER/TSO test session. There is no maximum number. 2. To reassign a dropped register as the base register, enter the DROP command or reissue the USING command. See “DROP” on page 3-9 for a description of the DROP command. 3. This command is primarily used in connection with the GETMAIN command. A work area must be allocated first. See “GETMAIN” on page 4-18. Examples Examples of valid forms of the USING command are: 1. With a DSECT label, enter: USING MYDSECT R11 2. With an address, enter: USING MYDSECT B77418 3. With a labeled USING, enter: USING ALABL.BITEM R4 4. With an address-expression, enter: USING BITEM CITEM+5 5. Figure 7-1 shows an example of entering a USING command. Prior to this, R6 was loaded with the appropriate address. The Keep window was expanded with the SET command to show all the explicit and automatic keeps. XPEDITER/TSO Commands (TOGGLE - :) 7-9 Figure 7-1. Entering the USING Command ------------------------ XPEDITER/TSO - SOURCE ---------------------------------COMMAND ===> using tstrec r6; memory R6% SCROLL ===> CSR PROGRAM: TRITSTA MODULE: TRITSTA COMP DATE: 07/20/1997 COMP TIME: 14:41:00 000000 K TSTREC DSECT > 0 000000 K TYPE DS ZL1 > 0 ZONED 000001 K DS 0CL3 > 345 000001 K SIDEA DS ZL1 > 3 ZONED 000002 K SIDEB DS ZL1 > 4 ZONED 000003 K SIDEC DS ZL1 > 5 ZONED ANB DS PL2 > +0 PACKED ----------------------------------------------------- Before TRITSTA:67670 06766C START EQU * 06766C L R2,0(R1) POINT R2 TO PARAMETER -----USING TSTREC,R2 SET ADDRESS FOR DSECT =====> ZEROIT ZAP ANB,=P’0’ 067676 ZAP ANC,=P’0’ 06767C ZAP BNC,=P’0’ 067682 PACKIT PACK TSTA,SIDEA PACK TRIANGLE SIDE 067688 PACK TSTB,SIDEB " GPREGS R0 ==> 00000001 R1 ==> 000671C8 R2 ==> 00067301 R3 ==> 0006CC30 R4 ==> 02944B10 R5 ==> 00057850 R6 ==> 00067309 R7 ==> 80090E56 R8 ==> 0009F144 R9 ==> 00000000 R10 ==> 00090FBC R11 ==> 00067750 R12 ==> 00067658 R13 ==> 00067750 R14 ==> 00097AC4 R15 ==> 00067658 Figure 7-2 shows the memory display for register 6 at location 67309 as a result of the commands entered in Figure 7-1. Figure 7-2. Displaying Memory at the Reassigned Address ------------------------ XPEDITER/TSO - MEMORY ---------------------------------COMMAND ===> end SCROLL ===> CSR PROGRAM: TRITSTA MODULE: TRITSTA COMP DATE: 07/20/1997 COMP TIME: 14:41:00 --------------------------------------------------------- Before TRITSTA:67670 -0 - 2 4 - 6 8 - A C - E = 0-2-4-6-8-A-C-E****************************************************************************** 067309 ===> F0F5F5F5 40404040 40404040 40404040 = 0555 067319 ===> 40404040 40404040 40404040 40404040 = 067329 ===> 40404040 40404040 40404040 40404040 = 067339 ===> 40404040 40404040 40404040 40404040 = 067349 ===> 40F0F0F0 F1F0F0F0 F0000000 0000000C = 00010000....... 067359 ===> 1C000000 00000090 ECD00C18 CF41B0C0 = ................ 067369 ===> D850DB00 0450BD00 0818DB58 21000018 = 0............... 067379 ===> 624130C1 F1415000 04070045 10C02C8F = ...A1........... 067389 ===> 0674800A 134110C1 204100C1 8058F010 = .......A...A..0. 067399 ===> 3005EF41 10C12041 00C1A158 F0103005 = .....A...A..0... 0673A9 ===> EFD203C2 C2C2E8DE 03C2C220 00D220C2 = .K.BBBY..BB..K.B 0673B9 ===> A1300041 10C12041 00C29658 F0103005 = .....A...B..0... 0673C9 ===> EF412020 02413030 21D203C2 C2C2F046 = .........K.BBB0. 0673D9 ===> 50C04A41 10C12041 00C1A158 F0103005 = .....A...A..0... GPREGS R0 ==> 00000001 R1 ==> 000671C8 R2 ==> 00067301 R3 ==> 0006CC30 R4 ==> 02944B10 R5 ==> 00057850 R6 ==> 00067309 R7 ==> 80090E56 R8 ==> 0009F144 R9 ==> 00000000 R10 ==> 00090FBC R11 ==> 00067750 R12 ==> 00067658 R13 ==> 00067750 R14 ==> 00097AC4 R15 ==> 00067658 Figure 7-3 shows that the address to a DSECT has been reassigned. 7-10 XPEDITER/TSO and XPEDITER/IMS Reference Manual Figure 7-3. Reassigning Address to TSTREC ------------------------ XPEDITER/TSO - SOURCE ---------------------------------COMMAND ===> SCROLL ===> CSR PROGRAM: TRITSTA MODULE: TRITSTA COMP DATE: 07/20/1997 COMP TIME: 14:41:00 000000 TSTREC DSECT > 0 000000 TYPE DS ZL1 > 0 ZONED 000001 DS 0CL3 > 555 000001 SIDEA DS ZL1 > 5 ZONED 000002 SIDEB DS ZL1 > 5 ZONED 000003 SIDEC DS ZL1 > 5 ZONED ANB DS PL2 > +3 PACKED ----------------------------------------------------- Before TRITSTA:67670 06766C START EQU * 06766C L R2,0(R1) POINT R2 TO PARAMETER -----USING TSTREC,R2 SET ADDRESS FOR DSECT =====> ZEROIT ZAP ANB,=P’0’ 067676 ZAP ANC,=P’0’ 06767C ZAP BNC,=P’0’ 067682 PACKIT PACK TSTA,SIDEA PACK TRIANGLE SIDE 067688 PACK TSTB,SIDEB " GPREGS R0 ==> 00000001 R1 ==> 000671C8 R2 ==> 00067301 R3 ==> 0006CC30 R4 ==> 02944B10 R5 ==> 00057850 R6 ==> 00067309 R7 ==> 80090E56 R8 ==> 0009F144 R9 ==> 00000000 R10 ==> 00090FBC R11 ==> 00067750 R12 ==> 00067658 R13 ==> 00067750 R14 ==> 00097AC4 R15 ==> 00067658 6. For an example of labeled dependent USING instructions in a High-Level Assembler program, see Figure 5-8 on page 5-19. VERIFY Assembler Description The VERIFY command displays the Op (operation) code and effective address of a specified instruction or data area. You can type over the unprotected instruction fields on the verify display as if applying dynamic zaps to your module. All values in a verify display are shown in hexadecimal format. Both the VERIFY command and its displayed data are written to the log unless suppressed by the SET LOG VERIFY OFF command. Input VERIFY VER V address label-name offset statement-number VERIFY Line Command Syntax V VV Display the Op (operation) code and effective address of the data area on the line Display the Op (operation) code and effective address of the data areas for each line in a block of lines The parameter descriptions for the VERIFY command are: XPEDITER/TSO Commands (TOGGLE - :) 7-11 address A 24- or 31-bit address. label-name The entry name field of an Assembler statement. offset Identifies an area in storage relative to the beginning of the area. It must be a plus (+) sign, followed by a valid hexadecimal number. Otherwise, the value would be interpreted as one of the remaining parameters noted above. statement-number A valid program statement number. Usage Notes 1. The VERIFY command on an unexpanded macro expands the macro and displays the appropriate Op (operation) code on the expanded instructions. 2. Any data displayed in columns 74-80 disappears from the screen when the VERIFY command is entered on the same line. The data reappears when the verify display is reset. The source can be scrolled to the right if necessary. 3. The VERIFY command on a data area longer than 16 bytes is truncated. If the data type is X (hexadecimal), however, the displayed value is scrollable. 4. The effective addresses displayed by the VERIFY command do not necessarily reflect assembly time values. The values that appear in the verify display are calculated at execution time as the base address is established. 5. If a VERIFY command is entered on an instruction or a data area before addressability is established, the result is unpredictable. 6. If the V line command is entered on a statement that contains an instruction, the instruction is displayed. If the line contains the definition of a data area, the data area is displayed. 7. The DELETE command can be used to turn off the VERIFY command. An expanded macro is not collapsed unless the DELETE GEN command is used. 8. The instruction, op code, operands, and data areas in a verify display can all be typed over. This allows dynamic zaps to your module during the test session. Examples 1. In Figure 7-4 and Figure 7-5, the V line command is used to display the contents of a group of instructions. Figure 7-4. Entering the V Line Command on Instructions 000058 000059 vv 000066 vv 000068 000069 000070 000071 START EQU OPEN TM BZ ZAP ZAP ZAP ZAP GET * (INDCB,INPUT) INDCB+X’30’,X’10’ ENDIT TYPEI,=P’0’ TYPEII,=P’0’ TYPEIII,=P’0’ TYPEIV,=P’0’ INDCB,INREC OPEN INPUT FILE OPEN SUCCESSFUL? BRANCH TO ENDIT IF NOT OPEN AGAIN READ A RECORD 7-12 XPEDITER/TSO and XPEDITER/IMS Reference Manual Figure 7-5. Verify Instruction Display 000058 000059 000065 000066 000067 000068 000069 000070 000071 START EQU OPEN TM BZ ZAP ZAP ZAP ZAP GET * (INDCB,INPUT) OPEN INPUT FILE TM 00001E > 9110 C168 :8008DBB8 BE/BZ 000022 > 4780 C0D8 :8008DB28 ZAP 000026 > F810 C199 C1F8 :8008DBE9 :8008DC48 TYPEII,=P’0’ TYPEIII,=P’0’ TYPEIV,=P’0’ INDCB,INREC READ A RECORD AGAIN 2. In Figure 7-6 and Figure 7-7, the VV line command is used to display the contents of the data areas on the specified block of lines. Figure 7-6. Entering the V Line Command on Data Areas 000179 vv 180 000181 000182 000183 000184 000185 000186 000187 000188 vv 189 000190 000191 000192 ******************************************************** TYPEI DS PL2 ž TYPEII DS PL2 ž THESE FIELDS PASSED TO DSECT TYPEIII DS PL2 ž IN SECOND SUBORDINATE MODULE. TYPEIV DS PL2 ž ******************************************************** TYPE DS ZL1 ž INREC DS 0CL80 ž THESE FIELDS PASSED TO DSECT IN FIRST SIDEA DS ZL1 ž SUBORDINATE MODULE: DO NOT CHANGE SIDEB DS ZL1 ž ORDER OR LENGTHS. SIDEC DS ZL1 ž FILLER DS CL77 ž ******************************************************** END TRIMAINA Figure 7-7. Verify Display of Data Areas 000179 000180 000181 000182 000183 000184 000185 000186 000187 000188 000189 000190 000191 000192 ******************************************************** TYPEI DS PL2 000191 > 000C TYPEII DS PL2 000193 > 000C TYPEIII DS PL2 000195 > 000C TYPEIV DS PL2 000197 > 000C ******************************************************** TYPE DS ZL1 000199 > 00 INREC DS 0CL80 00019A > F3F4F540 40404040 40404040 40404040 SIDEA DS ZL1 00019A > F3 SIDEB DS ZL1 00019B > F4 SIDEC DS ZL1 00019C > F5 FILLER DS CL77 ž ******************************************************** END TRIMAINA WHEN COBOL PL/I Assembler C Language Description The WHEN command pauses whenever a specified condition is true or when a program variable changes value. Three types of conditions are evaluated: • Data value change • Relational data comparison • Data address change. XPEDITER/TSO Commands (TOGGLE - :) 7-13 XPEDITER/TSO stops after the instruction that meets the requirements of the WHEN command and before the next instruction to be executed. The message area indicates that the WHEN condition was met. Input WHEN data conditional-expression The parameter descriptions for the WHEN command are: data Specifies a data-name, data-label, or variable. conditional-expression Any valid expression supported by XPEDITER/TSO that tests logical relationships. The following standard operators and values are valid: Equal (=) Greater than (>) Less than () Not less than (NOT >) and stops after the statement is executed. 3. Use the colon program/module qualification to uniquely qualify variable names and for nested programs. For more information, refer to “Command Qualification Rules” on page 1-4. 4. If a WHEN was set on a program variable and the variable contains invalid data, XPEDITER/TSO processes this as false, not as an error condition. 5. The WHEN command can be set before a variable has addressability. XPEDITER/TSO will detect when a variable gains and loses addressability as follows: – Controlled variable: Stops when the storage is explicitly allocated and freed by the program. – Automatic Variable: Does not stop when the storage is allocated and deallocated by PL/I or C (as you execute your program). – Based variable: Stops when addressability is established and lost by changing the value of the base (pointer) but not by changing the address of the base (pointer). – Static variable: Addressability is established throughout the procedure. A WHEN data-change is not concerned about addressability gain or loss. 6. The SHOW WHENS command displays a list of all active WHEN conditions for the current module. The D line command may be used to delete individual WHEN conditions from the displayed list. 7-14 XPEDITER/TSO and XPEDITER/IMS Reference Manual 7. In an unattended batch test, the WHEN command does not cause a pause. Instead, when the value of a data name changes, an identifying message is displayed. A KEEP command should be used in conjunction with the WHEN command. 8. Use the DELETE WHEN command to remove the WHEN condition. 9. If no conditional expression is specified, CHANGES is the default. COBOL 1. An XPEDITER/TSO conditional-expression has the same form and follows the same rules as the COBOL IF verb construct, with some exceptions. PL/I C Language 1. WHEN array (subscript) checks the array value change or the subscript change. When either value changes, the program stops. 2. Pointer (->) qualification can be used where applicable. If qualification is not entered, the default, if one exists, is used. Examples ALL Languages 1. To stop execution if the value of WORK-REC changes, enter: WHEN WORK-REC 2. To stop execution if SIDE-A or SIDE-B contains invalid data, enter: WHEN ((SIDE-A NOT NUMERIC) OR (SIDE-B NOT NUMERIC)) 3. To stop execution if the address or value of Y_REC changes, enter: WHEN ZPTR_2 -> Y_REC 4. Figure 7-8 displays a WHEN data change breakpoint that stops the program at statement 26. The message area identifies the cause of the pause breakpoint. Figure 7-8. WHEN Conditional (Data Change) Breakpoint ------------------------------ XPEDITER/TSO - SOURCE ---------------------------COMMAND ===> SCROLL===> CSR WHEN IN_REC CHANGES ----+--000008 IN_REC_PTR < 00200BC0 POINTER ** END ** -----000025 ====>> 000027 000028 -------------------------------------------------- After TRIMINP1:26 ANALYZE_NEXT_REC: PROC; READ FILE (INFILE) SET(IN_REC_PTR); IF ¨OUT_OF_RECS THEN DO; TRIANGLE_TYPE = 0; 5. To stop execution when a specific value is found for a data item, enter: WHEN INREC = '345' XPEDITER/TSO Commands (TOGGLE - :) 7-15 WHEREIS COBOL PL/I Assembler C Language Description The WHEREIS command displays the location of a specific address or module. A record of the command is written to the log. Input WHEREIS WHERE W address label-name module-name offset The parameter descriptions for the WHEREIS command are: address A 24- or 31-bit address. label-name (Assembler) The entry name field of an Assembler statement. module-name The name of a program module. offset Identifies an area in storage relative to the beginning of the area. It must be a plus (+) sign, followed by a valid hexadecimal number. Otherwise, the value would be interpreted as one of the remaining parameters noted above. Usage Notes ALL Languages 1. If the WHEREIS command is entered without a parameter, the starting address, module name, and offset of the current module are displayed in the message area. 2. If a module-name is entered with the WHEREIS command, the module name and the starting address of the module appear in the message area. For example: MODULE XXXXXXXX LOCATED AT HHHHHHHH 3. If an address is entered with the WHEREIS command, the address, module name, and offset appear in the message area. For example: ADDRESS HHHHHHHH LOCATED IN XXXXXXXX AT OFFSET nnnnnnnn 4. If an offset is entered with the WHEREIS command, the offset and address appear in the message area. For example: OFFSET nnnnnnnn LOCATED AT HHHHHHHH 7-16 XPEDITER/TSO and XPEDITER/IMS Reference Manual 5. in PL/I, WHEREIS does not support variable names. Examples ALL Languages 1. To find the address of a module, enter the following on the command line: WHEREIS module name: 2. To find the address of a module when it is not in the current load module, enter the following on the command line: WHEREIS load module::module name: 3. To determine where the address AB98 is located, enter the following on the command line: WHEREIS AB98 The result is displayed in the message area. ADDRESS AB98 LOCATED IN IRXFLOC AT OFFSET 001190 4. To locate offset 5AA, enter the following on the command line: WHEREIS +5AA WS COBOL Description The WS command displays all of the variable names in the Working-Storage section of the active source program. For nested programs, WS displays all variable names in the Working-Storage of each nested program. Input WS Figure 7-9 on page 7-17 shows the result of entering the WS command on the primary command line of the active source program. To return to your current point of execution after viewing WS, enter LOCATE *. XPEDITER/TSO Commands (TOGGLE - :) 7-17 Figure 7-9. Displaying Working Storage ------------------------------ XPEDITER/TSO - SOURCE ---------------------------COMMAND ===> SCROLL ===> CSR PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 07/31/1997 COMP TIME: 14:41:59 ----+----1----+----2----+----3 SAME-> 01 IN-REC > 123 --000030 01 WORK-REC > 123 ** END ** --------------------------------------------------------- After TRIMAIN:46 000023 01 N-N-C-TABLE REDEFINES NAME-N-CNTR-TABLE. 000024 05 N-N-C OCCURS 4 TIMES 000025 INDEXED BY TX. 1 OCCURS ----+----1----+----2000026 P 10 N-NAME PIC X > EQUILATERAL TRIANGLES 000027 P 10 N-CNTR PIC 9 > 0000 DECIMAL 000028 P 01 OUT-OF-RECS PIC X > N 000029 P 01 TRIANGLE-TYPE PIC 9 > ?? INVALID DECIMAL 000030 01 WORK-REC. 000031 P 05 SIDE-A PIC 9 > 1 DECIMAL 000032 P 05 SIDE-B PIC 9 > 2 DECIMAL 000033 P 05 SIDE-C PIC 9 > 3 DECIMAL 000034 B PROCEDURE DIVISION. XCHANGE COBOL PL/I Assembler C Language Description The XCHANGE command is valid only if you have XPEDITER/Xchange installed at your site. The XCHANGE command invokes the XPEDITER/Xchange primary screen to simulate date and time changes for your applications. Xchange provides an easy and efficient way to test time-sensitive applications. Input XCHANGE XCH Usage Notes 1. You can dynamically activate XPEDITER/Xchange for the program you are testing by entering the following on the command line: XCHANGE ssss yyyy/mm/dd hh:mm:ss Where: – ssss identifies the Xchange subsytem to be updated and defaults to CWXG. – yyyy/mm/dd identifies the Xchange date and defaults to the current date. – hh:mm:ss identifies the Xchange time and defaults to the current time. Note: This form of the command is not valid in Batch Connect. Refer to the XPEDITER/Xchange Installation and Reference Manual for additional information. 7-18 XPEDITER/TSO and XPEDITER/IMS Reference Manual 2. To return to your XPEDITER session from the Xchange primary screen, press PF3. XPED COBOL PL/I Assembler C Language Description The XPED command is used in the input command stream (XPIN DD) to specify the environment for the test session. Input XPED environment Any of the following values can be specified for environment: BATCH Unattended batch environment. BATCH PEM Unattended batch environment testing a Hogan BATCHPEM application with breakpoints and module tracing allowed in the BATCHPEM module as well as the application modules. BTS BTS environment. BTS PEM pem-driver BTS environment testing a Hogan IMSPEM application with breakpoints and module tracing allowed in the IMSPEM module as well as the application modules. Specify pem-driver as IMSPEM or the installation equivalent. DSP DB2 Stored Procedures environment. IMS IMS/DB environment. IMS PEM IMS environment testing a Hogan DLIPEM or BMPPEM application with breakpoints and module tracing allowed in the DLIPEM or BMPPEM module as well as the application modules. TSO Interactive batch environment. TSO PEM Interactive batch environment testing a Hogan BATCHPEM application with breakpoints and module tracing allowed in the BATCHPEM module as well as the application modules. Usage Notes 1. The XPED command must be the first command in the input command stream. XPEDITER/TSO Commands (TOGGLE - :) 7-19 2. A value should be specified for the environment parameter. However, if the environment value is omitted, the default value of BATCH is assumed. 3. Only one XPED command can be entered for each unattended batch test. Multiple TEST commands can be entered to specify each program to be tested when the tests are to occur in the same environment. 4. The XPED command is recorded in the log. 5. When testing interactively, XPEDITER/TSO automatically generates an XPED command. : (Colon) COBOL PL/I Assembler C Language Description Use the colon (:) line command when testing interactively to scroll a line to a specific column or to prevent a line from being scrolled further. This command is only valid on a line that is displaying a character data field which is larger than the screen size. Input : Line Command Syntax : :n Freeze the line at the current column position Scroll a line to column n Usage Notes 1. A : without a column number freezes the line at the current column position. Once the line has been positioned at the specified column, the line will no longer scroll using the LEFT and RIGHT primary commands until a D: line command is entered or the displayed or kept item is removed. To scroll the frozen item right or left, use the ( scroll data right line command or the ) scroll data left line command to position the window. 2. A : followed by a column number repositions the line to begin with the specified column number. 7-20 XPEDITER/TSO and XPEDITER/IMS Reference Manual A-1 Appendix A. COBOL-Structure Keywords App endix A. App A The following table describes each COBOL-structure keyword and the verbs that the keyword identifies. All verbs are shown in capital letters. Where keywords to a verb are listed, the keywords are shown in lowercase, and the verbs, capitalized, are enclosed in parentheses. Keyword Description and Reference Possible modification of the value of a data name or index: Everything in the INPUT keyword, plus ADD, by (PERFORM), CALL, COMPUTE, DIVIDE, EXAMINE (OS/VS COBOL only), from (PERFORM, WRITE), INITIALIZE (VS COBOL II only), INSPECT, MOVE, MULTIPLY, SEARCH, SET, STRING, SUBTRACT, TRANSFORM (OS/VS COBOL only), UNSTRING, varying (PERFORM); EXEC CICS keywords: ADDRESS, ASKTIME, ASSIGN, FORMATTIME, INQUIRE DATASET, INQUIRE PROGRAM, INQUIRE TERMINAL, INQUIRE TRANSACTION, LINK, XCTL Transfer of logic control: Everything in the CONDition keyword, plus ALTER, CALL, CONTINUE, ENTRY, EXIT, GOBACK, GO TO, NEXT SENTENCE, PROCEDURE DIVISION, PERFORM, STOP, INPUT PROCEDURE, OUTPUT PROCEDURE; EXEC CICS keywords: ABEND, HANDLE ABEND, HANDLE AID, HANDLE CONDITION, LINK, RETURN, XCTL; EXEC SQL keywords: WHENEVER CALL CICS CALL and CANCEL statements, excluding generated calls from EXEC CICS or EXEC DLI EXEC CICS statements Conditional logic: CONDition At end (READ, SEARCH, RETURN), at eop/at end-of-page (WRITE), depending on (GO TO), else (IF), EVALUATE (VS COBOL II only), IF, invalid key (DELETE, WRITE, START, READ, REWRITE), otherwise (IF) (OS/VS COBOL only), ON (OS/VS COBOL only), on exception (CALL), on overflow (STRING, UNSTRING, CALL), on size error (ADD, SUBTRACT, MULTIPLY, DIVIDE, COMPUTE), times (PERFORM), until (PERFORM), when (SEARCH) EXEC DLI statements or calls to CBLTDLI ALTer BRAnch DLI A-2 XPEDITER/TSO and XPEDITER/IMS Reference Manual Keyword Description and Reference Input and output to a program: ACCEPT, CALL, CLOSE, DELETE, DISPLAY, EXHIBIT (OS/VS COBOL only), MERGE, OPEN, READ, RELEASE, RETURN, REWRITE, SORT, START, WRITE NOTE: The CALL modules must be specified on the Input/Output Module Definition screen completed at installation time or they will not be highlighted by the FIND IO command. EXEC CICS keywords: CONVERSE, DELETE, DELETEQ TD, DELETEQ TS, DBR, READ, READNEXT, READPREV, READQ TD, READQ TS, RECEIVE, RESETBR, RETRIEVE, REWRITE, SEND, STARTBR, NCPOINT, UNLOCK, WRITE, WRITEQ TD, WRITEQ TS; CALL CBLTDLI function code keywords: CHKP, CHNG, CLSE, CMD, DEQ, DLET, FLD, GCMD, GET CHN, CHNP, GHU, GN, GNP, GU, IRST, LOAD, LOG, OPEN POS, PURG, REPL, ROLB, ROLL, SHCD, SNAP, STAT, SYMCHKP, SYNC, TERM, XRST; EXEC DLI keywords: CHKP, DLET, GU, GN, GNP, ISRT, LOAD, LOG, REPL, ROLL, ROLB, SCHD, STAT, SYMCHKP, TERM, XRST; EXEC SQL keywords: CLOSE, COMMIT, DECLARE CURSOR, DELETE, FETCH, INSERT, OPEN, ROLLBACK, SELECT, UPDATE Receive data into the program: ACCEPT, READ, RETURN; EXEC CICS keywords: CONVERSE, READ, READNEXT, READPREV, READQ TD, READQ TS, RECEIVE, RETRIEVE; IO Input or INPut EXEC DLI keywords: GU, GN, GNP, STAT; CALL CBLTDLI function code keywords: CMD, FLD, GCMD, GET, GHN, GHNP, GHU, GN, GNP, GU, POS, STAT; EXEC SQL keywords: FETCH, SELECT, UPDATE Transmit data out of the program: DELETE, DISPLAY, EXHIBIT (OS/VS COBOL only), MERGE, RELEASE, REWRITE, SORT, WRITE; Output or OUTput EXEC CICS keywords: CONVERSE, DELETE, DELETEQ TD, DELETEQ TS, REWRITE, SEND, WRITE, WRITEQ TD, WRITEQ TS; CALL CBLTDLI function code keywords: CMD, DLET, FLD, ISRT, REPL, SNAP; EXEC DLI keywords: DLET, ISRT, REPL; EXEC SQL keywords: DELETE, INSERT, UPDATE PARAgraph SQL Paragraph or section labels DB2 statements or EXEC SQL calls G-1 Glossary abend. An error condition that results in abnormal termination of a program. absolute address. An address that can reference the specified memory location without further modification. active module. The module in which execution is suspended. active source file. See current source display. address. A unique nonnegative integer that identifies a byte location in main memory. address space. The range of addresses available to a programmer. alternate entry points. An alternate entry point is created whenever an ENTRY statement is used in COBOL, even if the ENTRY statement is the first statement in the Procedure Division. array. A collection of one or more elements with the same characteristics grouped into one or more dimensions. assemble. The preparation of a machine language program from a symbolic language program by substituting absolute operation codes for symbolic operation codes and absolute or relocatable addresses for symbolic addresses. Assembler language processor. One of the language processors provided by Compuware, this language processor accepts Assembler output, builds work records, sorts and merges the records, and merges the records with the listing to produce processor control blocks that can then be used as input to other Compuware products. base address. The beginning address of the storage area where the CSECT or DSECT resides. base register. A general-purpose register used to store a base address. batch. Processing in which jobs are grouped (batched). The jobs are executed sequentially, and each job must be processed to completion before the following job can begin execution. BDAM. Basic direct access method. Branch Coverage. When referencing XPEDITER/Code Coverage (if installed at your site), Branch Coverage is defined as a methodology for tracking the number of paths which were taken during execution of a conditional statement. For Code Coverage, this methodology designates a specific type of statistic. Branch Coverage is supported only for COBOL and must be implemented in order to indicate whether the next verb in succession is intended for execution. The collection of Branch Coverage statistics is optional during a Code Coverage session. Qualifying condition statement types for Branch Coverage include IF, ON n, and WHEN. In terms of reliability, Branch Coverage is considered the most thorough method required for the testing of specialized application programs. breakpoint. A location or offset (paragraph or statement) within the program where XPEDITER “breaks” or temporarily suspends normal program execution to perform another function. C370 language processor. One of the language processors provided by Compuware, this language processor accepts C compiler output, builds work records, sorts and merges the records, and merges the records with the listing to produce processor control blocks that can then be used as input to other Compuware products CA-Optimizer. A COBOL productivity and optimization product for the OS and OS/VS environments. CA-Optimizer optimizes COBOL programs. It works on the object code of a program, reducing the size of the program and its run time by eliminating redundant machine instructions. case sensitivity. Whether a group of letters is uppercase or lowercase. CICS. Customer information control system. COBOL language processor. One of the language processors provided by Compuware, this language processor accepts COBOL compiler output, builds work records, sorts and merges the records, and merges the records with the listing to produce processor control blocks that can then be used as input to other Compuware products. code coverage. The concept of measuring and reporting on how much of one or more programs have been executed by a set of tests. (see also XPEDITER/Code Coverage) G-2 XPEDITER/TSO and XPEDITER/IMS Reference Manual column template. A dashed line depicting column positions. When debugging with XPEDITER, a column template is displayed above each group item and each nonnumeric elementary item. The length of the column template corresponds to the length of the variable to be displayed as defined in the picture clause. CMS. Conversational monitor system. date/time stamp. The date and time of compilation that marks the load module. XPEDITER stores the date/time stamp in the header record of the DDIO file. If there is a mismatch between the load module stamp and the DDIO file stamp, XPEDITER responds with a message in the log. DB2 Stored Procedure. See Stored Procedure. DDIO. A Compuware file access method. command area. The area of any display used to enter XPEDITER primary commands. The command area is designated as the left side of the second line of the source display. command delimiter. A character used to separate commands in a list of commands entered simultaneously. The character used should be the same as the ISPF command delimiter. If the XPEDITER and ISPF command delimiters are not the same, ISPF will break the stream down into illogical sections to be passed on to XPEDITER one at a time for parsing. command, CICS. In CICS, an instruction similar in format to a high-level programming language statement. CICS commands begin with the pseudo-verb EXEC (either EXEC CICS or EXEC DLI) and are terminated by END-EXEC. They can be issued by an application program to make use of CICS facilities. command-language statement. Synonymous with command in relation to CICS. command stacking. A method of entering multiple commands simultaneously by separating each command by a special delimiter. Command stacking is valid when testing with XPEDITER/TSO only if you are using ISPF version 2.1 or higher. communication area (COMMAREA). An area that is used to pass data between tasks that communicate with a specific terminal. The area can also be used to pass data between programs within a task. conditional expression. Any of the valid COBOL expressions supported by XPEDITER that test conditions to select between alternate paths of control depending upon the truth value of the condition. CSECT. Control section. current source display. The program currently displayed on the Source screen. It is named in the third line of the Source screen. data area. Storage space defined and reserved at assembly time for insertion and manipulation of data at execution time. DDIO file. A generic name for an XPEDITER source listing file. declaration statement. In PL/I, a DECLARE statement that specifies the attributes of a name. declarative. Directives that reserve defined areas of storage (DS statements) or define constant values (DC statements). default delimiter. The delimiter set by XPEDITER. dimension. The size of a table or array and the arrangement of its elements. directive. A statement that tells the assembler to take a special action and generates no object code. For example, START, DSECT, and END are directives. displacement. The number of bytes from the first byte of the storage area. DL/I. Data language 1. IBM’s database management facility provided by the IMS/VS database program products. doubleword. A binary constant that has a length of eight bytes and can be aligned on a doubleword boundary (a location whose address is divisible by eight). DSECT. Dummy control section. Used by Assembler to format an area of storage without producing any object code. dump. Hexadecimal representation of storage that may contain data useful for diagnosing an error. duplication factor. A value that indicates the number of times to generate the data specified immediately following the duplication factor. effective address. The address that results from adding a base register value and a displacement value. G-3 entry point. The alternate name supplied in the ENTRY statement on the link-edit control cards: By default in COBOL, it is the program name. execution monitor. The XPEDITER execution processor is used to allocate the test data and environment to run the test, load and monitor execution of your program, and display and format the data in your program. explicit declaration. In PL/I, a DECLARE statement that specifies the attributes of a name. Same as declaration statement. figurative constant. A compiler-generated value referenced through the use of certain reserved words. The reserved word can be written in a program without having been defined. File-AID for DB2. A DB2 database management and SQL development and analysis tool. fullword. A binary constant that has a length of four bytes and can be aligned on a fullword boundary (a location whose address is divisible by four). general-purpose registers. The 16 general-purpose registers are separate from main storage. They are numbered from 0 through 15 and are referenced by number. These 32-bit registers are used for binary arithmetic and to reference main storage positions by using base-displacement addressing. halfword. A binary constant that has a length of two bytes and can be aligned on a halfword boundary (a location whose address is divisible by two). HELP facility. Online support that can be invoked for clarification or aid in relation to a problem. INCLUDE library. Under MVS, a partitioned dataset created and maintained by the user allocated to the ddname XINCLUDE. This library contains test scripts generated by a test session or used to set up a session. INCLUDE test script. A predefined test script executed through the INCLUDE command. The commands in the test script are executed as they are read in, as if they had been entered serially from the terminal. index register. A register whose content is added to (or subtracted from) the absolute address derived from a combination of a base address with a displacement. initial test script. A special test script executed at the beginning of a session that is used to set up the testing environment. This test script is not executed through the INCLUDE command. Rather, it is specified on the appropriate environment test menu or command parameter. intercommunication facilities. A term covering intersystem communication (ISC) and multiregion operation (MRO). intersystem communication. Communications between separate systems by means of SNA facilities. Keep window. The window at the top of the Source screen that automatically displays the values of data items referenced by the current execution line whenever execution halts. It also displays any data items specified by the KEEP command. label. The entry in the name field of an Assembler language statement. The Assembler option supports label names of up to 30 characters. language processor (LP). A processor that converts Assembler or compiler output into input for other Compuware products. License Management System(LMS). Facility that enables you to centrally administer Compuware product License Certificates and manage access to Compuware products at your site. The LMS includes several components that enable you to establish, maintain, diagnose, and upgrade access to those Compuware products licensed by your enterprise. The LMS replaces the utility previously known as the Customer Profile Utility. line commands. XPEDITER commands that are entered by typing over the compiler-generated statement numbers. link pack area. In OS/VS2, an area of virtual storage containing reenterable routines loaded at IPL. It can be used concurrently by all tasks in the system. literal. Any alphanumeric string of characters enclosed in apostrophes (’ ’). load libraries. In the MVS environment, the set of partitioned datasets containing the link-edited application programs. XPEDITER searches the list for the load module of the program to be tested. log. A file created and used by XPEDITER to record each command entered during a debugging session and the responses made to it. macroinstruction. An instruction that causes the assembler to process a predefined set of statements G-4 XPEDITER/TSO and XPEDITER/IMS Reference Manual called a macro definition. The statements from the macro definition replace the macroinstruction (or macro call) in the source program. message area line. The line below the command area, generally the third line of any source display used to report brief error or informational messages. MQSeries. MQSeries for OS/390 allows OS/390 applications to use message queuing in order to participate in message-driven processing. With message-driven processing, applications can communicate across different platforms by using the appropriate MQSeries products. All MQSeries products implement a common application programming interface for whatever platform the applications are able to run on. The calls made by the applications and the messages they exchange are common. multiregion operation. Communication between CICS systems in the same processor without the use of SNA facilities. MVS. Multiple virtual storage. native CMS. The VM/CMS environment without the use of ISPF. native TSO. The MVS/TSO environment without the use of ISPF. nonrepresentable characters. Characters that cannot be printed or displayed. XPEDITER displays nonrepresentable characters as periods (.) by default. NOQ environment. An XPEDITER/TSO environment used to test IMS MPP or BMP programs when BTS is not available for testing. IMS database calls can be made since XPEDITER/TSO will provide addressability to any IOPCBs. However, all calls to the message queue must be skipped. object module. A module that is the output of an Assembler or compiler. offset. A relative location or position within a data area. operating system. Software that controls the execution of jobs. It can provide resource allocation and scheduling. PA keys. The terminal program access keys. Their definitions are unaltered by XPEDITER. panels. Menus or screens presented on a display terminal. paragraph. For COBOL, a paragraph is a subdivision of a COBOL program: A paragraph contains one or more statements or sentences that work as a unit to perform a specific set of operations. During an Assembler test, XPEDITER/TSO considers a paragraph to be a name, a label on one or more valid executable instructions, or a name label on an EQU * or DS 0H that is followed by one or more valid executable instructions. pausing. All pause breakpoint commands direct XPEDITER to unlock the keyboard and return control to the user. Any number of XPEDITER commands can be entered while XPEDITER is paused. PCB. Program communication block. PL/I language processor. One of the language processors provided by Compuware, this language processor accepts PL/I compiler output, builds work records, sorts and merges the records, and merges the records with the listing to produce processor control blocks that can then be used as input to other Compuware products. primary commands. XPEDITER commands that are entered from the command area as opposed to XPEDITER line commands, which are entered by typing over the compiler-generated statement number. procedure. In PL/I, a block of programming statements that starts from various points in a program by CALL statements and processes data passed to it from the calling block. procedure division. The section of a COBOL program that contains executable instructions. PSW. Program status word. An operating system control block defining the current status and location of a program that is executing. Quickstart. A File Allocation Utility (FAU) enhancement which provides the ability for users to point XPEDITER at the JCL needed to run a test, therefore eliminating the need to use the FAU. register. A device capable of storing a specified amount of data, such as one word. review mode. An XPEDITER dynamic analysis feature for COBOL programs that lets the programmer review the execution flow backwards. screens. Menus or panels presented on a display terminal. script dataset/file. A dataset or file created and used by XPEDITER to record each executable command entered during a debugging session. The G-5 script dataset can be copied into an INCLUDE library, a sequential file, or another partitioned dataset to be used again. scroll amount area. The furthest right area of the second line of the source display. It is used to display the current scroll amount, whenever scrolling is applicable. scrollable fields. If a variable’s length exceeds the screen width, the field becomes scrollable. Scrollable fields are identifiable by the highlighted MORE-> message in the line command area. When the screen is scrolled left or right, only the scrollable values and their associated column templates actually move. scrolling. The ability to move the screen window across the data in any of four directions. sentence. For COBOL, a sentence is a statement or group of statements that ends with a period. session log. A file created and used by XPEDITER to record each command entered during a debugging session and the responses made to each command. session script. A file created by XPEDITER containing the commands entered during a debugging session. This file can be saved as a member of an INCLUDE dataset to be used as input to another debugging session. Shared Directory. A variable length record VSAM Relative Record Dataset (RRDS) that contains language processor (LP) directory records necessary to process LP database members. Source display screen. The XPEDITER screen used to display the program source. Within this display screen, XPEDITER commands can be entered from the command area or by typing over the compiler-generated statement number. The data on the screen is scrollable in all four directions. source listing. A compiled listing and other information about a file stored in a source listing file. source listing file. A file containing source listings and accessed by DDIO. split screen. A capability provided by ISPF/PDF that allows you to partition the display screen into multiple “logical” areas. SQL. Structured query language. Stored Procedure. A Stored Procedure is a userwritten program that is stored at the DB2 server and can be invoked by a client application. A Stored Procedure can contain most statements that an application program usually contains. A Stored Procedure can also execute Structured Query Language (SQL) statements at the server as well as application logic for a specific function. A Stored Procedure can be written in COBOL, Assembler, C, PL/I or many other different languages, depending on the platform where the DB2 server is installed. structure. A collection of data items. SUB environment. The XPEDITER/TSO environment that is used to test stand-alone subroutines that make IMS database calls. temporary breakpoint (GOTO). A breakpoint that occurs after a GOTO command is entered and before the target paragraph or statement is executed. The breakpoint is temporary and provides the opportunity to ensure that the target statement is the one intended. test script. A predefined stream of XPEDITER commands used to set up, run, or rerun a debugging session. test script library. A partitioned dataset allocated to the ddname XINCLUDE. trace breakpoint. A breakpoint set by execution of the TRACE command in which modules are traced upon entry and exit. unit testing subroutines. Testing a subroutine as a stand-alone program; that is, without the calling module being present. user test scripts library. See INCLUDE library. unattended batch. Processing data without interacting with the debugging session from your terminal. XPEDITER debugging commands are read from a test script and the output from the test session is written to the log. VCON. Reserves storage for the address of a location in a CSECT that lies in another source module. A VCON is often used to branch to the specified external address. VSAM. Virtual storage access method. wide screen. A terminal screen that is 32 or 43 lines long, and 133 characters wide. working storage. A section of a COBOL program used to define the data items that are used in a program. G-6 XPEDITER/TSO and XPEDITER/IMS Reference Manual Workload Manager (WLM). A component of MVS used for scheduling and dispatching of work within an MVS system. WLM is a prerequisite for the testing and debugging of DB2 Stored Procedures in an XPEDITER/TSO environment. XPEDITER/Code Coverage. A product that collects run-time execution data from the XPEDITER/TSO, XPEDITER/CICS, and XPEDITER/IMS debuggers to help users analyze, understand, improve, and document how much of their code has been tested. Code Coverage interacts with XPEDITER/DevEnterprise to make code coverage results viewable online and to give users an idea of where the risk lies in their testing of a program. XPEDITER ISPF interface. The XPEDITER ISPF interface is a collection of menus, CLISTs or EXECs, and programs created to assist you in allocating test data and supplying the information required to start an XPEDITER/TSO or XPEDITER/IMS debugging session. XPEDITER/TSO. A symbolic debugging and testing tool used by COBOL, Assembler, PL/I, and C language programmers to simplify the tasks of diagnosing and fixing programming errors by giving the programmer control over the execution of the program interactively at the source level. I-1 Index Special Characters ( line command (scroll right), 3–8 ) line command (scroll left), 3–4 : line command (set column number), 7–19 usage notes, 7–19 @ symbol, 2–4, 2–11 COUNT, 2–19 COVER, 2–22 GO, 4–20 GOTO, 4–23 INSERT, 5–5 INTERCEPT, 5–11 PAUSE, 6–1 SKIP, 6–46 TRACE, 7–2 WHEN, 7–12 breakpoints, xviii BROWSE command, 2–14 usage notes, 2–15 BTS, 5–11, 5–13 A A line command (AFTER), 2–3, 2–5 AA SNAP command, 2–1 Snapshot report, 2–1 usage notes, 2–1 absolute address, xix, 5–38 ACCEPT command, 2–2 usage notes, 2–2 Acrobat PDF online documentation, xxii Addressing methods indirect addressing, 2–5, 2–12, 2–21, 6–47, 7–3 register addressing, 2–5, 2–12, 2–21, 3–10, 6–47, 7– 3 relative addressing, 2–5, 2–12, 2–21, 6–11, 6–47, 7– 3 AFTER command, 2–3 qualification, 2–5 usage notes, 2–4 ALIAS keyword, 4–12 ALL keyword, 2–4, 2–11, 2–20, 3–3, 4–9, 6–47 ALLOCATE command, 2–7 usage notes, 2–8 Assembler KEEPE command, 5–15 AT command, 2–9 usage notes, 2–9 AUTOKEEP, 5–14, 6–25 Automatic Keep window, 5–14, 6–34 C C language, xix, 2–5, 2–12–2–13, 2–22, 3–3, 4–6, 4–24, 5–3 commands within INSERT, 5–8 functions, xix, 2–3, 2–5, 2–7, 2–10–2–13, 2–22, 4– 21, 4–24, 6–48 PEEKE command, 6–11 test script commands, 5–5 tracing calls to IMS, 7–3 C line command, 2–19 C line command (COUNT), 2–21 Case sensitivity, 6–10 CCHILITE command, 2–15 CEEENTRY macro, breakpoint and stepping restriction, 4–22 COBOL-structure keywords, 4–10–4–11 COBOL-structures, 4–13, 8–1 ALL default, 4–13 Code Coverage, 6–31 Code Coverage test, 6–25 Column template, 5–17, 5–35, 6–7, 6–10–6–11, 6–51 numeric items, 6–7 scrollable values, 6–8, 6–12 SET TEMPLATE command, 6–33 T line command, 6–51 Command processing, 1–2 common parameters, xviii CONNECT command, 2–18 usage notes, 2–19 COUNT command, 2–19 keywords, 2–20 usage notes, 2–20 COVER command, 2–22 usage notes, 2–22 CSECT label, 6–49 CSR keyword, 4–8, 4–11 customer support, xxiii customer support web site, xxii B B line command (BEFORE), 2–10, 2–12 BEFORE command, 2–10 qualification, 2–12 usage notes, 2–11 BookManager softcopy documentation, xxii BOTTOM command, 2–14 Branch Coverage, 6–25 Breakpoints, 6–46 AFTER, 2–3 branching verbs, 2–4 nonbranching verbs, 2–4 BEFORE, 2–10 D D line command (DELETE), 3–2 Data name example, 4–14 I-2 XPEDITER/TSO and XPEDITER/IMS Reference Manual data name keyword, 4–11 Data types, 4–10 COBOL-structure, 4–10 data name, 4–10 string, 4–10 Debug command categories, lists of XPEDITER/TSO, 1–1 Batch Connect control, 1–2 breakpoint, 1–1 program data, 1–1 screen manipulation, 1–1 test session control, 1–2 utility, 1–2 Defaults ALL keyword with data name, 4–13 FIND without keywords, 4–13 response to FIND data name, 4–13 DEFINE keyword, 4–12 DELETE command, 3–1, 6–9, 6–14 DELETE line command, 6–9, 6–14 usage notes, 3–3 DIRECT keyword, 4–12 Direction keywords, 4–12 DISCONNECT command, 2–18 DLEFT command, 3–3 DLEFT line commands, 3–4 scroll amounts, 3–4 usage notes, 3–4 DLG, 5–11, 5–13 DLI command, 3–5 usage notes, 3–5 documentation availability, xxii DOWN command, 3–6 scroll amounts, 3–7 usage notes, 3–7 DRIGHT command, 3–7 DRIGHT line commands, 3–8 usage notes, 3–8 DROP command, 3–9 DSECT, 3–9, 7–7 F F line command (FIRST), 4–1 usage note, 4–1 FADB2 command, 4–2 usage notes, 4–6 File allocation list, 2–8 File allocation utility, 2–7 File-AID for DB2 product, 4–2 FILLER data name, 4–13 FIND command, 4–8, 4–10 defaults, 4–13 format, 4–10 screens where FIND is supported, 4–9 usage notes, 4–9, 4–12 FIND CURSOR, 4–11 FIND keywords ALIAS, 4–12 ALL, 4–9 COBOL-structure-keyword, 4–11 CSR, 4–8, 4–11 data name, 4–11 DEFINE, 4–12 DIRECT, 4–12 EXCLUDE, 4–9, 4–12–4–13 FIRST, 4–9 for direction, 4–12 IN COBOL-structure-keyword, 4–11 INDIRECT, 4–12 LAST, 4–9 MODIFY, 4–12 NEXT, 4–9 NOALIAS, 4–12 NOLINES, 4–9, 4–12 NOREDEFINE, 4–12 PREV, 4–9 REFERENCE, 4–12 string, 4–8, 4–11 SUBSET, 4–12 USE, 4–12 FIND with and without EXCLUDE, 4–13 Finding data names, 4–14 FIRST keyword, 4–9 FrontLine support web site, xxii E E line command, 5–14, 6–5 END command, 3–11 EXIT usage, 3–11 screens terminated by END, 3–11 usage notes, 3–11 EXCLUDE command, 3–12 restoring excluded lines, 3–13 usage notes, 3–12 X line command, 3–12 EXCLUDE keyword, 4–9, 4–12–4–13 Excluded lines example, 3–13 using line commands on, 3–13 F(irst), 3–13 L(ast), 3–13 EXEC SQL, 4–6–4–7 EXEC SQL statements, 4–3 EXIT command, 3–11, 3–13 RETEST, 3–14 usage notes, 3–14 EXPLAIN keyword, 4–3 G G line command (GEN), 4–15, 4–17 GEN command, 4–15 breakpoints on commented code, 4–16 breakpoints on expanded code, 4–16 collapsing macros, 4–16 expanding macros, 4–16 usage notes, 4–16 General purpose registers, 5–38, 7–8 GETMAIN command, 4–18 allocating virtual storage, 4–18 usage notes, 4–19 Getting control in batch, 5–11 getting help, xxiii GO command, 2–3, 2–10, 4–20 examples, 4–22 usage notes, 4–22 GOBACK command, 4–23 I-3 GOTO command, 4–23 examples, 4–24 GPREGS command, 4–25 copying registers, 4–25 example, 4–25 GT line command, 4–23 L L line command (LAST), 5–26 usage notes, 5–26 Labels, 4–16 Language Environment (LE), 4–22 LAST keyword, 4–9 LEFT command, 5–27 scroll amounts, 5–28 usage notes, 5–28 LINE command, 5–28 24-bit addressing, 5–29 31-bit addressing, 5–29 usage notes, 5–29 Line commands, 1–3 LOAD command, 5–31 usage notes, 5–31 LOCATE command, 5–32 LOCATE * command, 2–15, 5–13, 5–32–5–33 Log and script datasets, 3–14 LOG command, 5–33 how to exit the log dataset, 5–33 usage notes, 5–33 Log dataset, 2–3, 2–10, 3–8–3–9, 6–20, 7–2 H H line command, 5–14, 6–5 H line command (display hex), 5–14 HELP command, 4–27 tutorial, 4–27 HELP keywords *, 4–27 INDEX, 4–27 keyword, 4–27 MENU, 4–27 help, how to get, xxiii Hexadecimal format, 5–15, 5–39, 6–11 HTML documentation, xxii I I line command, 5–6 IF command, 5–1 usage notes, 5–1 valid only within INSERT, 5–1 Implicit MOVE, 4–25, 5–17, 5–34, 5–38–5–39, 6–11 IN COBOL-structure example, 4–14 IN COBOL-structure-keyword, 4–11 IN COBOL-structures, 4–11 INCLUDE command, 5–3 test script commands, 5–4 usage notes, 5–3 Indirect addressing, 2–5, 2–12, 2–21, 6–47, 7–3 INDIRECT keyword, 4–12 Inline PERFORMs, 2–20 Input, TOGGLE command, 7–1 INSERT command, 5–5 examples, 5–7 usage notes, 5–6 XPEDITER subset, 5–8 INTERCEPT command, 5–11 usage notes, 5–13 Internet, Compuware WWW address, xxiii introduction, xvii Invalid numeric values, 5–17, 6–8, 6–12 M M line command (MEMORY), 5–34 MAX keyword, 3–4, 3–7–3–8, 5–28, 6–19, 7–5 MEMORY command, 5–33 usage notes, 5–34 Memory screen, 5–34 column template, 5–35 MODIFY keyword, 4–12 MONITOR command, 5–36 usage notes, 5–37 MOVE command, 5–37 moving decimal values, 5–39 padding extra space, 5–39 usage notes, 5–38 Mutually exclusive keywords, 4–13 N NEXT keyword, 4–9 NOALIAS keyword, 4–12 NOLINES command, 6–1 usage notes, 6–1 NOLINES keyword, 4–9, 4–12 Nonrepresentable characters, 5–17, 5–38, 6–8, 6–10, 6–12 lowercase characters, 5–17, 5–38, 6–8, 6–12 SET LOWCASE ASIS, 5–17, 5–38, 6–8, 6–13 NOREDEFINE keyword, 4–12 notation rules, xvii K K line command, 5–15 K line command (KEEP), 5–14 KEEP command, 5–14 K* line command (keep all), 5–14 KEEPH command (keep hex), 5–14 keeping arrays, 5–23 keeping tables, 5–20 usage notes, 5–16 Keyword table, 8–1 O Offsets, 5–29, 5–32 I-4 XPEDITER/TSO and XPEDITER/IMS Reference Manual P P line command (PEEK), 6–5, 6–11 parameters, common, xviii PAUSE command, 6–1 example, 6–2 PDF documentation, xxii PEEK command, 6–5 displaying COBOL tables, 6–9 examples, 6–8, 6–14 H line command (display hex), 6–14 occurrences, 6–14 P* line command, 6–9 usage notes, 6–6 PERFORM UNTIL, 2–20 PERFORM VARYING, 2–20 PREV keyword, 4–9 primary commands syntax, xvii product support, xxiii Program function (PF) keys SET PFnn command, 6–32 SHOW PFKEYS command, 6–38 Program status word (PSW), 6–38 RIGHT command, 6–19 usage notes, 6–20 RUN command, 6–20 usage notes, 6–20 S S line command (SKIP), 6–46 SCRNSAVE command, 6–21 Scroll commands, 3–3, 3–6–3–7, 5–27, 6–19, 7–5 Scrolling, 5–16, 6–10 Session log, 5–33 SET command, 6–21 examples SET DYNAMIC, 6–35 SHOW OPTIONS, 6–43 SHOW TRACE, 6–44 SHOW WHERE, 6–45 in initial test script, 6–35 keywords ABENDSCR, 6–24 ABNDEXIT, 6–24 AUTOCAN, 6–25 AUTOCLOS, 6–25 AUTOKEEP, 6–25 AUTOSCRL, 6–25 BRCOV, 6–25 CAPS, 6–26 CBLTRAP, 6–26 CMDDLM, 6–26 CMDSIZE, 6–26 COLS, 6–26 CONFIRM, 6–26 DATA, 6–26 DATAFIND, 6–27 DATETIME, 6–27 DBCS, 6–27 DELAY, 6–27 DUMP, 6–28 DYNAMIC, 6–28 DYNTRAP, 6–28 ESPIE, 6–28 EXCLUDE, 6–28 GEN, 6–29 HANDLER, 6–29 HEXMODE, 6–29 LANGUAGE, 6–30 LETRAP, 6–30 LOG, 6–30 LOGSIZE, 6–30 LOWCASE, 6–30 NESTED, 6–31 NOCANCEL, 6–31 NOCOVER, 6–31 NOINIT, 6–32 NONDISP, 6–32 PFnn, 6–32 PREINIT, 6–32 REFRESH, 6–32 REVSIZE, 6–32 RTEREUS, 6–33 STATIC, 6–33 TEMPLATE, 6–33 TRANSFER, 6–33 TRANSLATE, 6–33 UNCHNGED, 6–34 Q Qualification, 2–12 Qualification rules, 1–4–1–5, 1–7 data qualification, 1–5–1–6 label qualification, 1–8 load module qualification, 1–4, 1–6–1–7 module qualification, 1–5, 1–7 Assembler, 1–7 C Language, 1–8 COBOL, 1–5 PL/I, 1–4 nested procedure qualification, 1–5 pointer qualification, 1–5 procedure qualification, 1–5 structure qualification, 1–5 R REFERENCE keyword, 4–12 Register addressing, 2–5, 2–12, 2–21, 3–10, 6–47, 7–3 related documents, xxi Relative addressing, 2–5, 2–12, 2–21, 5–32, 6–11, 6–47, 7–3 RESET command, 6–15 commands that reset lines, 3–13 DELETE command with EXCLUDE keyword, 3–13 RESET command with EXCLUDE keyword, 3–13 with the EXCLUDE keyword, 6–16 Restrictions, 6–35, 7–4 RESUME command, 6–16 RETEST command, 3–14, 6–16 usage notes, 6–16 RETURN command, 6–17 usage notes, 6–17 REVERSE command, 6–17 usage notes, 6–18 I-5 WINDOW, 6–34 usage notes, 6–35 SHOW command, 6–36 examples SHOW ALLOCATES, 6–45 SHOW BREAKS, 6–39 SHOW COUNTS, 6–40 SHOW DCBS, 6–40 SHOW FILES, 6–40 SHOW INDEX, 6–41 SHOW KEEPS, 6–41 SHOW MODULES, 6–42 SHOW OPTIONS, 6–43 SHOW PREVIOUS, 6–42 SHOW REGION, 6–43 SHOW SETS, 6–43 SHOW TRACE, 6–44 SHOW USING, 6–46 SHOW WHENS, 6–44 SHOW WHERE, 6–45 keywords ACTIVE, 6–37 AFTERS, 6–37 ALLOCATES, 6–37 AT, 6–37 BEFORES, 6–37 BREAKS, 6–37 COMPOPTS, 6–37 COUNTS, 6–37 DCBs, 6–37 FILES, 6–37 FPREGS, 6–37 GPREGS, 6–37 IMSFUNC, 6–38 INDEX, 6–38 INTERCEPT, 6–38 KEEPS, 6–38 LISTING, 6–38 MODULES, 6–38 OPTIONS, 6–38 PFKEYS, 6–38 PREVIOUS, 6–38 PROGRAM, 6–38 PSW, 6–38 PTFS, 6–38 REGION, 6–39 SETS, 6–39 SKIPS, 6–39 TRACES, 6–39 USING, 6–39 VERIFY, 6–39 WHENS, 6–39 WHERE, 6–39 ZAPS, 6–39 SHOW COUNTS command, 2–20 SKIP command, 6–46 usage notes, 6–47 Snapshot report, 2–1 softcopy documentation, xxii SOURCE command, 6–48 examples, 6–49 usage notes, 6–49 Standard linking conventions, 2–5 Statements, 5–29, 5–32 Static Ignore0, 6–33 STATUS command, 6–50 string keyword, 4–8, 4–11 Subscripts, how to display, 6–10 SUBSET keyword, 4–12 Summary of Changes, xiii summary of changes, xvii syntax conventions, xx syntax diagrams, xx syntax diagrams, reading, xx T T (Trace) line command, 7–2 T line command (TEMPLATE), 6–51 usage notes, 6–52 TEST command, 6–52 parameters, 6–52 usage notes, 6–53 Test script dataset, 5–3 INCLUDE subset, 5–3 THRU keyword, xviii, 3–12 TOGGLE command, 7–1 TOP command, 7–1 TRACE command, 7–1 PA1 key, 7–2 parameters, 7–2 usage notes, 7–2 used with other commands, 7–2 TSO command, 7–4 restrictions, 7–4 usage notes, 7–4 Typing over, 5–17, 6–11, 7–10 U UP command, 7–5 scroll amounts, 7–5 usage notes, 7–5 USE command, 7–6 in testing IMS subroutines, 7–6 usage notes, 7–7 USE keyword, 4–12 USING command, 7–7 usage notes, 7–8 V V line command (VERIFY), 7–10–7–12 VERIFY command, 7–10 usage notes, 7–11 W WHEN command, 7–12 example, 7–14 data change, 7–14 operands, 7–13 usage notes, 7–13 WHEREIS command, 7–15 usage notes, 7–15 World Wide Web, Compuware address, xxiii WS command, 7–16 I-6 XPEDITER/TSO and XPEDITER/IMS Reference Manual X X line command (EXCLUDE), 3–12, 5–34 XCHANGE command, 7–17 usage notes, 7–17 XP line command, 4–3 XPED command, 7–18 environment value, 7–18 usage notes, 7–18
Comments
Copyright © 2025 UPDOCS Inc.