z/OS JES2 Installation Exits
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Programming considerations

z/OS JES2 Installation Exits
SA32-0995-00

  1. Tracing for this exit is disabled because of its sequence in the initialization process.
  2. Because Exit 0 is called early in JES2 initialization, some main task services may not be functional and most control blocks and interfaces are not yet established. The JES2 dispatcher is not yet functional, so MVS™ protocol should be used in Exit 0 routines (such as, WAIT rather than $WAIT, ESTAE rather than $ESTAE.).
  3. If Exit 0 returns a return code of 12, IROPTS issues message $HASP864 indicating that Exit 0 terminated initialization. IROPTS then returns to the IRLOOP with return code 8, indicating that the $HASP428 message should be issued before final termination.
  4. The initialization options string passed to Exit 0 is first ‘folded’, that is all the characters are ‘folded’ up to their capitalized versions.
  5. The processing that JES2 does for the initialization options string after calling Exit 0 is performed using the JES2 $SCAN facility and a table that defines the options input allowed and how to process it. The table is actually composed of two tables, an installation-defined table followed by a JES2-defined table.

    By specifying installation-defined tables, an installation can implement its own initialization options or replace the JES2 definition for existing options. Thus this function can be accomplished without implementing Exit 0, or with an implementation of Exit 0. Also, the $SCAN facility itself can be used from an Exit 0 to process initialization options.

  6. If HASPXIT0 contains dynamic tables, the tables will automatically be used when HASPXIT is loaded. It is also possible to include dynamic tables in a module invoked by HASP.$EXIT0. However, when using HASP.$EXIT0, include any tables in a separate load module and invoke the $MODLOAD service to access the modules. If HASP.$EXIT0 is refreshed, any tables that the load module contains might move to a different storage location without JES2's knowledge, resulting in unpredictable results.
Attention: This exit should be thoroughly tested in an environment that is totally inaccessible to your production JES2 environment (the data set containing the test version of the module that contains exit 0 should not be in the link list).

This exit cannot be disabled other than by replacing or removing the load module. A situation where JES2 cannot be initialized may occur if the exit is improperly coded. This risk can be minimized by using Exit 24 to define user tables for commands, rather than Exit 0. However, for installation defined installation statements, Exit 0 must be used.

Also, if the MCT table entries are modified, the associated tables must not be in the HASPINIT load module. This is because the HASPINIT load module is deleted after initialization, and the tables will become inaccessible. Note that this restriction applies regardless of whether the tables define initialization statements, commands, or messages.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014