Each MVS™ component has individual programming conventions.
Components that have similar functions have similar requirements.
Most requirements, however, are unique. Because of these differences
among component requirements, we cannot provide universal rules for
coding installation exit routines. The specific guidelines we can
give are:
- Whenever a macro is provided to perform a service, use the macro.
- Upon entry to your exit routine, save all register contents and
restore them before returning to your calling routine. An exception
to this guideline is the use of return and reason codes. In many
cases, you must insert a return code in register 15, and reason codes
in registers 0 and 1 before returning to the calling program.
- Under no circumstances should you assume an interface (such as
contents of a register) that is not specifically documented.
- Exits That Use a z/OS UNIX Callable
Service: Any exit that uses a z/OS UNIX callable service needs to
be written based on the current environment. If the task is not dubbed
on entry to the exit (STCBOTCB=0), the exit must undub (perform a
CALL BPX1MPC) at completion if the exit has called any other z/OS UNIX callable
service callable service. If the task is already dubbed (STCBOTCB
does not equal 0), the exit should leave the environment as it was
on entry, which would require closing any files that it opens and
leaving signal states unchanged.