
Appendix B. REXX utility procedures 365
Say "OMVS Return Code =" errno
Say "OMVS Reason Code =" errnojr
is_omvs_range = X2d(Left(Right(errnojr,8,"0"),4))<=X2d(20FF)
errno_save = errno
errnojr_save = errnojr
If errno<>"A3" & errno<>"A4" & is_omvs_range Then
show_reason = 1
Else
show_reason = 0
Address SYSCALL "strerror" errno errnojr "err."
If rc=0 & retval>=0 Then Do
If err.se_errno<>"" Then
Say "OMVS Return Code Explanation -" err.se_errno
If show_reason & err.se_reason<>"" Then
Say "OMVS Reason Code Explanation -" err.se_reason
End
errno = errno_save
errnojr = errnojr_save
If exit_on_error Then Call Final_Exit retc
End
Return
B.14 MOVEAGGR ...