DSNRLI errors are reported back to the calling program, the dsnrli.cpy copybook contains a list of error and reason codes that are returned.
If a DSNRLI function is called that requires the association of an XA switch module with the current unit of work, and that association fails, DSNRLI will issue the following messages and shows the return code from the TX Associate call:
Reason | Error |
---|---|
For a failure in associating the switch module: | MVSXM0037S [Switch Module] XA resource is not enabled. ASSOCIATE call returned [Return Code]. |
For a switch module that does not exist | MVSXM0038S [Switch Module] XA resource has not been found. ASSOCIATE call returned [Return Code]. |
In both cases, DSNRLI will return a return-code of 8, and the reason code will be ERR-XA-RESOURCE-NOT-ENABLED (0x00F30002) or ERR-NOT-IDENTIFIED (0x00C12204), as appropriate.
If DSNRLI makes a TX call that does not return the expect value, the return code will be reported in a message to the job log and the return code from DSNRLI will be 8. The reason code reflects where the error occurred.
Error |
---|
MVSXM0050S [Switch Module] XA resource OPEN call returned [Return Code]. |
MVSXM0051S [Switch Module] XA resource BEGIN call returned [Return Code] where [Switch Module] is the XA resource name and [Return Code] is the return code from the TX call. |
MVSXM0052S [Switch Module] XA resource CLOSE call returned [Return Code]. |
MVSXM0053S [Switch Module] XA resource END call returned [Return Code]. |
Where [Switch Module] is the XA resource name and [Return Code] is the return code from the TX call.
If a TX call returns TX_FAIL (-7) that return code will be passed back to the calling program. The normal DSNRLI call ordering will be suspended for that switch module so that the calling program may call IDENTIFY to reassociate the switch module with the unit of work.