On Thu, Mar 23, 2023 at 08:56:43AM -0400, Joseph Reichman wrote:
> Here is the code if you page down the email you will see "Here is the
> DCB//DECB/DCBE and exlst code" 

Another partial source which ignores that you are authorized.

When you are authorized (especially key zero/system key/supervisor)
the system calls have different behavior.

subpools for example:

https://www.ibm.com/docs/en/zos/2.1.0?topic=summary-storage-subpools

6.  Subpools 0-127, 131, and 132 are the only valid subpools for
    unauthorized programs. A request by an unauthorized program for a
    subpool other than 0-127, 131, or 132 causes abnormal termination
    of the program.
  
> As I said when get the I/O area from sp=0 I abend 800 rc 4 from sp=233 which
> is fixed its okay 

https://www.ibm.com/docs/en/zos/2.1.0?topic=codes-800

   800
   Explanation
   During processing of an I/O request, execute channel program (EXCP)
   processing encountered an error. Most instances of the X'800' ABEND code
   have a reason code that explains the error. After the pages for a buffer
   were fixed, an LRA instruction for a page in the buffer got a nonzero
   condition code. This means that page is not valid.

   04
   A program issued SVC 114, the EXCPVR macro, but an error occurred during
   page-fix or page-unfix processing. A page-fix error can occur if the EXCP
   processor tries to fix pages that are not assigned to the caller's ASID.

So you convinced BSAM to use some authorized path for the I/O and
tried to use as buffers storage it couldn't use for I/O...

Try BSAM without authorization first and don't include any extra options
you haven't researched, especially ones requiring authorization.

The default for QSAM is that the open routine gets the buffers and
you don't deal with buffers, you just get records.

The default for BSAM is that you supply the buffers.  The buffers
can come from:

a. you request storage from the system via getmain or storage etc..

b. you have the access method buffer management routines get 
   buffers which you then ask for buffers.

SC23-6852-03 z-OS DFSMS Macro Instructions for Data Sets V2R2 2015 dgt3d510.pdf

   The BUILD macro is used to construct a buffer pool in an area provided
   by the problem program. The buffer pool can be used by more than one
   data set through separate data control blocks. For BDAM, BISAM, BPAM
   and BSAM your program can obtain individual buffers from the buffer
   pool using the GETBUF macro, and return them to the buffer pool using
   a FREEBUF macro. For QISAM and QSAM, OPEN obtains buffers from and
   CLOSE returns buffers to the buffer pool. See z/OS DFSMS Using Data
   Sets for an explanation of the interaction of the DCB, BUILD, and
   GETBUF macros in each access method, and the buffer size requirements.

c. storage in your program (obviously not reentrant).

I've never taken path (b), only (a) or (c).

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