-------------------------------------------------<snip>--------------------------------------
What I would expect, if the program's DCB attributes 'overrode'/'took precedence over'/etc. those of the physical dataset on DASD, is that the attributes in the dataset's DSCB on DASD would be overriden by the program DCB's attributes during the *read* (without changing the DSCB on DASD), and whatever garbage was then read in, as a consequence of the changed RECFM, LRECL and BLKSIZE in the program's DCB, would then be acceptable - provided the data (including the BDWs and RDWs, if necessary [all hypothetical, this]) was actually read in using the program's changed LRECL etc., ... instead of hitting I/O errors during the read (because the physical dataset's actual LRECL, not the changed one in the program's DCB, defines how its data on DASD should be read).
---------------------------------------------<unsnip>--------------------------------------
The "Incorrect Length" error is usually generated by a CCW that specifies a length smaller than the actual length of the block on the DASD device. The CCW length, in turn, is set by the BLKSIZE value supplied that is ultimately applied to the dataset, whether the value comes from a program-coded value, a JCL value or the value specified in the FORMAT-1 DSCB of the dataset. How the LRECL is used depends on the RECFM value and the access method in use. For example, BSAM does NO deblocking or blocking, expecting the program to take care of these types of details. On the other hand, QSAM does all the blocking and deblocking "under the covers", returning a logical record instead of a complete block.

------------------------------------------------<snip>--------------------------------------
The 'raw' data could be retrieved from DASD via CCWs, irrespective of LRECL etc. (because data on DASD is I/O'd via CCW EXCPs anyway). So I would expect a program's changed DCB attributes to override those on DASD in the same way, as if processing 'raw' data. That would be *my* interpretation of the program's DCB attributes having successfully overridden those of the dataset on DASD when opened for input. But as this does not happen, the program's DCB attributes 'overriding' those on DASD is at best theoretical/academic. In practice, it is the attributes on DASD which take precedence over those specified in the program's DCB during input - and it is up to the program's DCB to comply with the 'attributes-on-DASD-first' order of priority for input, or hit I/O errors. I do not consider a program's DCB having to *comply* with a dataset's attributes on DASD, in order to function correctly, as indicating that this program's DCB successfully *overrides* that dataset's attributes on DASD.
------------------------------------------------<unsnip>-----------------------------------
NO NO NO. The attributes in the FORMAT-1 DSCB can be over-ridden by JCL OR DCB attributes in the program. They can also be altered to invalid values by injudicious use of DCB attributes in a program or JCL when adding/replacing a PDS member. Would you define a card reader with a logical record length of 50 bytes, expecting that the next logical record would be the last 30 bytes of the current image and 20 bytes of the next image? On a card reader, the blksize is 80 bytes and record format is either F or FB. Period. On DASD, the blocksize is that which is written in the count field of the actual block, as written on the disk. As far as the channel program is concerned, the only significant length field is the one written in the block's count field.

Padding records with x'00' values when a block is "short", can lead to all kinds of errors. Which values are valid for the program and which ones are trash and should be ignored?

We won't even get into keyed records, which are still prominent in DASD data management.

When half a dozen people, all with 30+ years of detailed experience, tell you you're wrong, I strongly suggest you start cracking open some manuals.

Rick

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to