Steve, welcome to MF=L/E land.

Note - the following is really simple, and merely a starting point.  

What you really should do, IMHO, in this situation, is in a constant area,
code

#OPEN    OPEN  (,INPUT),MF=L
#OPEN_L  EQU   *-#OPEN

Then in your DSECT area, code

@OPEN    DS    XL(#OPEN_L)

And in your program code

         MVC   @OPEN,#OPEN
         OPEN  ((10)),MF=(E,@OPEN)

It's good practice to generate an MF=L list in your constant area so you can
define the MF=E area properly.  It's not so important for OPEN, but for
things like ATTACH that have a lot of bits set, it's a lifesaver.

Later,
Ray

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf
Of Steve Comstock
Sent: Friday March 16 2007 13:37
To: IBM-MAIN@BAMA.UA.EDU
Subject: Re: Need help with Assembler accessing VSAM file in reentrant
LE-conforming program

Gerhard Postpischil wrote:
> Steve Comstock wrote:
> 
>> Then I issue OPEN against that ACB: I get S0C4 that
>> points to the next instruction after my OPEN, which
>> is an LTR  15,15; so it looks like the abend is being
>> generated in OPEN.
>>          open  ((10)),mode=31,mf=(e,openlist)
> 
> 
> To eliminate one more "obvious" possibility - is openlist initialized, 
> i.e., is the x'80' end of list bit on?
> 
> 
> Gerhard Postpischil

Hmmm. Interesting question.

Openlist is defined in my DSECT area:

  openlist  open  0,mode=31,mf=l
+OPENLIST DC    0F'0'
+         DC    AL1(128)
+         DC    AL3(0)
+         DC    A(0)

So the x'80' bit is on here, but since it's in a DSECT,
of course, no real initialization occurs. The code where
the OPEN is invoked shows on the listing as:

           open  ((10)),mode=31,mf=(e,openlist)
+         LA    1,OPENLIST
+         ST    10,4(1,0)
+         LR    0,1
+         SR    1,1
+         SVC   19
           ltr   15,15

So, no, I would say the x'80' bit is not on at
execution time. But, it is not clear how one
would do that (without manually coding the
macro expansion oneself). The doc does not
include the classic 'vl' operand as an option:

[label] OPEN (address[, [(options)][,...]])[,MODE={24|31}]

Hmmm.... no, not sure what to do about that.

----------------------------------------------------------------------
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