Tasks


Task 6.1  Update ZDEFAULT Variables

Set the following parameters in the ZDEFAULT member of the PROCS library. For more information see, ZDEFAULT parameters.

  1. Set XCOPEEXP to YES.
  2. Set XEXPUSER to the maximum number of simultaneous Xpediter users for a COPE Psys. Make this a reasonable value (extra transaction codes are generated later dependent on this value).
  3. Set XCOPEACD to the dataset name of the dynamic ACB library (DOPT library). Make sure that this library is in your Control Region, and DLI region, ACBLIBA and ACBLIBB concatenations. The DSN should end in ACBLIBD (recommended). It must have the same blksize as other ACBLIBs.
  4. Set XCOPEPSD to the dataset name of the dynamic PSB library (DOPT library). The DSN should end in PSBLIBD (recommended). It must have the same blksize as the non-DOPT PSBLIB.
  5. Set XPLOAD to the Xpediter load library dataset name.
  6. Set XPMENU to the Xpediter panels library dataset name.
  7. Set XPSKEL to the Xpediter skeleton library dataset name.
  8. Set XPMSG to the Xpediter messages library dataset name.

Task 6.2  Perform IMSGEN

  1.  Perform option 1.7 to allow definition of the Stage 1 statements that define the following excluded transactions:
    • COPEXPT1,
    • XPEDTX1
    • XPED0000 through XPED0200
    • excluded database XPIMSDB.
      Use the CTLCD member XPEDDEF to validate the Xpediter specific definition requirements for the excluded Stage 1 statements.
  2. If you have RACF or ACF2 (etc.) IMS security exits, or rules, make sure that they allow COPEXPT1 (and all other COPE-prefixed transactions) to issue commands.
  3. If you have RACF or ACF2 IMS security exits or rules, also make sure that your TSO users will be able to run all Cnnnnnnn transaction codes from their TSO regions.
  4. Run option 4.1 (Modblks). This generates additional C-number DOPT PSBs and transaction codes, which are switched-to by COPE, for running the test transactions in the TSO regions.

Task 6.3  Generate Dummy ACBs

Run option 4.5(ACB).FIX for the following situations:

  • This option generates dummy ACBs for the Xpediter transaction codes that are necessary so that these transaction codes will come up initialized to IMS. When the user runs an Xpediter test, their ACB will be copied over one of these (in the DOPT ACBLIB).
  • After doing the PSB=ALL gen. for a new COPE Psys, or any time that an existing Psys has many transaction codes added to it. The latter case is necessary because in that situation additional Xpediter transactions might need to be available. The number of these is dependent on the total number of transactions.
  • If a COPE release change requires an ACBGEN, for example, changing from release 4.4.14 to 4.4.15, the members in the Dynamic ACBLIB (ZDEFAULT parameter XACBLIBD) must be deleted, and the 4.5(ACB).FIX option run. This action is required because the FIX option will not replace any ACBLIB member that already exists.

Task 6.4  Customize Xpediter Exits

Customize Xpediter exits using the Xpediter/TSO PARMLIB.

Xpediter/TSO uses parameter libraries together with the Compuware Mainframe Services Controller (CMSC) for product configuration. The CMSC was installed as part of the Enterprise Common Components (ECC) installation.

Xpediter Execution Exit Routines keywords are used to specify special procedures that must be executed for every test session. The exits apply to Debug Sessions (Execution Test Sessions). They provide special handling before or after a debug session.

Warning

Note

Ensure Xpediter/IMS has been installed and configured before proceeding with the following steps.


  1. Modify the XTSOxx PARMLIB member with the Xpediter/TSO Execution Exit Routines keywords and their associated values for COPE provided in member XPEDPARM in the COPE CTLCD dataset.
    COPE XPEDPARM Values

    *  USE ONE SET OF THE FOLLOWING PARAMETERS FOR COPE(CMSC VERSION 1 OR 2)
    *                                                                        
    *  THE FOLLOWING KEYWORD PARAMETERS AND THEIR ASSOCIATED                 
    *  VALUES FOR COPE ARE VALID ONLY FOR CMSC VERSION 1                     
    *                                                                        
    BEFORE_STANDARD_AND_DIALOG_TEST_SESSION_EXIT='PGM(COPEXPP1) PARM(01)'    
    AFTER_STANDARD_AND_DIALOG_TEST_SESSION_EXIT='PGM(COPEXPP1) PARM(02)'     
    BEFORE_IMS_TEST_SESSION_EXIT='PGM(COPEXPP1) PARM(03)'                    
    AFTER_IMS_TEST_SESSION_EXIT='PGM(COPEXPP1) PARM(04)'                     
    BEFORE_BTS_TEST_SESSION_EXIT='PGM(COPEXPP1) PARM(05)'                    
    AFTER_BTS_TEST_SESSION_EXIT='PGM(COPEXPP1) PARM(06)'                     
    BEFORE_MPP_TEST_SESSION_EXIT='PGM(COPEXPP1) PARM(07)'                    
    AFTER_MPP_TEST_SESSION_EXIT='PGM(COPEXPP1) PARM(08)'                     
    BEFORE_BMP/IFP_TEST_SESSION_EXIT='PGM(COPEXPP1) PARM(09)'                
    AFTER_BMP/IFP_TEST_SESSION_EXIT='PGM(COPEXPP1) PARM(10)'                 
    BEFORE_HOGAN_TEST_SESSION_EXIT='PGM(COPEXPP1) PARM(11)'                  
    AFTER_HOGAN_TEST_SESSION_EXIT='PGM(COPEXPP1) PARM(12)'                   
    *                                                                        
    *  THE FOLLOWING KEYWORD PARAMETERS AND THEIR ASSOCIATED                 
    *  VALUES FOR COPE ARE VALID ONLY FOR CMSC VERSION 2
    *                                                           
    BEFORE_STD_OR_DLG_TEST_SESSION_EXIT='PGM(COPEXPP1) PARM(01)'
    AFTER_STD_OR_DLG_TEST_SESSION_EXIT='PGM(COPEXPP1) PARM(02)'
    BEFORE_IMS_TEST_SESSION_EXIT='PGM(COPEXPP1) PARM(03)'       
    AFTER_IMS_TEST_SESSION_EXIT='PGM(COPEXPP1) PARM(04)'        
    BEFORE_BTS_TEST_SESSION_EXIT='PGM(COPEXPP1) PARM(05)'       
    AFTER_BTS_TEST_SESSION_EXIT='PGM(COPEXPP1) PARM(06)'        
    BEFORE_MPP_TEST_SESSION_EXIT='PGM(COPEXPP1) PARM(07)'       
    AFTER_MPP_TEST_SESSION_EXIT='PGM(COPEXPP1) PARM(08)'        
    BEFORE_BMP_IFP_TEST_SESSION_EXIT='PGM(COPEXPP1) PARM(09)'   
    AFTER_BMP_IFP_TEST_SESSION_EXIT='PGM(COPEXPP1) PARM(10)'    
    BEFORE_HOGAN_TEST_SESSION_EXIT='PGM(COPEXPP1) PARM(11)'     
    AFTER_HOGAN_TEST_SESSION_EXIT='PGM(COPEXPP1) PARM(12)' 
  2. Execute the Xpediter/TSO CLIST XPLIBDEF (EX hlq.SLXTINST(XPLIBDEF)' 'INSTALL' with the INSTALL option (XPLIBDEF INSTALL). The following screen is displayed. The displayed screen, when completed, will commit the changes made to the CMSC PARMLIB member into the Xpediter/TSO Table Library.

    Installation Defaults Screen

    INSTALLATION DEFAULTS 6.2.png

  3. Enter the name of your new Xpediter/TSO ISPF table SLXTTABL dataset in the Output field.
  4.  If you’re using a PARMLIB member other than the CMSC default for Xpediter, enter the suffix of your PARMLIB member (XTSOxx) to be committed.
  5. Specify an ACTION of COMMIT.
  6. To validate the dataset names specified in the XTSOxx PARMLIB member, enter YES to that question.
  7. Press Enter.

    Warning

    Note

    If you received an error message when you pressed Enter, the CMSC has experienced an error.

  8. If you received no error message, a validation report will be displayed. Follow the instructions in the report.
  9. Use SDSF, IOF, EJES, or whatever JES viewer is used by your site to check the CMSC address space’s FDBDLOG as shown in the CMSC Address Space FDBDLOG to determine whether anything went wrong.
    CMSC Address Space FDBDLOG
    CMSC Address Space FDBDLOG.png
  10. Return to the validation report and scroll to the bottom of the  Validation Report with No Errors  screen to determine whether there were any errors. If there were no errors, NONE is indicated. If there were errors, fix them and start over.
    Validation Report with No Errors

    ---------------------------------------------------------------------------------------------------------------------------- BROWSESYS17158.T111305.RA000.TSOID01.R0160298Line 0000000654 Col 001 132
    Command ===>Scroll ===> CSR
    CMSC PARMLIB 'REFRESH' SUCCESSFULLY EXECUTED
    THE LOG FROM THE CMSC ADDRESS SPACE SHOULD BE CHECKED TO CONFIRM THERE WERE NO  PROBLEMS

    DATASET: CW40.CMSC.PARMLIB MEMBER: XTSOCOPE
    CMSC VER: 2
    MEMBER VER: 2

    THE FOLLOWING KEYWORDS WERE SPECIFIED AS OVERRRIDES IN THE CMSC PARMLIB  MEMBER:

    ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0

    KEYWORD: BEFORE_STD_OR_DLG_TEST_SESSION_EXIT VALUE: PGM(COPEXPP1) PARM(01)
    NEW VALUE SPECIFIED OLD VALUE:

    KEYWORD: AFTER_STD_OR_DLG_TEST_SESSION_EXIT VALUE: PGM(COPEXPP1) PARM(02)
    NEW VALUE SPECIFIED OLD VALUE:

    KEYWORD: BEFORE_IMS_TEST_SESSION_EXIT VALUE: PGM(COPEXPP1) PARM(03)
    NEW VALUE SPECIFIED OLD VALUE:

    KEYWORD: AFTER_IMS_TEST_SESSION_EXIT VALUE: PGM(COPEXPP1) PARM(04)
    NEW VALUE SPECIFIED OLD VALUE:

    KEYWORD: BEFORE_BTS_TEST_SESSION_EXIT VALUE: PGM(COPEXPP1) PARM(05)
    NEW VALUE SPECIFIED OLD VALUE:

    KEYWORD: AFTER_BTS_TEST_SESSION_EXIT VALUE: PGM(COPEXPP1) PARM(06)
    NEW VALUE SPECIFIED OLD VALUE:

    KEYWORD: BEFORE_MPP_TEST_SESSION_EXIT VALUE: PGM(COPEXPP1) PARM(07)
    NEW VALUE SPECIFIED OLD VALUE:

    KEYWORD: AFTER_MPP_TEST_SESSION_EXIT VALUE: PGM(COPEXPP1) PARM(08)
    NEW VALUE SPECIFIED OLD VALUE:

    KEYWORD: BEFORE_BMP_IFP_TEST_SESSION_EXIT VALUE: PGM(COPEXPP1) PARM(09)
    NEW VALUE SPECIFIED OLD VALUE:

    KEYWORD: AFTER_BMP_IFP_TEST_SESSION_EXIT VALUE: PGM(COPEXPP1) PARM(10)
    NEW VALUE SPECIFIED OLD VALUE:

    KEYWORD: BEFORE_HOGAN_TEST_SESSION_EXIT VALUE: PGM(COPEXPP1) PARM(11)
    NEW VALUE SPECIFIED OLD VALUE:

    KEYWORD: AFTER_HOGAN_TEST_SESSION_EXIT VALUE: PGM(COPEXPP1) PARM(12)
    NEW VALUE SPECIFIED OLD VALUE:

    NUMBER OF TABLE PARAMETERS SPECIFIED IN THE CMSC: 95
    ------------------------------------------------------------------------------------------------------------------------ NUMBER OF ERRORS THAT WERE DETECTED: NONE
    INSTALLATION DEFAULTS CAN BE SAVED INTO 'TSOID01.XT170.SLXTTABL' NUMBER OF NEW VALUES TO BE COMMITTED TO THE TABLE:  110
    ************************************************** Bottom of Data  ********************************************************

  11. Press End, then press Enter (or press PF3). The Save Installation Defaults screen displays.
    Save Installation Defaults Screen

    Save Installation Defaults Screen.png

  12. Press Enter to update the Installation Defaults. The following message should be displayed saying that your Installation Defaults have been saved:
    'Installation defaults have been saved into 'XT.XT170.SLXTTABL' and the installation report was copied to your ISPF List dataset If the TSO feature only is installed, the IMS RESLIB name used by COPE must be included in the Xpediter JOBLIB definitions.

Task 6.5  Edit XPX Clist

Set up the invocation of Xpediter for your users, by editing COPE CLIST member XPX, modifying it to name your Xpediter CLIST, tables, xoptions and xmessages datasets. This CLIST is invoked from COPE option 6.4. XPX is the same as the BMC-delivered CLIST except that we removed ISPLLIB, ISPPLIB, ISPSLIB and ISPMLIB allocations (these are done at COPE initialization, using the ZDEFAULT variables). The reason for this is that if these allocations were done in the CLIST, some maintenance levels of LIBDEF give bounce out and ISPF subtask abend behavior.

Task 6.6  Verify Install

  1. Go into IMS:
  2. Issue /DIS DB XPIMSDB command.

    Command output:

    DATABASETYPETOTAL UNUSEDTOTAL UNUSED
    ACC        CONDITIONS
    XPIMSDBTDL/IEXNOTOPEN
    *21025/133541*

    If the database is invalid, stopped, or condition is NOTOPEN NOTINIT, correct the Xpediter install of this DBD, its exit, or database  dataset.

  3. Issue /DIS PROG ADSIM001 command. 
    Command output:

    PROGRAM
                TRAN
               TYPE
    ADSIM001
                XPEDTX1
                BMP
    *19220/131754*
     

    If the program is invalid, stopped, or NOTINIT, correct the Xpediter install of this PSB.

  4. Go into TSO:
  5. Access COPE ISPF. The COPE Primary Menu displays.

    COPE

     Primary Menu
    image2021-12-21_21-34-11.pngimage2021-12-21_21-42-43.png

  6. Select Option 6 – View Trace (XPEDITER TSO) to display the COPE - IMS Online Menu.
  7. In the Lsys field, specify your COPE logical system (Lsys) name.
  8. In the Terminal field, specify your terminal name (sign-on ID or LTERM name).
  9. Select COPE Option 4 – Xpediter - COPE.
  10. Press Enter to access Xpediter.
    Xpediter/TSO Primary Menu

    XpediterTSO Primary Menu.png

  11. From the Xpediter/TSO Primary Menu. select Option 2.

    Xpediter/TSO Debug Menu

    image2021-12-21_21-53-30.png

  12. Specify SE on the command line.
  13. Specify the ID of the IMS user issuing the IMS transaction you want to debug.
  14. Press Enter to access the Xpediter Setup Menu. 
    Xpediter/TSO SETUP Menu

    image2021-12-21_21-54-17.png

  15. Select Option 0 – Execution environments menu.
  16. Press Enter to access the Xpediter Environments Menu.

    Xpediter/TSO Environments Menu

    image2021-12-21_21-54-48.png

  17. Specify the appropriate environment, 8 (MPP) or 9 (BMP/IFP). The highlighted environment is the one currently selected.
  18. Press Enter. Xpediter returns to the Setup Menu.

    Xpediter/TSO SETUP Menu

    image2021-12-21_22-7-19.png

  19. Select Option 1 – Application load module libraries.
  20. Press Enter to access the Xpediter Load Module Libraries screen.
    Xpediter/TSO Load Module Libraries Screen

    image2021-12-21_22-7-45.png

  21. Under User Libraries, type XCOPEPGM (STUBX Library) as one of your load libraries.image2021-12-21_22-9-54.png
  22. Press Enter. Xpediter returns to the Setup Menu.Xpediter/TSO SETUP Menu
  23. Select Option 8 IMS – PSB and DBD libraries.
  24. Press Enter to access the Xpediter PSB/DBD Libraries screen.
    Xpediter/TSO PSB/DBD Libraries Screen

    XpediterTSO Load Module Libraries Screen.png

  25. Specify XCOPEPSD (DOPT PSBLIB) and XCOPEDBD (DBDLIB) as a PSBLIB/DBDLIB concatenation. This is used for BMP tests that use GSAM.image2021-12-21_22-11-6.png
  26. Press Enter. Xpediter returns to the Xpediter/TSO Setup Menu. 
  27. Select Option 11 PARMS – IMS region ID and parameter strings.
  28. Press Enter to access the Xpediter IMSID and PARM Lists screen.

    Xpediter/TSO IMSID and PARM Lists Screen

    image2021-12-21_22-13-20.png

  29. Specify the correct IMSID (subsystem identifier) in the IMS Region Id field. 
  30. Press Enter. Xpediter returns to the Setup Menu.
  31. From the Setup Menu, press PF3 to display the MPP Program Test Screen. 

    Xpediter/TSO MPP Program Test Screen
    image2021-12-21_22-13-53.png

  32. Specify the transaction to be debugged in the TRANCODE field.
  33. When entries for the screen are complete and you press Enter, the screen clears. If the intercepts are set, the following messages appear on the screen:


    image2021-12-21_22-14-33.png

    The terminal is then locked. If the intercepts are set successfully, go to the IMS terminal and start the transaction you want to debug by entering the transaction code that invokes your program. When you press Enter, IMS schedules the transaction for execution and locks your terminal if it is in response mode. Return to the TSO terminal. You will receive the following screen:

    Xpediter/IMS Log

    image2021-12-21_22-17-44.png

    Enter INTercept pppppp (where pppppp is your application program) on the command line in the above screen.


    Warning

    Note

    If the transaction does not schedule, ensure the corresponding CLASS is started (/DIS STATUS CLASS). You may need to issue the

    /STA CLASS xx|ALL command.

    If you have a source listing member for the high-level program, your source will be displayed. You are now ready to interactively debug a program with source. To enter or review data at any point in execution, go to the IMS terminal. At the TEST COMPLETED message, you can enter GO to retest this transaction, or enter EXIT to return to the MPP screen.

  34. Access COPE ISPF. The COPE Primary Menu displays.

    COPE Primary Menu

    image2021-2-12_19-55-58.png

  35. Specify Option 6;5 to access the Xpediter - Trace Display.  

Xpediter - Trace Display

Xpediter - Trace Display.png

Warning

Note

Make sure your Xpediter users have a copy of the Xpediter section in the COPE Programmer’s Guide.

Xpediter/Topaz Setup

In addition to the tasks required to set up Xpediter/TSO, the following tasks are required to set up Xpediter under Topaz:

Make sure that the IMS class code specified in the JCL is one reserved for Xpediter/IMS because COPE interrogates the IMS class code and can dynamically allocate STEPLIB datasets -- such as, ones required for running IMS transactions without Xpediter.

  1. Make sure that the IMS class code specified in the JCL is one reserved for Xpediter/IMS because COPE interrogates the IMS class code and can dynamically allocate STEPLIB datasets -- such as, ones required for running IMS transactions without Xpediter. In those cases, the MPR is running with a different RACF authority than when testing with Xpediter (which runs with the user's RACF authority). Using a non-reserved IMS class code can result in an S913 Abend.
  2. Add the XT$CLSYS DD card that specifies an  LSYS :
    • //XT$CLSYS DD UNIT=SYSDA,SPACE=(TRK,1),DSN=&&DBT1
  3. Make sure any programs/transaction you intend to test have been compiled using Compuware Shared Services. (If not, you will get an error message, and Topaz Workbench will ask you if you want to see the Xpediter log.)
  4. Make sure you are pointing to an HCI and a Multi-Batch Intercept that has the correct Xpediter/TSO SLXTAUTH and SLXTLOAD datasets specified.
  5. In the Topaz Workbench launch configuration, make sure that the COPE STUBX LOADLIB and the COPE SDFSRESL LOADLIB are specified in the Load Libraries launch configuration tab. (Of course, the load library containing the program you are going to be testing is always required.) The minimum is:

    • The load library containing the program you want to  debug
    • The COPE STUBX load library
    • The COPE IMS SDFSRESL load library
    • Likely, the Language Environment (LE) run-time load library

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*

BMC COPE 19.02