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

IEFBR14 utility to create PDS member?


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

New User


Joined: 10 May 2005
Posts: 72

PostPosted: Wed Jun 08, 2005 6:01 pm
Reply with quote

Hi,
Can we use IEFBR14 utility to create Partitioned dataset member?

Thank you,
Vidya Bhat
Back to top
View user's profile Send private message
arasu1982

New User


Joined: 05 Mar 2005
Posts: 7
Location: Bangalore

PostPosted: Wed Jun 08, 2005 6:04 pm
Reply with quote

hi,
Sure...
U may use any utility for creating PS/PDS.ie., idcams , iehprogm etc., All utilities will create PS/PDS but each one give different Maxcc.

IEFBR14 is not considered by IBM as an utility. It is a dummy program.
It can be used for a variety of things:
1. Creating Datasets
2. Deleting Datasets by Giving DISP=(MOD,DELETE,DELETE). The advantage it provides is even if the dataset does not exist, it will create and delete the dataset and give a low return code as 4.
3. It is used for setting a return code to 0. Just simply Execute the IEFBR14.
Back to top
View user's profile Send private message
vidyasaraswathi

New User


Joined: 10 May 2005
Posts: 72

PostPosted: Wed Jun 08, 2005 6:12 pm
Reply with quote

Hi,
Are u sure? Have you created any PDS member with IEFBR14 utility?
If anybody has done this, please explain me with piece of code.

Thanks and Regards,
Vidya Bhat
Back to top
View user's profile Send private message
MGIndaco

Active User


Joined: 10 Mar 2005
Posts: 432
Location: Milan, Italy

PostPosted: Wed Jun 08, 2005 9:24 pm
Reply with quote

I think that you can store data in a new member of partitioned dataset but you cannot create it empty with IEFBR14.

IEFBR14, is useful to create a partitioned dataset but not its member!
In particular, IEFBR14 cannot open a dataset, IEFBR14, when allocate a dataset does not provide any I/O.

To create a Partitioned Data Set:
Code:

                 
//STEP01    EXEC PGM=IEFBR14                                 
//DD1       DD DSN=IBMMF01.DEMOPDS,DISP=(NEW,CATLG,DELETE),           
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=80,DSORG=PO), 
//             SPACE=(TRK,(1,1,1),RLSE),                       
//             UNIT=SYSDA


If you want to create a empty member you must use IEBGENER, IDCAMS and so on but you must do a I/O coping in it at least a DD * as you can see below:
Code:
//REPRO    EXEC PGM=IDCAMS                               
//SYSOUT   DD  SYSOUT=B                                   
//SYSPRINT DD  SYSOUT=B                                   
//INP1     DD *                                           
//OUT1     DD DISP=SHR,DSN=mylib(member)
//SYSIN    DD  *                                         
  REPRO INFILE (INP1) OUTFILE (OUT1)                     
Back to top
View user's profile Send private message
superk

Global Moderator


Joined: 26 Apr 2004
Posts: 4652
Location: Raleigh, NC, USA

PostPosted: Wed Jun 08, 2005 10:28 pm
Reply with quote

I'm thinking that IEBUPDTE might also be a better utility to use.
Back to top
View user's profile Send private message
vidyasaraswathi

New User


Joined: 10 May 2005
Posts: 72

PostPosted: Thu Jun 09, 2005 6:44 pm
Reply with quote

Thank you.
Using IDCAMS Repro command, I have created PDS member.

----------------------------------------------------------------------
So the conclusion is IEFBR14 can also be used to create or delete PDS. But member in the PDS can not be created using this utility.
----------------------------------------------------------------------
To create a PDS we have to specify DSORG=PO in the DCB parameter.
For example,

Code:
//IEFBR14  EXEC PGM=IEFBR14
//DDName DD  DISP=(NEW,CATLG),DSN=PDSName,
//             STORCLAS=MFI,
//             SPACE=(TRK,(45,15,50)),
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=800,DSORG=PO)
//*


--------------------------------------------------
Can you please explain how we can do this using IEBUPDTE ?



Thanks,
Vidya Bhat
Back to top
View user's profile Send private message
superk

Global Moderator


Joined: 26 Apr 2004
Posts: 4652
Location: Raleigh, NC, USA

PostPosted: Thu Jun 09, 2005 11:15 pm
Reply with quote

Code:

//UPDATE   JOB  ...
//STEP1    EXEC PGM=IEBUPDTE,PARM=NEW
//SYSPRINT DD  SYSOUT=*
//SYSUT2   DD  DSNAME=NEW.PDS,UNIT=disk,DISP=(,CATLG),
//             SPACE=(TRK,(50,,10)),
//             RECFM=FB,LRECL=80
//SYSIN    DD  DATA
./        ADD   NAME=MEMB1
/*
//*
Back to top
View user's profile Send private message
vidyasaraswathi

New User


Joined: 10 May 2005
Posts: 72

PostPosted: Fri Jun 10, 2005 5:03 pm
Reply with quote

Hi,
I executed the following JOB:

//*---------------------------------------------------
//PS010 EXEC PGM=IEBUPDTE,PARM=NEW
//*---------------------------------------------------
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSUT1 DD DSN=B052VAP.CREDIT.VIDYAX,DISP=(,CATLG),
// UNIT=WORK,SPACE=(CYL,(77,20),RLSE)
//SYSIN DD DATA
ADD NAME=MEMB1
/*
//*




But I got error on ADD NAME=MEMB1

Following is the error message:
-----------------------------------
IEB806I STATEMENT SEQUENCE ERROR.
IEB808I TERMINATED THIS MEMBER. IEBUPDTE WILL TRY NEXT MEMBER. IEB818I HIGHEST CONDITION CODE WAS 00000004


Please help me to fix this.
Thanks,
Vidya Bhat
Back to top
View user's profile Send private message
vel2k8

New User


Joined: 10 Jun 2005
Posts: 11
Location: Jacksonville

PostPosted: Fri Jun 10, 2005 5:43 pm
Reply with quote

Hi Vidya,

Please try this code... It works

//IEFBR14 EXEC PGM=IEBUPDTE,PARM=NEW
//SYSPRINT DD SYSOUT=*
//SYSUT2 DD DSN=V705435.VEL.LEARN.PDS,
// DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(45,15,50)),
// DCB=(RECFM=FB,LRECL=80)
//SYSIN DD DATA
./ ADD NAME=VEL
HOW VEL HOW ARE YOU ?
./ ENDUP
/*

Regards
Vel.
Back to top
View user's profile Send private message
vidyasaraswathi

New User


Joined: 10 May 2005
Posts: 72

PostPosted: Fri Jun 10, 2005 6:01 pm
Reply with quote

Hi Vel,
I tried it. But it gave me CONTROL STATEMENT ERROR.

Thanks,
Vidya Bhat
Back to top
View user's profile Send private message
superk

Global Moderator


Joined: 26 Apr 2004
Posts: 4652
Location: Raleigh, NC, USA

PostPosted: Fri Jun 10, 2005 6:17 pm
Reply with quote

Sorry. You do need to add something, like a blank line, to the member. Try this slight change:
Code:

//UPDATE   JOB  ...
//STEP1    EXEC PGM=IEBUPDTE,PARM=NEW
//SYSPRINT DD  SYSOUT=*
//SYSUT2   DD  DSNAME=NEW.PDS,UNIT=disk,DISP=(,CATLG),
//             SPACE=(TRK,(50,,10)),
//             RECFM=FB,LRECL=80
//SYSIN    DD  DATA
./        ADD   NAME=MEMB1
<blank line>
/*
//*
Back to top
View user's profile Send private message
MGIndaco

Active User


Joined: 10 Mar 2005
Posts: 432
Location: Milan, Italy

PostPosted: Fri Jun 10, 2005 6:54 pm
Reply with quote

In this case if you use Idcams no line must be added.
Back to top
View user's profile Send private message
vidyasaraswathi

New User


Joined: 10 May 2005
Posts: 72

PostPosted: Fri Jun 10, 2005 7:10 pm
Reply with quote

Hi Superk,
I tried with blank line also.
But I am getting the following error:
-------------------------------------------
./ ADD NAME=MEMB1

IEB829I DDNAME PARAMETER IS INVALID.

Thanks,
Vidya Bhat
Back to top
View user's profile Send private message
MGIndaco

Active User


Joined: 10 Mar 2005
Posts: 432
Location: Milan, Italy

PostPosted: Fri Jun 10, 2005 7:16 pm
Reply with quote

This is not a error of the ADD command but a error in the parameter of DD... look for the line of error in JES message.
Back to top
View user's profile Send private message
die7nadal

Active User


Joined: 23 Mar 2005
Posts: 156

PostPosted: Fri Jun 10, 2005 9:32 pm
Reply with quote

vidyasaraswathi wrote:
Hi Superk,
I tried with blank line also.
But I am getting the following error:
-------------------------------------------
./ ADD NAME=MEMB1

IEB829I DDNAME PARAMETER IS INVALID.

Thanks,
Vidya Bhat


I am sure u gave the Input Dataset in SYSUT1 DD ,thats why u are getting this message, SYSUT2 should work fine.
Back to top
View user's profile Send private message
vel2k8

New User


Joined: 10 Jun 2005
Posts: 11
Location: Jacksonville

PostPosted: Tue Jun 14, 2005 10:58 am
Reply with quote

Hi Vidhya,

You can give blank line or a line with some message. If you have some message a new member will be created with the data you specified. Otherwise just the PDS will be created. You can give so many ADD statements and the data in the next line..

Even the following code works.
It will Just create a PDS with no member inside.
//IEFBR14 EXEC PGM=IEBUPDTE,PARM=NEW
//SYSPRINT DD SYSOUT=*
//SYSUT2 DD DSN=V705435.VEL.LEARN.PDS,
// DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(45,15,50)),
// DCB=(RECFM=FB,LRECL=80)
//SYSIN DD DATA
./ ADD NAME=VEL
./ ENDUP
/*

Please try and let me know still if you have problem.

Thanks
Vel.
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 How can I add/create a new INIT(initi... TSO/ISPF 2
No new posts Use Copy Utility DB2 7
No new posts How to create a list of SAR jobs with... CA Products 3
No new posts REASON 00D70014 in load utility DB2 6
No new posts ISRSUPC search utility - using high l... TSO/ISPF 2
Search our Forums:

Back to Top