Page 1 of 3

How to copy one PDS to Other PDS of different LRECL

PostPosted: Thu Dec 22, 2011 4:15 pm
by amit_pune
Hi,,
can anybody tell me this-

How to copy one PDS to Other PDS of different LRECL
I want to copy A.PDS (Partition DS with LRECL=80 and 300 members)
And I want to copy all these members in B.PDS which should have 120 as LRECL.

Note: I have to do it through JCL prog only not manually.

I used IEBCOPY but isnt working.

Re: How to copy one PDS to Other PDS of different LRECL

PostPosted: Thu Dec 22, 2011 5:40 pm
by NicC
What did the manual tell you about IEBCOPY?

What other utilities did you think of and look up?

Without looking it up I think IEBGENER could do it and certainly sort could do it - 1 member per execution I think (for both).

Re: How to copy one PDS to Other PDS of different LRECL

PostPosted: Thu Dec 22, 2011 5:42 pm
by Akatsukami
amit_pune wrote:I used IEBCOPY but isnt working.

Too bad, so sad. If you'd shown us the JCL and error messages, we might have been able to help you.

Re: How to copy one PDS to Other PDS of different LRECL

PostPosted: Thu Dec 22, 2011 5:49 pm
by prino
amit_pune wrote:Hi,,
can anybody tell me this-

How to copy one PDS to Other PDS of different LRECL
I want to copy A.PDS (Partition DS with LRECL=80 and 300 members)
And I want to copy all these members in B.PDS which should have 120 as LRECL.

Note: I have to do it through JCL prog only not manually.

I used IEBCOPY but isnt working.

And who set this imbecile requirement? A Image, I presume.

Use ISPF and the LMxxxx services in batch!

Re: How to copy one PDS to Other PDS of different LRECL

PostPosted: Fri Dec 23, 2011 11:12 am
by amit_pune
Hey Frnds,

I want to do this using a prog (JCL) not manually.

Input Parttion DS contains 340 members (LRECL=80) and I want to take a back up of input PDS into output PDS(with Lrecl=120).

How could i go with IEBGENER which supports copy of single file at one time.

Do u meant that I should submit 340 jobs for back up?

Only IEBCOPY ,I know, supports to take a bkup of entire Partitioned DS.
:(

In short , I need an advanced version of IEBCOPY just like wat LMCOPY manuaaly done do.

Herewith JCL m giving you.
//IEBCOPYX JOB (SDR0,CPSC,3,5),'IEBCOPYX',SCHENV=AA00
//STEP2 EXEC PGM=IEBCOPY
//SYSUT1 DD DSN=SB355U.QQ.PDS,DISP=SHR
//SYSUT2 DD DSN=SB355U.FF.PDS,DISP=(MOD,CATLG),
// SPACE=(TRK,(1,1,2)),UNIT=SYSDA,
// DCB=(LRECL=120,BLKSIZE=1200,RECFM=FB,DSORG=PO)
//SYSPRINT DD SYSOUT=*
//*SYSIN DD DSN=SB355U.MYSDR.UTLJCL.TEST(INPUT),DISP=SHR
//SYSIN DD *
COPY INDD=((SYSUT1,R)),OUTDD=SYSUT2
/*
//

Nw you people think and reply please.
Thanks in advance.

Re: How to copy one PDS to Other PDS of different LRECL

PostPosted: Fri Dec 23, 2011 11:35 am
by dick scherrer
Hello and welcome to the forum,

Do u meant that I should submit 340 jobs for back up?

Probably not, but you could use the list of member names and generate 340 EXEC statements. These could invoke a very small PROCedure (i'd use a proc & pend if i went this route) that used the member name as a symbolic parameter on the input and output datasets.

Re: How to copy one PDS to Other PDS of different LRECL

PostPosted: Fri Dec 23, 2011 11:36 am
by amit_pune
If i use above jcl then error in sysprint is as,


COPY INDD=((SYSUT1,R)),OUTDD=SYSUT2
IEB120I SYSUT1 VALIDATION ERROR
IEB1034E RECORD LENGTHS UNEQUAL BETWEEN INDD SYSUT1 (80) AND OUTDD SY
IEB1030I DDNAME SYSUT1 REFERS TO PDS DATA SET ON VOLUME PAX000 NAMED
IEB1030I DDNAME SYSUT2 REFERS TO PDS DATA SET ON VOLUME PAP085 NAMED
IEB166I NO MEMBERS COPIED TO DATA SET REFERENCED BY SYSUT2
IEB151I JOB HAS TERMINATED WITH ERROR(S)
IEB147I END OF JOB - 8 WAS HIGHEST SEVERITY CODE

Re: How to copy one PDS to Other PDS of different LRECL

PostPosted: Fri Dec 23, 2011 11:39 am
by dick scherrer
Hello,

Try doing the copy using your sort product - it should allow the change in lrecl.

Re: How to copy one PDS to Other PDS of different LRECL

PostPosted: Fri Dec 23, 2011 11:49 am
by amit_pune
The error with above jcl is as,

IEBCOPY MESSAGES AND CONTROL S

IEB1135I IEBCOPY FMID HDZ1C10 SERVICE LEVEL UA58514 DATED 20110221 D
RC130131
IEB1035I IEBCOPYX STEP2 00:05:03 FRI 23 DEC 2011 PARM=''

COPY INDD=((SYSUT1,R)),OUTDD=SYSUT2
IEB120I SYSUT1 VALIDATION ERROR
IEB1034E RECORD LENGTHS UNEQUAL BETWEEN INDD SYSUT1 (80) AND OUTDD SY
IEB1030I DDNAME SYSUT1 REFERS TO PDS DATA SET ON VOLUME PAX000 NAMED
IEB1030I DDNAME SYSUT2 REFERS TO PDS DATA SET ON VOLUME PAP085 NAMED
IEB166I NO MEMBERS COPIED TO DATA SET REFERENCED BY SYSUT2
IEB151I JOB HAS TERMINATED WITH ERROR(S)
IEB147I END OF JOB - 8 WAS HIGHEST SEVERITY CODE

Re: How to copy one PDS to Other PDS of different LRECL

PostPosted: Fri Dec 23, 2011 11:57 am
by dick scherrer
Hello,

Why did you NOT use the sort as recommended? :?

Run one member copy using your sort product and post the jcl, control statements, and informational output generated by the run. . .

d