Programming considerations
- The EXIT(nnn) statement for Exit 24 must specify STATUS=ENABLED for the exit; the $T EXIT(nnn) command cannot be used to enable (STATUS=ENABLED) the exit later since the point of processing for Exit 24 is before the time at which the command processor is made functional.
- Because Exit 24 is called from JES2 initialization, the JES2 dispatcher is not yet functional; so MVS protocol should be used in Exit 24 routines (for example, WAIT rather than $WAIT and ESTAE rather than $ESTAE).
- If Exit 24 returns a return code of 8, HASPIRA issues message $HASP864 INITIALIZATION TERMINATED BY INSTALLATION EXIT 24. The $HASP428 message is also issued before final termination.
- Your exit routine can access JES2 control blocks through the HCT. Your exit routine can then access DCTs, PCEs, buffers, the UCT, and so on for making modifications.
- Your exit routine is responsible for establishing addressability to your own special control blocks. The HCT points to the optional user-defined UCT and other areas are provided in the HCT for various installation uses, which are identified by labels $USER1 through $USER5.
- Exit 24 can be loaded and called as part of the initialization data set checker.
If it is, it should avoid:
- Services that require authorization.
- Obtaining or updating common storage.
- Allocating or validating devices (might not be running on correct system).
- Updating data sets associated with a running subsystem.
- WTORs and WTOs (use $STMTLOG for WTOs.)
To determine whether it is being called as part of initialization data set checking, it can check whether field X024COND is set to X024ICHK (a value of zero).