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

