On Fri, 18 Jul 2014 07:40:46 +0200, Peter Hunkeler wrote:

>RECFM=U stands for undefined. As someone else already pointed out, every block 
>can be of different length, no matter what block size is set. The block size 
>field in the DCB is used to communicate the current block's length between the 
>program and the access method. I can imagine this to be the reason it is not 
>set by OPEN. However, the JFCB should have the value from the DD or VTOC 
>(DSCB). You could try reading the JFCB.
> 
I agree with Dave here.  That value in the DSCB, tape label, or DD statement
indicates the maximum block size supported by the data set.  That value should
be merged into the DCB by open in order that the program can allocate buffers
of suitable size.  Subsequently, the size of each block as read could be 
returned
in DCBBLKSI (but ISTR, perhaps for RECFM=FB, finding that specific block size
by subtracting the RBC in the IOB from the global BLKSIZE.)

But I'd really like a clarification in the form of a citation of an unambiguous
passage in a reference manual.  JFCB would do, but without the "should".

-- gil

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

Reply via email to