Tom H wrote
<snip>
There is another difference between running under an ESTAEX and an IEAARR, and 
that is you cannot use IEALSQRY to determine the linkage stack depth if you 
need it for retry. You must keep track of it yourself.
</snip>

That's a good observation. And you're right. But it is not intentional. That 
was an oversight from when I created IEAARRs 25 years ago. Those PC numbers are 
treated specially by RTM and do not have a "true" ARR (which is why IEALSQRY 
does not play well with that situation), rather the linkage stack entry itself 
has the information needed to give control to your recovery routine. No one had 
ever brought that to my attention.

"You must keep track of it yourself" ("+1" after BAKR, "-1" before PR) is often 
just as easy as, and is always orders of magnitude more efficient than, using 
IEALSQRY. Of course that does require that all the routines have access to the 
field where the current level has been saved (so they can increment/decrement 
as appropriate), unless (for example) each routine has a recovery block that 
keeps track "for it" and some over-arching code can run these blocks and 
determine the appropriate value needed.

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

Reply via email to