Sites which run PDSMAN usually alias it out, so it looks like you are executing IBM’s IEBCOPY, but you are actually executing CA’s PDSMAN. You can usually work out what you are running by checking the first line in the SYSPRINT output file, which will look like PDSMANr7.52 FASTCOPY FACILITY if you are running PDSMAN,
This example shows how to extend a PDS directory dynamically using PDSMAN. The program name is IEBCOPY, but it is actually executing by PDSMAN
//STEP1 EXEC PGM=IEBCOPY //SYSPRINT DD SYSOUT=* //OUT DD DISP=SHR,DSN=dataset.with.full.directory //SYSIN DD * ALTERDIR OUTDD=OUT,BLOCKS=10 /*
The next example empties all the members out of a PDS
//STEP1 EXEC PGM=PDSM10,PARM='EMPTY'
//PDSMPDS DD DISP=OLD,DSN=test.library
The next example will check on the structure of a PDS, and report on any errors it finds:
//STEP1 EXEC PGM=PDSM13,PARM='VALIDATE'
//PDSMPDS DD DISP=SHR,DSN=faulty.dataset
//PDSMRPT DD SYSOUT=*
Related: CA PDSMAN library Management Utility
You cannot use wildcards to select members to copy between PDS files using IEBCOPY, but you can use wildcards with PDSMAN.
COPY INDD=SYSUT1,OUTDD=SYSUT2
SELECT MEMBER=(DM*)
SELECT M=((+S++D*))
SELECT M=((A*,B*),(+B*,+C*,R))
SELECT MEMBER=(DM*)
It will copy all members starting DM
SELECT M=((+S++D*))
It will copy all members with S in position 2 and D in position 5
SELECT M=((A,B),(+B,+C,R))
It will copy all members starting with A, and rename them so they start with B, and also copy all members with B in position 2, rename them so they have a C there instead, and replace any members that already exist.
This example will scan two libraries, and report on all members which contain the string ‘3590’
//S1 EXEC PGM=PDSM18,PARM='.ALL' //PDSMPDS DD DISP=SHR,DSN=master.schedule.joblib // DD DISP=SHR,DSN=master.schedule.proclib //PDSMRPT DD SYSOUT=*,OUTLIM=100000 //SYSIN DD * OPTION LISTMEM=N SCAN TARGET='3590' /*
Related Posts