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
