Ah! Got it.

The OP has been absent from this discussion for a while. Either the problem is 
solved, or he has gotten tired of our debate. <g>

Charles

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf 
Of Bill Godfrey
Sent: Monday, June 03, 2013 9:56 AM
To: [email protected]
Subject: Re: Examples of getbuf and build usage

BUILD is only capable of creating a BUFCB that is immediately followed by the 
buffers, as it only has one operand to indicate the memory location, as you no 
doubt know. Earlier you said your program does not use BUILD. If your program 
had used BUILD, like the OP's does, and given it the address of an area above 
the line, which we don't know in the OP's case, it would be necessary to copy 
the BUFCB part of the area below the line and point the DCB to the copy. This 
possibility is not mentioned in the manual. The description of the BUILD 
operand says "If the area resides above the line, it cannot be used by other 
access method macros".

This page in Chapter 21 of Using Data Sets:

http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/DGT2D4A0/3.2.8

says "For BSAM, IBM recommends that you allocate data areas or buffers through 
GETMAIN, STORAGE, or CPOOL macros and not through BUILD, GETPOOL, or by the 
system during OPEN. Allocated areas can be above the line."

This leads me to believe that the OP's program was not written with buffers 
above the line in mind, since it uses BUILD, but that is just a guess.

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

Reply via email to