On Wed, 23 May 2007 20:36:17 +0000, Ted MacNEIL wrote:

>>Why does JCL/job processesing have that dumb behavior?
>
>Because it was written 40 years ago?
>Because it could/would break many things if it's changed.
>
Yeah.  Right.

//STEP1    EXEC  PGM=IEFBR14
//SYSUT1    DD   DISP=(,PASS),DSN=&&FOO,
//  SPACE=(TRK,0),UNIT=SYSALLDA
//*
//STEP2    EXEC  PGM=IEFBR14
//SYSUT1    DD   DISP=(,PASS),DSN=&&FOO,
//  SPACE=(TRK,0),UNIT=SYSALLDA
//*
//STEP3    EXEC  PGM=IEFBR14
//X         DD   DISP=(OLD,PASS),DSN=&&FOO
//X         DD   DISP=(OLD,PASS),DSN=&&FOO

executes with no errors, and allocation messages:

IEF236I ALLOC. FOR PASSDSN STEP1
IGD100I 3EF1 ALLOCATED TO DDNAME SYSUT1   DATACLAS (        )
IEF142I PASSDSN STEP1 - STEP WAS EXECUTED - COND CODE 0000

IEF236I ALLOC. FOR PASSDSN STEP2
IGD100I 3CF1 ALLOCATED TO DDNAME SYSUT1   DATACLAS (        )
IEF142I PASSDSN STEP2 - STEP WAS EXECUTED - COND CODE 0000

IEF236I ALLOC. FOR PASSDSN STEP3
IEF237I 3EF1 ALLOCATED TO X
IEF237I 3CF1 ALLOCATED TO X
IEF142I PASSDSN STEP3 - STEP WAS EXECUTED - COND CODE 0000

I suppose some programmer somewhere may have exploited this
behavior.  I'd prefer to see STEP2 fail for duplicate DSN
in the passed DS queue, rather than merely picking a different
volume.  And STEP3 fail in conversion for duplicate DD name in
step.  (I understand JES3 enforces this; JES2 doesn't.)  It's
a shame that historic resource constraints (manpower to write
the error checking code; storage to hold it at execution) become
the justification for perpetual inadequate design.

--gil

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