> -----Original Message-----
> From: IBM Mainframe Discussion List 
> [mailto:[EMAIL PROTECTED] On Behalf Of Steve Comstock
> Sent: Saturday 17 March 2007 08:55
> To: IBM-MAIN@BAMA.UA.EDU
> Subject: Re: Need help with Assembler accessing VSAM file in 
> reentrant LE-conforming program
> 
> 
> But not totally for OPEN. Frankly, I think the execute
> form of OPEN should set the end-of-list bit just as the
> execute form of CALL, for example, does. Took me three
> days and some help to find that piece of information.
> I actually did an OI instead of an MVI, but that was
> what made the code work. I don't think it's a "very
> bad idea" at all. It made the code work in a way that
> is unlikely to ever fail even if IBM were to change the
> macro expansions in the future.

I have to quibble with this, Steve.

MF=E is designed to change -> only <- those parameters that you specified in
your invocation.

For grins, change your OPEN expansion to MODE=24 and watch the gyrations for
setting the parameters.  I have seen code (disclaiming authorship statement
goes here) that does this (non-reentrant on purpose because I don't want to
type too much today  *g*  ):


         OPEN  (USER_SPECIFIED_DDNAME),MF=(E,@OPEN)

@OPEN    OPEN  (,INPUT,SYSPRINT,OUTPUT),MF=L


It's Saturday so no work access, and I can't fire up my MVS/SP 3.8j
environment right now due to disk space issues (stupid sudden interest in
French music CD ripping), so I can't cut/paste the assembler output.  If you
assemble the above, you'll see all sorts of ORing going on to preserve the
high order byte where the options are stored when the first parameter is
specified.  And if the MF=E expansion set the HOB on as you suggest, then
SYSPRINT would not be opened. 

25+ years of working with MF=L/E have taught me this, and I still, every
once in a while, forget to initialize something in the MF=L expansion (weird
Sx2A abends, anyone?)

Later,
Ray

-- 
M. Ray Mullins 
Roseville, CA, USA 
http://www.catherdersoftware.com/
http://www.mrmullins.big-bear-city.ca.us/ 
http://www.the-bus-stops-here.org/ 

German is essentially a form of assembly language consisting entirely of far
calls heavily accented with throaty guttural sounds. ---ilvi 
French is essentially German with messed-up pronunciation and spelling.
--Robert B Wilson
English is essentially French converted to 7-bit ASCII.  ---Christophe
Pierret [for Alain LaBonté]



 

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to