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