The actions to take in the case of program errors are usually straightforward.
Typical examples of program errors are:
- Breaking one of the rules of the service. For example:
- Passing parameters that are either in the wrong format or not
valid
- Violating one of the environment requirements (addressing mode,
locking requirements, dispatchable unit mode, and so on)
- Providing insufficient storage for information to be returned
by the system.
- Causing errors related to the parameter list. For example:
- Coding an incorrect combination of parameters
- Coding one or more parameters on the service incorrectly
- Inadvertently overlaying an area of the parameter list storage
- Inadvertently destroying the pointer to the parameter list.
- Requesting a service or function for which the calling program
is not authorized, or which is not available on the system on which
the program is running.
In each of the first two cases, you can correct your program. For
completeness, the return and reason code descriptions give you specific
actions to perform, even when it might seem obvious what the action
should be.
In the third case, you might have to contact your system administrator
or system programmer to obtain the necessary authorization, or to
request that the service or function be made available on your system,
and the return or reason code description asks you to take that step.
Note: Generally, the system does not take dumps for errors
that your program causes when issuing a system service. If you require
such a dump, then it is your responsibility to request one in your
recovery routine. See the topic on providing recovery in
z/OS MVS Programming: Authorized Assembler Services Guide for
information about writing recovery routines.