The ERRET routine applies to cases where the invoker has no opportunity to cover things: - use of SPOST - blowing up within the target address space attempting to post the XM ECB.
It is up to the invoker's recovery to deal with a problem in the invoker's thread (such as an invalid address space rejected by "schedule"). >Hold on a second - you are not coding the ASCB parameter. > >> POST (R1),ERRET=error_routine, X >> MF=(E,EXITPLST),LINKAGE=SYSTEM,ECBKEY=0 This shows a classic error in using "execute" form where you fail to provide all the parameters, but the expansion assumes that you have initialized things properly with an initialized list form. For these macros (indeed all "traditional" macros) the execute form does not (is not allowed to) do the sort of checking that would say "you have ERRET without ASCB". The standard form would do so but of course is not reentrant. Some of these traditional macros do support "COMPLETE" on the execute form to indicate that you are expecting to provide everything so completely initialize the parameter list -- MF=(E,listname,COMPLETE). POST is not one of these, though. In this case, you get what you get. I don't know what's in EXITPLST. I don't know if the POST module ignores ERRET or assumes, because of the presence of ERRET, that you provided an ASCB and this is an XM POST. I suspect the former. Peter Relson z/OS Core Technology Design ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
