I have JCL excerpt:
//* ...
//DEL EXEC PGM=IEFBR14
//HANDLE DD DISP=(MOD,DELETE),UNIT=SYSALLDA,
// DSN=&PFX..CBTINDEX,
// SPACE=(80,(9999,9999,1)),DSNTYPE=LIBRARY
//*
//SPLITIT EXEC PGM=IEBUPDTE,PARM=NEW
//SYSPRINT DD SYSOUT=(,)
//SYSIN DD DISP=OLD,DSN=*.INSERT.OUTPUT
//HANDLE DD DISP=(MOD,CATLG),UNIT=SYSALLDA,
// DSN=&PFX..CBTINDEX,
// SPACE=(80,(9999,9999,1)),DSNTYPE=LIBRARY
//SYSUT2 DD DISP=OLD,DSN=*.HANDLE,VOL=REF=*.HANDLE
//
... which fails with SYSPRINT:
1 SYSIN NEW MASTER
IEBUPDTE LOG PAGE 0001
- ./ ADD NAME=$$$$$$$$
//MVSMODS1 JOB 527TEC000S0003,TEC,CLASS=8,MSGCLASS=5,PRTY=10,
DOC FILE
IEB814I DDNAME SYSUT2 CANNOT BE OPENED.
IEB818I HIGHEST CONDITION CODE WAS 00000012
IEB819I END OF JOB IEBUPDTE.
However:
//* ...
//DEL EXEC PGM=IEFBR14
//HANDLE DD DISP=(MOD,DELETE),UNIT=SYSALLDA,
// DSN=&PFX..CBTINDEX,
// SPACE=(80,(9999,9999,1)),DSNTYPE=LIBRARY
//*
//SPLITIT EXEC PGM=IEBUPDTE,PARM=NEW
//SYSPRINT DD SYSOUT=(,)
//SYSIN DD DISP=OLD,DSN=*.INSERT.OUTPUT
//SYSUT2 DD DISP=(MOD,CATLG),UNIT=SYSALLDA,
// DSN=&PFX..CBTINDEX,
// SPACE=(80,(9999,9999,1)),DSNTYPE=LIBRARY
//* SUT2 DD DISP=OLD,DSN=*.HANDLE,VOL=REF=*.HANDLE
//
... succeeds and creates the expected few hundred members in SYSUT2.
What makes the difference? Is DISP=OLD incompatible with PARM=NEW?
But DISP=MOD is OK, but in either case the data set is allocated before
IEBUPDTE is entered.
Enlighten me? I've used the referback trick before, but only on DSORG=PS,
in order to eliminate the (MOD,DELETE) setup step.
-- gil
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN