VMFPLC2 - Restore VM/CMS Back-Up Tape in MVS

                   

VMFPLC2 is an MVS utility program which processes back-up tapes created by the VMFPLC2 command in the VM/CMS environment. Using VMFPLC2, an OS/390 or z/OS installation can restore VM/CMS files from a back-up tape and load them into partitioned data sets (PDS or PDSE).

VMFPLC2 was initially designed for VM/VSE sites which migrate to MVS and have source code or JCL archived on VM/CMS back-up tapes, which they may have to restore after the end of their migration, when they no longer have access to a VM system. VMFPLC2 can also be used during the course of a VSE/MVS conversion to facilitate the transfer of application source code or JCL to the MVS conversion environment.

VMFPLC2 extracts VM/CMS files from the back-up tape, decompressing the files that are compressed, and writes them to SYSPUNCH as an IEBUPDTE input stream. When a SYSPUNCH DD statement is not present in the JCL, VMFPLC2 writes each VM/CMS file to the DD statement whose name is equal to the file's type. For example, file PAY345 COBOL is written to DDname COBOL. If there is no such DD statement in the JCL, VMFPLC2 allocates one dynamically to SYSOUT=*. In all cases, each file written is preceded by a ./ ADD card to allow the resulting data set to be used as input to IEBUPDTE, PDSUTIL, the PDSLOAD public-domain utility, or any compatible program.

VMFPLC2 produces several reports, including a list of VM/CMS files written out to SYSPUNCH.

Sample VMFPLC2 Execution JCL

Example 1: Restore the VM/CMS back-up tape into a partitioned data set.
 //VMFPLC2 JOB (ACCT#),'Load VM/CMS Tape',
 // NOTIFY=&SYSUID,
 // CLASS=A,MSGCLASS=X
 //JOBLIB   DD DSN=<VMFPLC2 load library>,DISP=SHR
 //*
 //*     Convert VM/CMS Back-up Tape to IEBUPDTE input
 //*
 //VMFPLC2 EXEC PGM=VMFPLC2
 //SYSPRINT DD SYSOUT=*
 //FILELIST DD SYSOUT=*
 //*
 //TAPEIN   DD UNIT=TAPE,VOL=SER=612346,LABEL=(,NL)
 //*
 //SYSPUNCH DD DSN=&&VMFPLC2,DISP=(,PASS),
 // UNIT=SYSDA,SPACE=(TRK,(500,50))
 //*
 //*     Load ASM files into VMFPLC2.ASM
 //*
 //LOAD017 EXEC PGM=IEBUPDTE,PARM=NEW
 //SYSPRINT DD SYSOUT=*
 //*
 //SYSIN    DD DSN=&&VMFPLC2,DISP=(OLD,DELETE)
 //*
 //SYSUT2   DD DSN=VMFPLC2.PDS,DISP=(,CATLG),
 // RECFM=FB,LRECL=80,DSORG=PO,
 // UNIT=SYSDA,SPACE=(TRK,(500,,240)) 
Example 2: Restore VM/CMS files based on file-type into a PDSE.
 //VMFPLC2 JOB (ACCT#),'Restore VM/CMS Files',
 // NOTIFY=&SYSUID,
 // CLASS=A,MSGCLASS=X
 //JOBLIB   DD DSN=<VMFPLC2 load library>,DISP=SHR
 //*
 //*     Restore VM/CMS files based on file type.
 //*
 //VMFPLC2 EXEC PGM=VMFPLC2
 //SYSPRINT DD SYSOUT=*
 //FILELIST DD SYSOUT=*
 //*
 //TAPEIN   DD UNIT=3590,VOL=SER=W00789,LABEL=(,NL)
 //*
 //COBOL    DD DSN=VMFPLC2.PDSE(COBOL),DISP=SHR
 //COPYBOOK DD DSN=VMFPLC2.PDSE(COPYBOOK),DISP=SHR
 //ASSEMBLE DD DSN=VMFPLC2.PDSE(ASSEMBLE),DISP=SHR
 //OBJECT   DD DUMMY
 //LISTING  DD SYSOUT=*
 //