IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

JCL behaving differently with different Userids


IBM Mainframe Forums -> JCL & VSAM
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
vinothsubramanian

New User


Joined: 01 Sep 2006
Posts: 39
Location: Chennai, India

PostPosted: Fri Jun 26, 2009 6:09 pm
Reply with quote

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
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Fri Jun 26, 2009 6:25 pm
Reply with quote

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
View user's profile Send private message
vinothsubramanian

New User


Joined: 01 Sep 2006
Posts: 39
Location: Chennai, India

PostPosted: Fri Jun 26, 2009 7:00 pm
Reply with quote

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
View user's profile Send private message
Terry Heinze

JCL Moderator


Joined: 14 Jul 2008
Posts: 1249
Location: Richfield, MN, USA

PostPosted: Sat Jun 27, 2009 11:19 am
Reply with quote

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
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> JCL & VSAM

 


Similar Topics
Topic Forum Replies
No new posts Format Last Record differently from r... DFSORT/ICETOOL 5
No new posts 2 same CLIST pgm but with different n... CLIST & REXX 5
No new posts SORT(DFSORT) behaving abnormal DFSORT/ICETOOL 8
No new posts SELECT result ordered differently in ... DB2 18
No new posts ISPF panel scrollable field indicator... TSO/ISPF 14
Search our Forums:

Back to Top