How to write PDSMAN JCL the Fantastic Way

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 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 with 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*) will copy all members starting DM

SELECT M=((+S++D*)) will copy all members with S in position 2 and D in position 5

SELECT M=((A,B),(+B,+C,R)) 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' 
//
Advertisements

Author: Srini

Experienced software developer. Skills in Development, Coding, Testing and Debugging. Good Data analytic skills (Data Warehousing and BI). Also skills in Mainframe.