Copying Data Sets


IEBCOPY COPY statement is used to copy a PDS from one to another (copy can be full or partial). If the input and output PDS are different, the new PDS should be on the same volume.

If the input and output PDS are the same, IEBCOPY assumes the request is for compressing data sets. Members are copied in the same physical order as how they exist in the input PDS.

Practical Example -


Scenario - Copy from one PDS to another resides on different volume.

JCL -

----+----1----+----2----+----3----+----4----+----5----+
//MATEPKC  JOB (123),'MTH',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),
//             NOTIFY=&SYSUID
//****************************************************************
//* TO COPY PDS DATA SET ANOTHER PDS DATA SET ON DIFFERENT VOLUME
//****************************************************************
//STEP10   EXEC PGM=IEBCOPY
//SYSPRINT DD SYSOUT=*
//SYSOUT   DD SYSOUT=*
//SYSDUMP  DD SYSOUT=*
//SYSUT1   DD DSN=MATEPK.IEBCOPY.INPPDS,DISP=SHR
//SYSUT2   DD DSN=MATEPK.IEBCOPY.OUTPDS,
//            DISP=(NEW,CATLG,DELETE),
//            SPACE=(TRK,(10,10,10),RLSE),
//            UNIT=3390,VOL=SER=DEVHD4,
//            DCB=(DSORG=PO,RECFM=FB,LRECL=80,BLKSIZE=800)
//SYSIN    DD *
     COPY INDD=SYSUT1,OUTDD=SYSUT2
/*

Job Status -

COPY Datasets Job Status

Output -

COPY Datasets Output

Explaining Example -

  • SYSUT1 DD DSN=MATEPK.IEBCOPY.INPPDS - Specifies the input PDS and resides on the volume STRVL2.
  • SYSUT2 DD DSN=MATEPK.IEBCOPY.OUTPDS,.. - Specifies the output new PDS and creating on the volume DEVHD4.
  • COPY INDD=SYSUT1,OUTDD=SYSUT2 - Copies all members from SYSUT1 to SYSUT2. Both input and output PDS are on different volumes.