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

