Thanks, Chuck. Tough sitch.

I think as definitive as you are going to get, in a documentary sense, is this, 
from the Programming Guide (doesn't matter which version): 

"Calling alternate entry points

Static calls to alternate entry points work without restriction."

I made a static CALL to an ENTRY in the same program (without IS RECURSIVE on 
the PROGRAM-ID), and it failed with "IGZ0064S A recursive call to active 
program STAB48 in compilation unit STAB48 was attempted." (Note that the 
message reports for the PROGRAM-ID name, not the ENTRY name).

Since this does not work "without restriction" for an ENTRY then I conclude 
that a CALL to an ENTRY within the same program is not valid, although not 
explicitly documented as either valid nor invalid.

With the static CALL, using IS RECURSIVE does prevent the IGZ0064S, but that 
would count as a "restriction" to my mind - "must use IS RECURSIVE if CALLing 
an ENTRY in the from the same program which contains the ENTRY".

I think I've convinced myself that although it can be made to work, after a 
fashion, (IS RECURSIVE) it is not designed to work, so may break when the 
compiler changes.

And with all those little things it needs to get it to approximately work, when 
someone misses one or more of those in the future they are going to waste a lot 
of time working out what has happened, and how to fix it, and why.

That's as close as I can get to what I think you want :-) Good luck!

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to