Sorry, all; I was about to follow my question up with an OOPS!, but then I
got the again-mistaken impression that I hadn't yet posted the question.
Sheesh, is Monday over yet?
My bad,
EXTERNAL works just fine, even in reiterated XL-resident code, as long as
you ;SHARE.
(The problem was simple: the subpgm's call to itself hadn't been changed to
its new name, so the (old) pgm actually called had not been ADDXL;SHAREd,
and of course it failed to share the EXTERNAL printer.)
Anyway, Roy's suggested one-subprogram-does-it-all for consolidated output
from multiple programs seems a lot cleaner than digging for gory details of
EXTERNAL vs GLOBAL vs SHARE-at-link, none of which I found to be very well
documented, even after following leads provided by y'all at HP3000-L. (Who
knows what arcane methodologies are actually used to establish these cryptic
data sharing conditions? Its authors do, undoubtedly, but I sure don't;
haven't figured out exactly which COBOL entities are actually shared, either
(file name, external file name, sequentially coordinated EXTERNALs, what?)
Roy's method is straightforward, intuitively simple, tried & true, and very
obviously portable to other OSes. No tongue in cheek, I'll definitely use
it for my next recursion incursion.
Tracy Pierce
and in case I forgot, THANKS AGAIN, ROY BROWN!
> -----Original Message-----
> From: Roy Brown [mailto:[log in to unmask]]
> Sent: Monday, September 16, 2002 3:30 PM
> To: [log in to unmask]
> Subject: Re: EXTERNAL vs GLOBAL files (COBOL)
>
>
> In message <87372ECCA42DD3118E3200508B2E1146C576C7@GGEXSF>,
> Tracy Pierce
> <[log in to unmask]> writes
>
> >so per Ken Hirsh's suggestion, I added ;SHARE to each of
> ADDXL and LINK for
> >main & sub; voila it works...well, almost. It works as long as the
> >recursion depth is < 2, but at the point at which the subpgm
> calls itself,
> >we die again when trying to write to the EXTERNAL file
> (FSERR 48 - file not
> >opened for sequential writes).
> >
> >The practical solution seems to be write a separate
> subprogram to handle
> >writing the output (Thanks, Roy Brown!), but of course I'm
> trying to avoid
> >that; it seems that this EXTERNAL scheme SHOULD work.
>
> <tongue-in-cheek>
>
> Damn straight.
>
> We're far too fond of sticking to the tried and trusted practical
> solutions, and quietly and steadily developing software that works,
> instead of haring off after sexy new technologies that ought
> to work but
> don't quite, and which slice us on the bleeding edge. And
> where has that
> got us? Right where we are today, with the HP3000 soon to be
> discontinued.
>
> Tracy is giving us here a wonderful example of the kind of thinking we
> need to adopt (should indeed already have adopted) if we are going to
> survive in the post-EOL world that awaits us....
>
> </tongue-in-cheek>
>
> :-)))))
>
> --
> Roy Brown Kelmscott Ltd
* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *
|