XPEDITER
XPEDITER
XPEDITER
Testing tool that simplifies the task of identifying problems, applying solutions, and analyzing changes
This Document is intend to teach how we can debug a program in Xpediter. If you got any problems while trying this, contact me. At srcsinc@yahoo.com Software : XPEDITER VERSION : 7.0 PROGRAM TYPE : BMP (BATCH PROGRAM) Before going to debug a program, Let us assume following things Step1 : Step2 : Write a Simple Cobol Program. Stage it in CHANGE MAN , make sure its status is ACTIVE (While compiling select the XPEDITER option to 'Y')
If You does not have CHANGE MAN Include following steps in the compilation JCL, for getting the DDIO files, Add these steps before link edit steps. //XOPTIONS DD DISP=SHR,DSN=XT.XT64B1.XOPTIONS //CWPDDIO DD DISP=SHR,DSN=FLGFGR1.COBOL.DDIO //CWPPRMO DD * COBOL(OUTPUT(PRINT,DDIO)) PROCESSOR(OUTPUT(NOPRINT,NODDIO),TEXT(NONE)) LANGUAGE(VSCOBOL) DDIO(OUTPUT(NOLIST,NOXREF,FIND,NODMAP,NOOFFSET,COMPRESS)) //* Step3: Write an JCL which runs the COBOL Program.
Assumptions :
: : :
STRING1 ABC1009999
Now we can debug the program in XPEDITER Enter 'XP' on command line in ISPF panel.
------------------------------------------OPTION ===> 0 1 2 3 4 5 F FA C B T X
XPEDITER/TSO 7.0
- PRIMARY MENU
DEFAULTS Specify defaults PREPARE Prepare programs for debugging TSO Debug programs interactively under TSO BATCH Debug programs interactively under batch STORED PROC Debug DB2 Stored Procedures interactively UTILITIES - Perform utility functions FADB2 Invoke File-AID for DB2 FILE-AID Invoke File-AID for MVS CODE COVERAGE - Code Coverage NOT INSTALLED BULLETIN TUTORIAL EXIT << - Display summary of changes for this release - Display information about XPEDITER/TSO - Exit primary menu
In order to STEP1 :
compile our program we need to Profile ===> DEFAULT to Profile ===> BMP goto OPTION => TYPE 2 ENTER
change
STEP2 :
The following screen will be displayed -----------------------Description COMMAND ===> XPEDITER/TSO PROFILE (0.4) ---- Enter SCROLL ===> PAGE R (Rename) U (Use) <
LINE COMMANDS: S (Select) D (Delete) C (Copy) PRIMARY COMMANDS: MERGE (copy other users profiles) PROFILE ID: Profile ===> BMP > BATCH PROGRAM
CMD PROFILE NEW NAME DESCRIPTION -----------------------------------------------------------------------------_ DEFAULT > *** NO DESCRIPTION *** ******************************* Bottom of data ******************************** <
ENTER Profile will be added to the list. Come back to the XPEDITER Main List ------ ???? What is the use of this Step? You are creating your own setting to run an BMP program. All settings will be stored in BMP profiles. Like this you can create your own profiles to run different types of programs. ------ ?????
Again goto the Main Screen of Xpediter. TYPE 2 ENTER It will show following screen. (If your xpediter setup is over this next screen will be displayed)
a program with no special environment services programs that make ISPF dialog manager calls a program that makes IMS/DB calls programs using BTS
- Test programs in an IMS message region - Test a program in a BMP or Fast Path region
TYPE 1 OR 3 (select 1 if you want to run a simple program) (select 3 if you want to run a program which will going to access IMS/DB) ENTER
The following screen will be displayed Profile: SIMPLE ----------------------------COMMAND ===> COMMANDS: XPEDITER/TSO - STANDARD (2.1)
SEtup (Display Setup Menu) PROFile (Display Profile Selection) TEST SELECTION CRITERIA: Program ===> Entry Point ===> Load Module ===> Initial Script ===> Post Script ===> PARM String ===> File List/JCL Member ===> Is This a DB2 Test? ===> NO Plan ===> System ===>
TYPE ENTER
'SE'
on command line
--------------------------
Extended Setup Menu Execution environments menu Application load module libraries DDIO files Test script libraries Session log dataset disposition Test script dataset disposition DB2 system names and DSNLOAD libraries
ALL
- Display all of the above in succession (except 0) or enter END command to terminate
Using this screen you need to tell XPEDITER , Where is your load library is? What libraries you are using in your program? Type 1 ENTER The following screen will be displyed Profile: BMP -------- XPEDITER/TSO - LOAD MODULE LIBRARIES -----------------COMMAND ===> COMMANDS: DOWN (for additional User Libraries) User Libraries: --->>> Include ALL libraries your program requires <<<--(Even if the library is in LINKLST, ie. COBOL or LE runtime libraries) (1) ===> 'SYS2.LE370Z.PGMLIB' (2) ===> '' (3) ===> (4) ===> (5) ===> (6) ===> (7) ===> (8) ===> Installation Libraries: (This list contains overrides to installed defaults) (9) ===> (10) ===> (11) ===> (12) ===> (13) ===> (14) ===> (15) ===> (16) ===>
Here, we need to give IMS Libraries we are using, You can find them in RUN JCL
Profile: BMP -----------------------------------COMMAND ===> User Libraries: (1) (2) (3) (4) (5) (6)
Installation Libraries: (Changes made to this list override installed default (7) ===> (8) ===> (9) ===>
ENTER
COME BACK TO XPEDITER MAIN MENU ALL STANDARD SETTINGS ARE OVER. THE FOLLOWING STEPS YOU NEED TO DO EVERY TIME YOU WANT TO DEBUG A PROGRAM.
XPEDITER/TSO 7.0
- PRIMARY MENU
Specify defaults Prepare programs for debugging Debug programs interactively under TSO Debug programs interactively under batch Debug DB2 Stored Procedures interactively Perform utility functions
F FADB2 - Invoke File-AID for DB2 FA FILE-AID - Invoke File-AID for MVS C CODE COVERAGE - Code Coverage NOT INSTALLED B T X BULLETIN TUTORIAL EXIT - Display summary of changes for this release - Display information about XPEDITER/TSO - Exit primary menu - IMS BATCH PROGRAM
TYPE 1 ENTER The following screen will be displayed ----------------------------------OPTION ===> 1 2 3 4 XPEDITER/TSO - PROGRAAM PREPARATION MENU
CONVERT COMPILE JCL COMPILE FACILITY BIND FACILITY EDIT ALLOCATION LIST
Convert compile JCL for XPEDITER Compile programs for XPEDITER Bind application plans for File-AID DB2 Edit or Create file allocation lists
TYPE 4 ENTER Following screen will be displayed --------------------------------------------COMMAND ===> XPEDITER/TSO - EEDIT FILE LIST
Specify File Allocation List Below: ISPF Library: Project Group Type Member ===> ===> ===> ===>
===> ===>
Copy from JCL, CLIST, or Other File Allocation List Dataset Name ===> '< RUN JCL >' Copy Option ===> PROMPT (Replace, Append, Prompt, or Cancel copy) Automatic Expand ===> YES (Yes/No) Step Selection ===> (Program name for automatic step selection) Press ENTER to Process or Enter END Command to Terminate
ENTER It will prompt you with your run jcl. Select all SYSIN/SYSOUT/INPUT FILES USED IN PROGRAM/OUTPUT FILES USED IN PROGRAM by putting 'S' infront of that line and Press ENTER. TYPE END on command line TYPE END on commend line -----------------------6 COMMAND ===> ENTER ENTER XPEDITER/TSO SELECT DDNAME ----------- Row 1 Of SCROLL ===> CSR (Process selected (Quit without processing) (Edit JCL using ISPF Editor) (Expand JCL procedures)
LINE COMMAND: S (Select) PRIMARY COMMANDS: END statements) BR (Browse dataset) CAN ED (Edit dataset) Edit EXP
Select the DDNAMEs to be copied to the allocate screen SEL JCL Data Set: 'XXXXX8.DFC2.XXXXXX.XXX.XXX.SOURCE(RUNJCL)' ------------------------------------------------------------------------------
''''' //ESLE04 JOB (ERTWER,XXXXX),'RUNJCL',CLASS=Z,MSGCLASS=A, ''''' // NOTIFY=&SYSUID ''''' //STEP1 EXEC PGM=STRING1 ''''' //STEPLIB DD DSN= SSSK.ER000000.ABC1.#009999.BLM,DISP=SHR ''S'' //SYSIN DD * ''S'' //SYSOUT DD SYSOUT=* ******************************* Bottom of data ********************************
SEtup (Display Setup Menu) PROFile (Display Profile Selection) TEST SELECTION CRITERIA: Program ===> STRING1 Entry Point ===> Load Module ===> Initial Script ===> Post Script ===> PARM String ===> File List/JCL Member ===> 'XXXX2.XXXX98.xxxxxx.SOURCE(XPED1)' Is This a DB2 Test? ===> NO Plan ===> System ===>
ENTER YOU WILL BE PROMPTED WITH YOUR PROGRAM --------------COMMANDS --------------1. PRESS F9 to debug your programs ( = GO 1)
2. PRESS F12 to execute all statement up to break point (= GO) 3. Break Points B (before execution) / A (After execution)
put 'B' on line where you want to stop execution. Ex. 00B046 READ INFILE INTO WORK-REC PRESS ENTER, line will displayed in following way
000046 B
now, If you press F12 , all statements executed and control will stop at this line 4. KEEP / K If you want to see a variable value while excuting, use KEEP syntax KEEP < VARIABLE NAME >
It shows the variable name and changing value while you debugging in the top part of screen 5. PEEK < VARIABLE NAME > P (PEEK) < VARIABLE NAME > and press Enter. The screen automatically scrolls to the DATA DIVISION statement where the VARIABLE defined, inserts a P in column 9, and displays the occurrence and value of that variable 6. SKIP To skip execution of a particular line Serial No. 3, 4, 5, 6 them on line ex. 00S089 command are line commands we can use
Following are command line commands. means you need to use them at command line. 7. GOTO It is used to pass control to particular line/paragraph syntax : GOTO < LINE NUMBER > GOTO 8. WHEN WHEN is used to pause the execution of the program at certain point when the set condition arises EX. WHEN WS-SYS-VAR = 4587384 < PARA NAME >