Page 3 of 3

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

PostPosted: Fri Dec 23, 2011 3:59 pm
by Akatsukami
:roll:

This topic was started at 0445 22 December 2011 UTC-6. When I got into my office about 0820, I looked in my sandbox JCL library to see if I had any IEBCOPY JCL, which I did. I made SYSUT1 my control card library (LRECL=80), made SYSUT2 allocate a new PDS with LRECL=120, and submitted the job -- no control. It ran, clean and green, copying every member of the control card library to the new PDS.

I suspect amit_pune has baked the dog in some way that he's too embarassed to admit. His alleged JCL looks inferior, but should run; I'll check it more carefully when I get back to my office in a few hours.

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

PostPosted: Fri Dec 23, 2011 8:23 pm
by MrSpock
When I first saw this topic, I wondered why there was even an issue. Then I tried a small IEBCOPY job to copy some members from an 80-byte PDS to a 120-byte PDS and it failed. Then I thought about a multi-step process: unload using IEBPTPCH, SORT to increase the record lenths to 120, then IEBUPDTE to create the new PDS. Unfortunately, that failed to work as well. So, writing a program to use the ISPF LMMCOPY service does seem to be the best option.

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

PostPosted: Fri Dec 23, 2011 10:35 pm
by enrico-sorichetti
Konnichiwa Akatsukami Sama!
i might have overlooked something but my tests behaved differently

run1
 ****** ***************************** Top of Data ******************************
 000001 //ENRICO1  JOB NOTIFY=&SYSUID,                                         
 000002 //             REGION=0M,                                               
 000003 //             MSGLEVEL=(1,1),CLASS=A,MSGCLASS=X                       
 000004 //*                                                                     
 000005 //CLEANUP EXEC PGM=CLEANUP                                             
 000006 //STEPLIB   DD DISP=SHR,DSN=ENRICO.TEST.LOAD                           
 000007 //* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 000008 //*                                                                     
 000009 //IEB     EXEC PGM=IEBCOPY                                             
 000010 //SYSUT1    DD DISP=SHR,DSN=ENRICO.TEST.JCL                             
 000011 //SYSUT2    DD DISP=(NEW,CATLG),                                       
 000012 //             DSN=ENRICO.TEST.JCL2,                                   
 000013 //             SPACE=(CYL,(8,8,8)),                                     
 000014 //             DCB=(RECFM=FB,LRECL=80)                                 
 000015 //SYSPRINT  DD SYSOUT=*                                                 
 000016 //SYSIN     DD DUMMY                                                   
 ****** **************************** Bottom of Data ****************************


everything worked as per SYSPRINT DATA
********************************* TOP OF DATA **********************************
                                         IEBCOPY MESSAGES AND CONTROL STATEMENTS
IEB1135I IEBCOPY  FMID HDZ1A10  SERVICE LEVEL NONE     DATED 20080414 DFP    3,3
IEB1035I ENRICO1   IEB      18:50:12 FRI 23 DEC 2011 PARM=''                   
IEB      COPY      INDD=SYSUT1,OUTDD=SYSUT2         GENERATED STATEMENT         
IEB1013I COPYING FROM PDS   INDD=SYSUT1   VOL=STOR04 DSN=ENRICO.TEST.JCL       
IEB1014I           TO PDS  OUTDD=SYSUT2   VOL=STOR01 DSN=ENRICO.TEST.JCL2       
IEB167I FOLLOWING MEMBER(S) COPIED FROM INPUT DATA SET REFERENCED BY SYSUT1     
IEB154I A        HAS BEEN SUCCESSFULLY COPIED                                   
IEB154I ALLOCAT  HAS BEEN SUCCESSFULLY COPIED                                   
IEB154I ALLOCAT2 HAS BEEN SUCCESSFULLY COPIED                                   
IEB154I ALLOCAT3 HAS BEEN SUCCESSFULLY COPIED                                   
IEB154I EXECIOW  HAS BEEN SUCCESSFULLY COPIED                                   
IEB154I EXECIO01 HAS BEEN SUCCESSFULLY COPIED                                   
IEB154I EZACFSM1 HAS BEEN SUCCESSFULLY COPIED                                   
IEB154I GDGTEST1 HAS BEEN SUCCESSFULLY COPIED                                   
IEB154I ICGCSI1  HAS BEEN SUCCESSFULLY COPIED                                   
IEB154I IDCAMS1  HAS BEEN SUCCESSFULLY COPIED                                   
IEB154I IEBGENER HAS BEEN SUCCESSFULLY COPIED                                   
IEB154I IEBGENR2 HAS BEEN SUCCESSFULLY COPIED                                   
IEB154I IEBGENR3 HAS BEEN SUCCESSFULLY COPIED                                   
IEB154I IEBGENR4 HAS BEEN SUCCESSFULLY COPIED                                   
IEB154I IKJT01   HAS BEEN SUCCESSFULLY COPIED                                   
IEB154I IPOUPDTE HAS BEEN SUCCESSFULLY COPIED                                   
IEB154I IRXJCL   HAS BEEN SUCCESSFULLY COPIED                                   
IEB154I ISFT01   HAS BEEN SUCCESSFULLY COPIED                                   
IEB154I ISFT02   HAS BEEN SUCCESSFULLY COPIED                                   
IEB154I ISPT01   HAS BEEN SUCCESSFULLY COPIED                                   
IEB154I LISTIDR  HAS BEEN SUCCESSFULLY COPIED                                   
IEB154I LOADXMI  HAS BEEN SUCCESSFULLY COPIED                                   
IEB154I LOADXMI2 HAS BEEN SUCCESSFULLY COPIED                                   
IEB154I LOADXMI3 HAS BEEN SUCCESSFULLY COPIED                                   
IEB154I OVERLAY  HAS BEEN SUCCESSFULLY COPIED                                   
IEB154I PDSAVE   HAS BEEN SUCCESSFULLY COPIED                                   
IEB154I RXSTREAM HAS BEEN SUCCESSFULLY COPIED                                   
IEB154I SRCHFOR  HAS BEEN SUCCESSFULLY COPIED                                   
IEB154I STREAMW  HAS BEEN SUCCESSFULLY COPIED                                   
IEB154I SYSDSN1  HAS BEEN SUCCESSFULLY COPIED                                   
IEB154I YES      HAS BEEN SUCCESSFULLY COPIED                                   
IEB154I Z        HAS BEEN SUCCESSFULLY COPIED                                   
IEB154I ZDSNAMES HAS BEEN SUCCESSFULLY COPIED                                   
IEB154I ZPROCS   HAS BEEN SUCCESSFULLY COPIED                                   
IEB154I ZZ       HAS BEEN SUCCESSFULLY COPIED                                   
IEB1098I 35 OF 35 MEMBERS COPIED FROM INPUT DATA SET REFERENCED BY SYSUT1       
IEB144I THERE ARE 117 UNUSED TRACKS IN OUTPUT DATA SET REFERENCED BY SYSUT2     
IEB149I THERE ARE 2 UNUSED DIRECTORY BLOCKS IN OUTPUT DIRECTORY                 
IEB147I END OF JOB - 0 WAS HIGHEST SEVERITY CODE                               
******************************** BOTTOM OF DATA ********************************


the second run changing the output lrecl to 120 just blowed in my face :D

********************************* TOP OF DATA **********************************
                         J E S 2  J O B  L O G  --  S Y S T E M  S Y S 1  --  N
                                                                               
18.51.15 JOB05541 ---- FRIDAY,    23 DEC 2011 ----                             
18.51.15 JOB05541  IRR010I  USERID ENRICO   IS ASSIGNED TO THIS JOB.           
18.51.15 JOB05541  ICH70001I ENRICO   LAST ACCESS AT 18:50:12 ON FRIDAY, DECEMBE
18.51.15 JOB05541  $HASP373 ENRICO1  STARTED - INIT 1    - CLASS A - SYS SYS1   
18.51.15 JOB05541  IEF403I ENRICO1 - STARTED - TIME=18.51.15                   
18.51.15 JOB05541  +CLEANUP - ENRICO.TEST.JCL2 deleted (STOR01)                 
18.51.15 JOB05541  IEF404I ENRICO1 - ENDED - TIME=18.51.15                     
18.51.15 JOB05541  $HASP395 ENRICO1  ENDED                                     
------ JES2 JOB STATISTICS ------                                               
  23 DEC 2011 JOB EXECUTION DATE                                               
           16 CARDS READ                                                       
           74 SYSOUT PRINT RECORDS                                             
            0 SYSOUT PUNCH RECORDS                                             
            4 SYSOUT SPOOL KBYTES                                               
         0.00 MINUTES EXECUTION TIME                                           
        1 //ENRICO1  JOB NOTIFY=&SYSUID,                                       
          //             REGION=0M,                                         
          //             MSGLEVEL=(1,1),CLASS=A,MSGCLASS=X                     
          //*                                                                   
          IEFC653I SUBSTITUTION JCL - NOTIFY=ENRICO,REGION=0M,MSGLEVEL=(1,1),CLA
        2 //CLEANUP EXEC PGM=CLEANUP                                           
        3 //STEPLIB   DD DISP=SHR,DSN=ENRICO.TEST.LOAD                         
          //* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          //*                                                                   
        4 //IEB     EXEC PGM=IEBCOPY                                           
        5 //SYSUT1    DD DISP=SHR,DSN=ENRICO.TEST.JCL                           
        6 //SYSUT2    DD DISP=(NEW,CATLG),                                     
          //             DSN=ENRICO.TEST.JCL2,                                 
          //             SPACE=(CYL,(8,8,8)),                                   
          //             DCB=(RECFM=FB,LRECL=120)                               
        7 //SYSPRINT  DD SYSOUT=*                                               
        8 //SYSIN     DD DUMMY                                                 
ICH70001I ENRICO   LAST ACCESS AT 18:50:12 ON FRIDAY, DECEMBER 23, 2011         
IEF236I ALLOC. FOR ENRICO1 CLEANUP                                             
IEF237I 0AB4 ALLOCATED TO STEPLIB                                               
IEF237I 0AB1 ALLOCATED TO $CLEANUP                                             
IEF285I   ENRICO.TEST.JCL2                             UNCATALOGED           
IEF285I   VOL SER NOS= STOR01.                                                 
IEF285I   ENRICO.TEST.JCL2                             DELETED                 
IEF285I   VOL SER NOS= STOR01.                                                 
CLEANUP - ENRICO.TEST.JCL2 deleted (STOR01)                                     
IEF142I ENRICO1 CLEANUP - STEP WAS EXECUTED - COND CODE 0000                   
IEF285I   ENRICO.TEST.LOAD                             KEPT                     
IEF285I   VOL SER NOS= STOR04.                                                 
IEF373I STEP/CLEANUP /START 2011357.1851                                       
IEF374I STEP/CLEANUP /STOP  2011357.1851 CPU    0MIN 00.06SEC SRB    0MIN 00.00S
IEF236I ALLOC. FOR ENRICO1 IEB                                                 
IEF237I 0AB4 ALLOCATED TO SYSUT1                                               
IGD100I 0AB3 ALLOCATED TO DDNAME SYSUT2   DATACLAS (        )                   
IEF237I JES2 ALLOCATED TO SYSPRINT                                             
IEF237I DMY  ALLOCATED TO SYSIN                                                 
IEF142I ENRICO1 IEB - STEP WAS EXECUTED - COND CODE 0008                       
IEF285I   ENRICO.TEST.JCL                              KEPT                     
IEF285I   VOL SER NOS= STOR04.                                                 
IEF285I   ENRICO.TEST.JCL2                             CATALOGED               
IEF285I   VOL SER NOS= STOR03.                                                 
IEF285I   ENRICO.ENRICO1.JOB05541.D0000101.?           SYSOUT                   
IEF373I STEP/IEB     /START 2011357.1851                                       
IEF374I STEP/IEB     /STOP  2011357.1851 CPU    0MIN 00.05SEC SRB    0MIN 00.01S
IEF375I  JOB/ENRICO1 /START 2011357.1851                                       
IEF376I  JOB/ENRICO1 /STOP  2011357.1851 CPU    0MIN 00.11SEC SRB    0MIN 00.01S
                                         IEBCOPY MESSAGES AND CONTROL STATEMENTS
IEB1135I IEBCOPY  FMID HDZ1A10  SERVICE LEVEL NONE     DATED 20080414 DFP    3,3
IEB1035I ENRICO1   IEB      18:51:15 FRI 23 DEC 2011 PARM=''                   
IEB      COPY      INDD=SYSUT1,OUTDD=SYSUT2         GENERATED STATEMENT         
IEB120I SYSUT1   VALIDATION ERROR                                               
IEB1034E RECORD LENGTHS UNEQUAL BETWEEN INDD SYSUT1   (80) AND OUTDD SYSUT2   (1
IEB1030I DDNAME SYSUT1   REFERS TO PDS  DATA SET ON VOLUME STOR04 NAMED ENRICO.T
IEB1030I DDNAME SYSUT2   REFERS TO PDS  DATA SET ON VOLUME STOR03 NAMED ENRICO.T
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                               
******************************** BOTTOM OF DATA ********************************

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

PostPosted: Fri Dec 23, 2011 11:20 pm
by NicC
You can do it in one execution of IEBGENER. You need to generate a MEMBER record for each member and specify MAXFLDS, MAXLITS which would be the same for each member.

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

PostPosted: Mon Dec 26, 2011 10:42 am
by amit_pune
Akatsukami wrote:I suspect amit_pune has baked the dog in some way that he's too embarassed to admit. His alleged JCL looks inferior, but should run; I'll check it more


Hi

I have always clear and good intensions.
It was a sensitive issue (a subject I raised) for me and that's why I asked a help from all associated experts.
And i dont know how your JCL executed with diff. LRECL in IEBCOPY.

Thanks!

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

PostPosted: Mon Dec 26, 2011 10:45 am
by amit_pune
Thanks MrSpock and NicC and all those who shared their solutions and thoughts for this topic .

I close this ticket here.

Thx a lot.

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

PostPosted: Mon Dec 26, 2011 10:50 am
by dick scherrer
Hello,

You're welcome - good to hear it is working :)

And i dont know how your JCL executed with diff. LRECL in IEBCOPY.
It may be worth a bit of your time to try to determine why the difference. . .

d

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

PostPosted: Wed Dec 28, 2011 11:31 am
by Nik22Dec
Hi,

It seems that the LRECL & the BLKSIZE of the input & output PDSs are not matching. Try looking at the input PDS's properties & then, replicate them in the job. You can also try running the below given JCL with the output PDS already created manually to understand where you are going wrong.

//STEP1 EXEC PGM=IEBCOPY
//SYSUT1 DD DSN=*Input PDS*,DISP=SHR
//SYSUT2 DD DSN=*Output PDS*,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
COPY INDD=SYSUT1,OUTDD=SYSUT2
/*
//

Tanks & Regards,
Nikhil

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

PostPosted: Wed Dec 28, 2011 11:43 am
by dick scherrer
Hello,

It seems that the LRECL & the BLKSIZE of the input & output PDSs are not matching.
Yes, this has been known since the beginning of the topic.

The question for some of us is why it works on some systems and not on others. . .

Your reply does not appear to address this. . .