If an error is encountered while performing a system call, an environment variable (errno) is updated with the return code from the service. The corresponding error message, if it exists, can be found by combining 'EDC5' with the decimal value of errno. For example, errno = x'006f' or 111 is equivalent to message EDC5111I (Permission denied).
More specific information about the error is available through the errnojr value or the errno2 system call. Variables errno and errnojr can be used from REXX if the RC from the last system call is not negative.
At OS/390 V2R7 and up, services are available to return descriptive text for errno and errnojr values. See the OE REXX page here for an example.
If the reason code is of the form ccccrrrr where cccc is in the range 5b00-5bff and rrrr is not 00a3 or 00a4, then rrrr is a file system adapter (HFS) reason code. If cccc is 5bc8, then rrrr is a reason code returned by the security product.
See DFSMS Component Abend 0F4 for some notes on this type of abend.
When an OMVS thread ends abnormally, you will see the message:
BPXP009I THREAD threadid , IN PROCESS pid, ENDED ABNORMALLY WITH COMPLETION CODE ffsssuuu, REASON CODE cccccccc.where
Graphic courtesy of Tripod.