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.
You are thinking of the DCBLRECL field, not the block size field, and only for QSAM GET. See http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/DGT2D580/2.2.29 Where it says: "If you are reading undefined-length records (RECFM=U) and you are not using the large block interface (LBI), the system places the length of the record or segment in the logical record length (DCBLRECL) field of the data control block." The block size field is not set to the current block's length for BSAM READ either. For BSAM READ, the length is determined after a CHECK or WAIT by subtracting the residual count from the length used by READ, as described in Using Data Sets: http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/DGT2D4A0/3.6.7 Subtract this residual count from the number of data bytes requested to be read by the READ macro. I have always found the block size field set by OPEN for existing data sets that have a block size in the VTOC/ Bill ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN