|
View previous topic :: View next topic
|
| Author |
Message |
vinothsubramanian
New User
Joined: 01 Sep 2006 Posts: 39 Location: Chennai, India
|
|
|
|
Hi,
I am using the following JCL code to increase the primary allocation of PDS.
| Code: |
//STEP001 EXEC PGM=IEBCOPY
//SYSPRINT DD SYSOUT=*
//VAMBYPAS DD DUMMY
//I1 DD DISP=(SHR,DELETE,KEEP),
// DSN=GEN.COBOL.NEW
//O1 DD DSN=GEN.COBOL.NEW,
// DCB=(DSORG=PO,LRECL=80,BLKSIZE=3200,RECFM=FB),
// SPACE=(CYL,(120,10,10)),
// DISP=(,CATLG,CATLG)
//SYSIN DD *
GROUPCPY COPYGRP INDD=((I1,R)),OUTDD=O1
//*
|
This JCL works fine for few Userids in mainframes. However for few user IDs it is giving return code 8 and the PDS is deleted from the catalog.
The error we get is as follows
| Code: |
IEB120I I1 VALIDATION ERROR
IEB1031E VOLUME GEN005 DDNAME I1 DOES NOT CONTAIN DATA SET
|
Kindly let me know what could be the possible reasons for this JCL to work fine in few user IDs and not working fine in some cases.
Thanks in advance.
Regards,
Ram. |
|
| Back to top |
|
 |
Robert Sample
Global Moderator

Joined: 06 Jun 2008 Posts: 8700 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). |
|
| Back to top |
|
 |
vinothsubramanian
New User
Joined: 01 Sep 2006 Posts: 39 Location: Chennai, India
|
|
|
|
Thanks Robert.
I will proceed as suggested by you, copying to a temporary PDS, delete, recatalog PDS and copy the members.
Regards,
Ram. |
|
| Back to top |
|
 |
Terry Heinze
JCL Moderator
Joined: 14 Jul 2008 Posts: 1248 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
//*
// |
|
|
| Back to top |
|
 |
|
|
 |
All times are GMT + 6 Hours |
|