On Tue, 2 Mar 2021 19:10:49 +0100, Peter Sylvester wrote:
>
>A little example from few days ago. Files are 30 years old.
>
>A pds with blksize 6160 that already had members (longer than a block)
> 
It is a dreadful design blunder (which could yet be repaired) that
the OS allows:
o Decreasing the BLKSIZE of an existing nonempty data set.
o Decreasing the LRECL or changing the RECFM of an existing nonempty data set.
o Writing a physical block larger than BLKSIZE.
o Overwriting a PDS directory with BSAM.

PDSE fixes many of these.

A co-worker once copied an Assembler SYSPRINT into a RECFM=VBA,
LRECL=137 listing PDS.  Only his member could be read.  I  changed
it back so all members except his could be read.

>1st try:
>
>     RECEIVE INDATASET(whatever) OUTDATASET(pds(member))   -> oops really, not 
> possible to allocate 
>a member. resulting in an abend?
>
>2nd try:
>
>     ALLOC FI(MEMBER) da(pds(member))
>
>     RECEIVE INDATASET(whatever) OUTFILE(MEMBER)
>
>alles klar auf der Andrea Doria, blocksize got changed to 3120  ;-)  IO error 
>when opening with 
>isredit the old members.
>
>Un petit coup avec IEBGENER to change the blocksize, members are back.
>
>I hadn't touch a "modern" augmented mvs clone in 25 years, so maybe these were 
>my faults.
>
>All this seems perfectly reasonable, " 'works as designed' since it is 'coded 
>as designed' "  :-)

-- gil

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

Reply via email to