Want to copy all the members of a Librarian Master file plus all the member archive levels to a PDS.
Able to copy the current version of the members the dataset but need to copy all archive versions as well.
Can this be done?
Release : 4.4
There is no way to extract Librarian members plus their archive levels to the same PDS or PDSE.
Each archive level has the same name as the current version so the PDS members either get replaced or not replaced (depending on the Replace option specified) by each subsequent level.
To extract an archive version of a Librarian member, you need to run a batch job.
Each archive version will need to be extracted to a separate PDS or PDSE.
Here is a sample job:
//*
//* RUN THE FOLLOWING JCL TO EXTRACT THE MOST CURRENT VERSION PLUS
//* AS MANY ARCHIVE LEVELS AS NEEDED FROM A LIBRARIAN MASTER FILE
//* TO SEPARATE PDS LIBRARIES
//*
//DEL1 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=A
//SYSIN DD *
DELETE your.LIBR.OSJOB
/*
//*
//CURRSTP1 EXEC PGM=AFOLIBR,PARM='NJTA,NRJS'
//OSJOB DD DSN=your.LIBR.OSJOB,DISP=(,CATLG),
// UNIT=3390,SPACE=(CYL,(pp,ss)),VOL=SER=vvvvvv,
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=8000)
//LIST DD SYSOUT=*
//MASTER DD DSN=your.LIBR.PRODMAST,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
-OPT GPO,SKIPERR
-SEL NAME=,EXEC
-END
/*
//CURRSTP2 EXEC PGM=AFOLIBR,PARM='NJTA,NRJS'
//STEPLIB DD DSN=your.LIBR.CALJLINK,DISP=SHR
//OSJOB DD DSN=your.LIBRCURR.LEVEL.PDS,DISP=(,CATLG),
// UNIT=3390,SPACE=(CYL,(pp,ss,dd)),VOL=SER=vvvvvv,
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=8000)
//SYSPRINT DD SYSOUT=*
//MASTER DD DSN=your.LIBR.PRODMAST,DISP=SHR
//SYSIN DD DSN=your.LIBR.OSJOB,DISP=SHR
//*
//*
//* RUN THE FOLLOWING STEPS TO COPY THE ARCHIVE LEVELS FOR MEMBERS
//* ON THE LIBRARIAN MASTER FILE
//* CHANGE -1 TO -N FOR SUBSEQUENT ARCHIVE LEVELS.
//* CHANGE THE PDS NAME AS WELL.
//*
//DEL2 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=A
//SYSIN DD *
DELETE your.LIBR.OSJOB
/*
//*
//ARC1STP1 EXEC PGM=AFOLIBR,PARM='NJTA,NRJS'
//OSJOB DD DSN=your.LIBR.OSJOB,DISP=(,CATLG),
// UNIT=3390,SPACE=(CYL,(pp,ss)),VOL=SER=vvvvvv,
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=8000)
//LIST DD SYSOUT=*
//MASTER DD DSN=your.LIBR.PRODMAST,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
-OPT GPO,SKIPERR
-SEL NAME=,EXEC,ARC=-1
-END
/*
//ARC1STP2 EXEC PGM=AFOLIBR,PARM='NJTA,NRJS'
//STEPLIB DD DSN=your.LIBR.CALJLINK,DISP=SHR
//OSJOB DD DSN=your.LIBRARC.MINUS1.PDS,DISP=(,CATLG),
// UNIT=3390,SPACE=(CYL,(pp,ss,dd)),VOL=SER=vvvvvv,
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=8000)
//SYSPRINT DD SYSOUT=*
//MASTER DD DSN=your.LIBR.PRODMAST,DISP=SHR
//SYSIN DD DSN=your.LIBR.OSJOB,DISP=SHR
//*
//DEL3 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=A
//SYSIN DD *
DELETE your.LIBR.OSJOB
/*
//*
//ARC2STP1 EXEC PGM=AFOLIBR,PARM='NJTA,NRJS'
//OSJOB DD DSN=your.LIBR.OSJOB,DISP=(,CATLG),
// UNIT=3390,SPACE=(CYL,(pp,ss)),VOL=SER=vvvvv,
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=8000)
//LIST DD SYSOUT=*
//MASTER DD DSN=your.LIBR.PRODMAST,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
-OPT GPO,SKIPERR
-SEL NAME=,EXEC,ARC=-2
-END
/*
//ARC2STP2 EXEC PGM=AFOLIBR,PARM='NJTA,NRJS'
//STEPLIB DD DSN=your.LIBR.CALJLINK,DISP=SHR
//OSJOB DD DSN=your.LIBRARC.MINUS2.PDS,DISP=(,CATLG),
// UNIT=3390,SPACE=(CYL,(pp,ss,dd)),VOL=SER=vvvvvv,
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=8000)
//SYSPRINT DD SYSOUT=*
//MASTER DD DSN=your.LIBR.PRODMAST,DISP=SHR
//SYSIN DD DSN=your.LIBR.OSJOB,DISP=SHR
//*
//