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

Reply via email to