On Fri, 28 Jan 2011 22:46:47 -0600, John McKown wrote: >That's what I do: > >//SYSUT1 DD DSN=&&DSN,DISP=(OLD,PASS) >//SYSUT2 DD DSN=*.SYSUT1,DISP=(OLD,PASS), >// UNIT=AFF=SYSUT1, >// VOL=REF=*.SYSUT1 > I frequently do this to create SYSEXEC (DISP=NEW) as a temp DS; populate it with an EXEC by REPRO; and run the EXEC in a single IKJEFT01 step.
BTW, I have been told (I've had no occasion to test it) that once you do this, _two_ entries are placed in the passed DSN queue when the step completes, and subsequent job steps may use _two_ allocations without resorting to the VOL=REF trick. Does SVC 99/TSO ALLOCATE/BPXWDYN support VOL=REF? >I've gotten into the habit of doing lots of refer-backs for as much as >possible. Actually, I used pseudo-temporary dataset names. I use IDCAMS >or CA-11 to delete all DISP=NEW datasets in the job, then use perm names >and delete them in an IEFBR14 at the end. Makes it easier to restart my >job and not "waste" CPU time. > Related technique to conditionally create or reuse a data set: //HANDLE DD DISP=(MOD,CATLG),UNIT=SYSALLDA,SPACE=..., // DCB=(...),DSN=... //SYSUT2 DD DISP=OLD,DSN=*.HANDLE,VOL=REF=*.HANDLE We're not afflicted with JES3 (mostly), but I suspect this technique could even be useful to outwit JES3's cerebral morbidity concerning conditional execution of job steps. What was the design objective of removing the entry from the passed DS queue at the beginning rather than the end of the job step, thus compelling programmers to this byzantine circumvention? I hate JCL! -- 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