Page 1 of 1

different ways to create a pds

PostPosted: Sun Sep 25, 2016 10:40 pm
by ndashore20
how can I create pds using jcl other than iefbr14 utility ?

Re: different ways to create a pds

PostPosted: Sun Sep 25, 2016 11:07 pm
by steve-myers
I can think of several. For example -
//A       EXEC PGM=IEBCOPY
//SYSPRINT DD  SYSOUT=*
//INPUT    DD  -- Another PDS --
//OUTPUT   DD  -- New PDS --
//SYSIN    DD  *
 COPY INDD=INPUT,OUTDD=OUTPUT


//B       EXEC PGM=IEBUPDTE,PARM=NEW
//SYSPRINT DD  SYSOUT=*
//SYSUT2   DD  -- New PDS --
//SYSIN    DD  *
./ ADD NAME=member1
 .. Data for member 1 ..
./ ADD NAME=member2
 .. Data for member 2 ..


//C       EXEC PGM=IEBGENER
//SYSPRINT DD  SYSOUT=*
//SYSUT1   DD  *
 .. Data for member 1 ..
//SYSUT2   DD  DISP=(NEW,CATLG),UNIT=SYSDA,SPACE=(space definition),
//             DSN=DSNAME(MEMBER1)
//SYSIN    DD  DUMMY


Of course, there is always running your program and specifying an output data set like the SYSUT2 DD statement in the IEBGENER example.

In the IEBUPDTE example, be sure to specify a DCB; the IEBUPDTE standard default is not usually considered acceptable.

Re: different ways to create a pds

PostPosted: Sun Sep 25, 2016 11:38 pm
by enrico-sorichetti
there are really two parts in the question posed

1) how to ALLOCATE a PDS/PDSE
answer
batch jcl using the proper constructs od the DD jcl statement
interactively using the TSO allocate command with the proper parms
interactively using ISPF 3.2

2) how to populate it
steve-myers reply provided some alternative ways

Re: different ways to create a pds

PostPosted: Mon Sep 26, 2016 10:18 am
by ndashore20
steve-myers wrote:I can think of several. For example -
//A       EXEC PGM=IEBCOPY
//SYSPRINT DD  SYSOUT=*
//INPUT    DD  -- Another PDS --
//OUTPUT   DD  -- New PDS --
//SYSIN    DD  *
 COPY INDD=INPUT,OUTDD=OUTPUT


//B       EXEC PGM=IEBUPDTE,PARM=NEW
//SYSPRINT DD  SYSOUT=*
//SYSUT2   DD  -- New PDS --
//SYSIN    DD  *
./ ADD NAME=member1
 .. Data for member 1 ..
./ ADD NAME=member2
 .. Data for member 2 ..


//C       EXEC PGM=IEBGENER
//SYSPRINT DD  SYSOUT=*
//SYSUT1   DD  *
 .. Data for member 1 ..
//SYSUT2   DD  DISP=(NEW,CATLG),UNIT=SYSDA,SPACE=(space definition),
//             DSN=DSNAME(MEMBER1)
//SYSIN    DD  DUMMY


Of course, there is always running your program and specifying an output data set like the SYSUT2 DD statement in the IEBGENER example.

In the IEBUPDTE example, be sure to specify a DCB; the IEBUPDTE standard default is not usually considered acceptable.




in IEBUPDTE ,, we are specifying the parm=new ...what exactly it will do ..i m little bit confused with this parameter

Re: different ways to create a pds

PostPosted: Mon Sep 26, 2016 10:27 am
by Aki88
Hello,

Refer: http://www.ibm.com/support/knowledgecen ... /parm3.htm
It gives the description of IEBUPDTE PARM parameters, 'NEW' being one of them. Go through the various pages of the manual shared in the link, it also describes the other utility programs shared by Mr. Myers in the earlier post.