SELECT
SELECT
Summary
- The SELECT statement is used to select the specific members from the input PDS to output for copying.
- The SELECT statement codes with the members to be altered, copied, loaded, or unloaded to an output PDS.
- A SELECT and EXCLUDE statement should not code together in a single copy, unload, or load step.
Syntax -
//SYSIN DD *
[label] SELECT MEMBER=({name1|
(name1,newname1[,R])|
(name1,,R)}
[,{name2|
(name2,newname2[,R])|
(name2,,R)}][,...])
/*
- MEMBER=[(]name1[,...][)] - Specifies members on the input PDS that should include while copying, unloading, or loading to the output data set.
- R - Specifies that the members to be copied or loaded from the input PDS will replace any identically named members on the output PDS.
- newname1,... - Specifies the new name of the name1 and so on.
Practical Example -
Scenario - Copying member (COPY) from one PDS to another.
JCL -
----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
//MATEPKS JOB (123),'MTH',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),
// NOTIFY=&SYSUID
//***************************************************
//* SELECING MEMBER 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
/*
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 - Copies member FIRSTPRG from SYSUT1 to SYSUT2.