BSAM/QSAM certainly generally supports AMODE ("running in") 24 and 31. I have 
not looked up the doc but I would be dubious about AMODE 64.

In any event, I would say that if the doc don't say it do, then I would guess 
that it don't support AMODE 64 -- and that if it seems to work then you are 
totally on your own.

Charles


-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf 
Of Joe Reichman
Sent: Sunday, November 17, 2019 11:39 AM
To: [email protected]
Subject: Re: In what context/amode BSAM/BPAM READ with SF64

Charles 

As an aside LE has too many problems I am using Metal I like the flexibility it 
has no I/O routines so I am using my own thus ran into the problem seem like 
read can run in 31 or 24
Seems LIKE SF64 only works for extended datasets


Thanks  
-----Original Message-----
From: IBM Mainframe Discussion List <[email protected]> On Behalf Of 
Charles Mills
Sent: Sunday, November 17, 2019 2:09 PM
To: [email protected]
Subject: Re: In what context/amode BSAM/BPAM READ with SF64

And for those exits that must be RMODE 24 all you really need is a little stub 
in BTL storage that upgrades its AMODE and branches to the real exit logic. The 
advantage is that you do not need a "real" AMODE 24 load module; you get just 
GETMAIN the BTL storage and move a few bytes of code into it.

Charles


-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf 
Of Greg Price
Sent: Saturday, November 16, 2019 11:03 PM
To: [email protected]
Subject: Re: In what context/amode BSAM/BPAM READ with SF64

On 2019-11-17 5:40 PM, Joseph Reichman wrote:
> I  normally do all I/O in amode 24 because of the EODAD of AL3 the 
> open having an AL3 for the  DCB

Unless you have an old ESA or even older XA system, there's no need to do I/O 
in amode24 these days.  Just use amode31.

The AL3 pointers will restrict you to rmode24, but that's a different story.

If the only DCB exits you use are EODAD and/or SYNAD, and you want to go
rmode31 (or rmodeany if you prefer) then you can supply their 4-byte address in 
the DCBE macro.  But you do not need 4-byte pointers to them to use amode31.

About the only amode24 code for z/OS I write these days is for exits where only 
amode24 is supported.  DCB exits pointed to by DCBEXLST may be in this boat, as 
are the SYSIN and SYSPRINT (and other DD ??) exits used for supplying data to 
and consuming data from calls to the IDCAMS program.

Sometimes in rmode31 programs I GETMAIN BTL storage and load the code for DCB 
exits, but this technique is not required for EODAD and SYNAD exits due to 
their DCBE support.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
[email protected] with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to