Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
I recommend you contact your site support group to find out why this JCL works at all. When I run it on my JES3 system, I get
Code:
IEF344I RS0TESTC STEP001 O1 - ALLOCATION FAILED DUE TO DATA FACILITY SYSTEM ERRO
IGD17101I DATA SET TTSSRS0.GEN.COBOL
NOT DEFINED BECAUSE DUPLICATE NAME EXISTS IN CATALOG
RETURN CODE IS 8 REASON CODE IS 38 IGG0CLEH
IEF272I RS0TESTC STEP001 - STEP WAS NOT EXECUTED.
Normal processing when doing such a redefine is to IEBCOPY to another PDS, delete and redefine the original PDS, then use IEBCOPY to copy back to the original PDS name. Using the same name in one step as you have is, at best, risky and quite possibly not valid JCL (depending upon your JES system).
Joined: 14 Jul 2008 Posts: 1249 Location: Richfield, MN, USA
I use a job like the following to increase a PDS allocation:
Code:
//XXXXXXXX JOB (YYY),'T. HEINZE - 555-1234',
// CLASS=R,
// MSGCLASS=T,
// NOTIFY=&SYSUID,
//* ALLOCATE MORE SPACE TO A PARTITIONED DATA SET BY COPYING IT TO A
//* NEW NAME AND RENAMING IT BACK TO THE ORIGINAL. THIS JOB DOES NOT
//* DELETE THE OLD DATA SET, SO PLEASE DO IT MANUALLY.
// SET BLKSIZE=27920 <=== CHECK (MAX=27998)
// SET BLKSPRI=00120 (30 BLOCKS PER 3390 CYLINDER)
//* 1 ADDITIONAL BLOCK IS ALLOCATED FOR APPROX. EVERY 20 DIR. BLKS.
// SET BLKSSEC=00120
// SET DIRBLKS=08
//* C CURR 'DATA SET NAME'
// SET DSNME='CURR' <=== CHANGE
// SET RECFORMT=FB {F|FB|U}
// SET RECLNGTH=00080
//*
// IF (RC EQ 0000) THEN
//* DELETE THE OLD GUY, IF HE EXISTS.
//DELETE EXEC PGM=IEFBR14
//DD1 DD DSN=&DSNME..OLD,
// DISP=(MOD,DELETE,DELETE),
// SPACE=(TRK,0)
// ENDIF
//*
//*
// IF (RC EQ 0000) THEN
//* COPY THE OLD GUY TO THE NEW GUY.
//COPY EXEC PGM=IEBCOPY
//DDIN DD DSN=&DSNME,
// DISP=OLD
//DDOUT DD DSN=&DSNME..NEW,
// DISP=(NEW,CATLG,DELETE),
// LRECL=&RECLNGTH,
// RECFM=&RECFORMT
// SPACE=(&BLKSIZE,(&BLKSPRI,&BLKSSEC,&DIRBLKS))
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
COPY OUTDD=DDOUT
INDD=DDIN
// ENDIF
//*
//*
// IF (RC EQ 0000) THEN
//* RENAME THE NEW GUY TO THE OLD GUY.
//RENAME EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
ALTER CURR -
NEWNAME(CURR.OLD)
ALTER CURR.NEW -
NEWNAME(CURR)
// ENDIF
//*
//