Binyamin Dissen wrote:

On Sun, 31 Jul 2011 15:43:15 +0100 CM Poncelet <ponce...@bcs.org.uk> wrote:

:>I know that; but on input they do not override the DCB from DASD - and :>that is regardless of their order

What do you mean by that statement?

Before the DCB on DASD can be accessed, the program's own 'completed' DCB (including any missing DCB parms filled-in from a RDJFCB of the JCL's DD and/or from an exit, if present) must be opened. This might suggest that the program's DCB, within the above context, overrides the one on DASD. But the DASD DCB attributes override the program's DCB attributes when the data is actually read - in the sense that the data on DASD will be INPUT without I/O error only if the opened program DCB's attributes are the same as those on DASD. It is not the program's DCB attributes (including any 'supplied' by exits etc.) but those on DASD which take priority and 'decide' what the DCB attributes should be on INPUT. If the program's DCB attributes could override those on DASD for INPUT, the program's 1st read after opening the DCB for INPUT would not fail with an I/O error if its DCB attributes were different from those on DASD - just as there is no I/O error when the program opens a DCB for OUTPUT and then writes to DASD (regardless of what the DCB attributes are on DASD).

The program's DCB attributes take priority over (i.e. 'override') the DCB attributes on DASD for OUTPUT, and the DCB attributes on DASD take priority over (i.e. 'override') the program's DCB for INPUT. If a program 'disagrees' with that and tries to override the DCB attributes on DASD anyway, with its own DCB attributes and for an INPUT, it crashes with an I/O error. Crashing with an I/O error indicates that the program's DCB was unable - not able - to override the DCB attributes on DASD.


Do you mean that they do not change the physical data already recorded? Nobody
would disagree. And that would equally apply to output.

On INPUT, the programs' DCB does not even change the RECFM, LRECL and BLKSIZE on DASD - never mind the physical data. On OUTPUT, the program's DCB does change the RECFM, LRECL and BLKSIZE as well as the physical data on DASD - although a program would normally leave the RECFM, LRECL and BLKSIZE on DASD 'changed' to what they already are; otherwise we could get the sort of I/O errors which started this discussion thread.


Do you mean that the program will have its non-zero DCB overlaid with the data
from the DSCB? You are wrong.

No, only its zero DCB attributes are overlaid - i.e. those which need to be filled in to 'complete' the DCB.


--
Binyamin Dissen <bdis...@dissensoftware.com>
http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel


Should you use the mailblocks package and expect a response from me,
you should preauthorize the dissensoftware.com domain.

I very rarely bother responding to challenge/response systems,
especially those from irresponsible companies.

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



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