On Thu, Jun 02, 2005 at 07:46:07AM -0400, Peter Relson ([EMAIL PROTECTED]) 
wrote:
[...]
> Adding to existing data sets
> resulting in new extents is what causes problems. That is
> why IBM recommends that you allocate your LNKLST PDSs so that
> they cannot have secondary extents.

Agreed.  So, how do you do this?  Specify a secondary allocation of 0?
What about the following (incorrect but extremely common) JCL?
  // EXEC whateverCL
  //SYSLMOD DD DISP=SHR,DSN=some.linklist.dataset

That seemingly-reasonable JCL will allow secondary extents to be
allocated.  Why?  Because all of the IBM-supplied whateverCL procs
have //SYSLMOD DD UNIT=something,DISP=(MOD,PASS),SPACE=(t,(p,s)) .
Since, as touched on in another thread, the //SYSLMOD override 
doesn't nullify keywords in the proc which weren't on the override,
the secondary quantity "s" is applied on a one-time basis and a
secondary extent can be taken.  The "fix" for this is to specify
  // EXEC whateverCL
  //SYSLMOD DD DISP=SHR,DSN=some.linklist.dataset,SPACE=

Now, how many people do that?  Even ignoring the linklist issue, this
design problem wreaks all kinds of havoc.  If the in-proc DD contains
RLSE (because after all it was set up for a temporary dataset), then
you end up with a bunch of tiny extents.  And if the allocation type
specifications are different, you can get track-allocated secondary
extents in datasets which were allocated CYL or ROUND.  I won't even
mention what happens to libraries with blocksizes less than the 
maximum when the SYSLMOD in the proc contains a BLKSIZE= value
larger than the dataset's original blocksize.  (I don't know about
now, but in the past, compressing such a dataset with IEBCOPY would
destroy it because IEBCOPY would move members until it encountered a
block larger than the blocksize, then it would bail without updating
the directory for the already-moved members.)

Personally, I think the quick fix for this would be to risk breaking
poorly written JCL by completely removing SYSLMOD from all whateverCL
procs.

This is why I have used only my own custom-written whateverCL procs
for the last 30 years.

My personal rule of thumb:  vendor supplied JCL is *always* wrong.


/Leonard

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

Reply via email to