Specifying the TEST runtime options through the Language Environment user exit

z/OS® Debugger provides a customized version of the Language Environment® user exit (CEEBXITA). The user exit returns a TEST runtime option when called by the Language Environment initialization logic. z/OS Debugger provides a user exit that supports three different environments. This topic is also described in IBM® z/OS Debugger User's Guide with information specific to application programmers.

The user exit extracts the TEST runtime option from a user controlled data set with a name that is constructed from a naming pattern. The naming pattern can include the following tokens:

&USERID
z/OS Debugger replaces the &USERID token with the user ID of the current user. Each user can specify an individual TEST runtime option when debugging an application. This token is optional.
&PGMNAME
z/OS Debugger replaces the &PGMNAME token with the name of the main program (load module). Each program can have its own TEST runtime options. This token is optional.

z/OS Debugger provides the user exit in two forms:

  • A load module. The load modules for the three environments are in the hlq.SEQAMOD data set. Use this load module if you want the default naming patterns and message display level. The default naming pattern is &USERID.DBGTOOL.EQAUOPTS and the default message display level is X'00'.
  • Sample assembler user exit that you can edit. The assembler user exits for the three environments are in the hlq.SEQASAMP data set. You can also merge this source with an existing version of CEEBXITA. Use this source code if you want naming patterns or message display levels that are different than the default values.

z/OS Debugger provides a customized version of the Language Environment user exit named EQAD3CXT. The following table shows the environments in which this user exit can be used. The EQAD3CXT user exit determines the runtime environment internally and can be used in multiple environments.

Table 1. Language Environment user exits for various environments
Environment User exit name
The following types of Db2® stored procedures that run in WLM-established address spaces:
  • type MAIN1
  • type SUB2
EQAD3CXT
IMS TM3 and BTS4 EQAD3CXT
Batch EQAD3CXT
Note:
  1. EQAD3CXT is supported for DB2 version 7 or later. If Db2 RUNOPTS is specified, EQAD3CXT takes precedence over Db2 RUNOPTS.
  2. EQAD3CXT supports Db2 stored procedures PROGRAM TYPE=SUB if you set the RRTN_SW flag as x'01'.
  3. For IMS TM, if you do not sign on to the IMS terminal, you might need to run the EQASET transaction with the TSOID option. For instructions on how to run the EQASET transaction, see Debugging Language Environment IMS MPPs without issuing /SIGN ON in the IBM z/OS Debugger User's Guide.
  4. For BTS, you need to specify Environment command (./E) with the user ID of the IO PCB. For example, if the user ID is ECSVT2, then the Environment command is ./E USERID=ECSVT2.
Your users can use the user exit in the following ways:
  • The user can link the user exit into his application program.
  • The user can link the user exit into a private copy of a Language Environment module (CEEBINIT, CEEPIPI, or both), and then, only for the modules the user might debug, place the SCEERUN data set containing this module in front of the system Language Environment modules in CEE.SCEERUN in the load module search path.

To learn about the advantages and disadvantages of each method, see Comparing the two methods of linking CEEBXITA.

To prepare your site to use the Language Environment user exit, do the following tasks:
  1. Editing the source code of CEEBXITA.
  2. Linking the CEEBXITA user exit into a private copy of a Language Environment runtime module.
To do the instructions in Customizing for JCL for Batch Debugging utility, you need the following information:
To do the instructions in Customizing z/OS Debugger User Exit Data Set, you need the following information:
  • If you change the naming pattern of the TEST runtime options data set, you need the new naming pattern you set in Modifying the naming pattern.
To do the instructions in Customizing IMS Transaction and User ID Cross Reference Table, you need the following information: