Selecting Members for Copy/Unload/Load
Selecting Members for Copy/Unload/Load
IEBCOPY SELECT statement is used to select members from one or more PDS during the copy, load, or unload. The members are searched and copied in the same physical sequence appearing on the input PDS or PDSE.
When using COPYGRP, use SELECT MEMBER name filter pattern masking instead of specifying a full member name. The filter characters asterisk (*) and percent sign (%) provide the member name filtering capability.
Points to note -
- SELECT and EXCLUDE statements can’t be used in the same copy operation.
- Members can be renamed while copying unless the input and output PDS are identical.
- Once a member in a SELECT statement is found in an input PDS, no further search is done for it.
Practical Example -
Scenario - Copying members (COPY) from one PDS to another.
JCL -
----+----1----+----2----+----3----+----4----+----5----+
//MATEPKS JOB (123),'MTH',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),
// NOTIFY=&SYSUID
//***************************************************
//* SELETING MEMBER(S) FROM INPUT PDS DURING COPY
//***************************************************
//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=OLD
//SYSIN DD *
COPY INDD=SYSUT1,OUTDD=SYSUT2
SELECT MEMBER=FIRSTPRG,IDENTDIV,LEVELNUM
/*
Job Status -

Output -

Explaining Example -
- SYSUT1 DD DSN=MATEPK.IEBCOPY.INPPDS - Specifies the input PDS.
- SYSUT2 DD DSN=MATEPK.IEBCOPY.OUTPDS - Specifies the output PDS.
- COPYGRP INDD=SYSUT1,OUTDD=SYSUT2 - Copies members from SYSUT1 to SYSUT2.
- SELECT MEMBER=FIRSTPRG,IDENTDIV,LEVELNUM - Copies member FIRSTPRG,IDENTDIV and LEVELNUM from SYSUT1 to SYSUT2.