On Tue, 9 Jun 2009 08:24:39 +0200, Hunkeler Peter (KIUP 4) wrote:

>>Of course the delay is due to a programmer error with the JCL....
>
>... which is a result of the fact that the operating system
>doesn't offer a way to "delete, if present, then allocate new" in
>one step, something like DISP=(RENEW,CATLG). This would have
>avoided many of the unconditional IEFBR14s at the beginning of
>jobs using DISP=(MOD,DELETE) to make sure data sets don't exist.
>
Isn't the order of processing such that this can be done in a
single step?  DD statements are processed in the order in which
they appear so the first data set is uncatalogued before the
second is catalogued.  Of course this requires that they occupy
separate volumes.  (Does this still work with SMS?)

Sometimes the full RENEW is intended in order to change SPACE,
attributes, etc.  But often the intent is merely to code JCL
that works both the first time and every time thereafter.
For this, I often resort to the byzantine:

    //ALLOC   DD   DISP=(MOD,CATLG),UNIT=SYSALLDA,
    //  SPACE=(...),DSN=&SYSUID..DATA.SET
    //SYSUT2  DD   DISP=OLD,DSN=*.ALLOC,VOL=REF=*.ALLOC

(Ugh.)

-- gil

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