On Fri, 4 May 2007 22:11:08 +0800 Johnny Luo <[EMAIL PROTECTED]>
wrote:

:>The first is what actually determines the physical blocksize? You told me
:>BLKSIZE parm is a maxmimum value for QSAM. So I guess if I write 105 records
:>to a data set with BLKSIZE=20, I'll get five 20-byte physical blocks and one
:>5-byte block(if no padding occurred.)  Right?

For QSAM, the physical blocksize at PUT is based on the DCB value, except that
blocks are not padded - if all the records fit within less than the blocksize
a short block will be written.

GET expects a physical block to contain up to the blocksize value and will
report an error (via S001 or SYNAD) if the physical block is larger.

:>The second is concerning the minimal physical unit a program can process on
:>zos. I know acess method macros like QSAM are still at the high level. From
:>what you told me, I guess the minimal unit QSAM can process is one physical
:>block. It cannot read, say, half physical block. And that's why my program
:>abends: the buffer size cannot hold a physical block.

None of the high level access methods support reading a partial block. It will
always request some number of blocks from the IO system. Your program can
choose to recover from the error.

--
Binyamin Dissen <[EMAIL PROTECTED]>
http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel


Should you use the mailblocks package and expect a response from me,
you should preauthorize the dissensoftware.com domain.

I very rarely bother responding to challenge/response systems,
especially those from irresponsible companies.

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