Thanks, Binyamin.

I have two extra questions after reading your reply. Sorry for my ignorance.

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?

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.


On 5/4/07, Binyamin Dissen <[EMAIL PROTECTED]> wrote:

The blocksize parameter tells QSAM the maximum size of the blocks to be
read
or written.

But since there are only four records in the dataset, the physical
blocksize
(on DASD) is 200 since QSAM does not pad.

By overriding the value to 200-32750 you are instructing QSAM as to the
maximum size - and since the block is 200 bytes long the physical I/O
succeeds.

When you set the blocksize below 200 the physical I/O operation gets an
error
due to a too long block.




--
Best Regards,
Johnny Luo

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