|© 1998-2017 GSF Software LLC|
OLLX6100 is an MVS utility program which processes VOLLIE back-up tapes created in VSE. Using OLLX6100, an OS/390 or z/OS installation can restore libraries and members from a VOLLIE back-up tape and load them into partitioned data sets (PDS or PDSE).
OLLX6100 was initially designed for VSE sites which migrate to MVS and have source code or JCL archived on VOLLIE back-up tapes, which they may have to restore after the end of their migration, when they no longer have access to a VSE system. OLLX6100 can also be used during the course of a VSE/MVS conversion to facilitate the transfer of VSE application source to the MVS conversion environment.
OLLX6100 restores VOLLIE libraries into a container-type, pre-allocated partitioned data set. Each VOLLIE library becomes an IEBUPDTE input stream and is stored into a separate member of the container PDS, called a library-member. The contents of each library-member can then be loaded into individual partitioned data sets using IEBUPDTE, or a functionally-equivalent utility such as PDSLOAD, PDSUTIL or Startool.
The name of each library-member in the container PDS is the 3-character OPIDENT of the corresponding library's owner, such as JOE or BOB. When the OPIDENT starts with a numeric digit, the member name is preceded with a # sign; for example, the member name for OPIDENT 050 is #050. When the OPIDENT contains special characters, the member name consists of a # sign followed with the hexadecimal representation of the OPIDENT; for example, the member names for OPIDENTs &&& and %%% are #505050 and #6C6C6C, respectively.
The OLLX6100 Utility runs as a batch job step in the MVS environment. The PARM field is optional and may contain a 7-char identifier which is stored in the User-ID field of the directory entry of each library-member in the container PDS. This may be used, for example, to show the tape serial number in the directory entries, as shown in the example below.
OLLX6100 uses the following DD statements:
VOLLIE writes all of the members belonging to an OPIDENT into a library-member of the output SYSUT2 PDS as an IEBUPDTE input stream. The name of the library-member is equal to the corresponding OPIDENT, except when OPIDENT=&&& or OPIDENT=%%%, in which case the member names are #505050 and #6C6C6C. Specifying OPTCD=R on the SYSUT2 DD resets the output PDS to empty before writing library-members into it. Specifying OPTCD=L writes the library-members in ISPF PACK format. Both options can be combined by specifying OPTCD=RL.
Each library-member's directory entries contains ISPF statistics. The creation and the last-modified dates are set to the date of the oldest and most recent members, respectively. The current lines (Size) is the total number of records in the library-member. The Init field is the number of packed records when OPTCD=L was specified on the SYSUT2 DD. Mod is the number of members, i.e. the number of ./ ADD cards it contains. The User ID is the User ID passed in the PARM field of the EXEC statement, if specified; otherwise, it is the name of the job's owner.
Member VV.MM Created Last-Mod HH.MM.SS Size Init Mod UID #505050 00.00 2001/02/09 2003/05/27 10.41.00 904 369 71 V612346 BOB 00.00 1988/03/08 2003/05/27 10.46.00 18953 7664 1167 V612346 JOE 00.00 1988/03/08 2003/05/27 10.45.00 65535 41368 391 V612346 SUE 00.00 1987/12/02 2003/05/27 10.41.00 65535 65535 2260 V612346
Inside library-members, IEBUPDTE ./ ADD cards for individual VOLLIE members contain ISPF statistics in PDSLOAD format (a public-domain utility). If IEBUPDTE is used to load a SYSUT2 member into a PDS, then statistics are ignored. If PDSLOAD, PDSUTIL or STARTOOL is used, then ISPF statistics are stored in each individual member's directory entry.
Restore the VOLLIE back-up tape into a container PDS, then load VOLLIE members for OPIDENT &&& into a user PDS.
//OLLX6100 JOB (ACCT#),'Load VOLLIE Tape', // NOTIFY=&SYSUID, // CLASS=A,MSGCLASS=X //JOBLIB DD DSN=<OLLX6100 load library>,DISP=SHR // DD DSN=<PDSLOAD load library>,DISP=SHR //* //* Load VOLLIE Back-up Tape into a container PDS //* //OLLX6100 EXEC PGM=OLLX6100,PARM=V612346 //SYSPRINT DD SYSOUT=* //MEMBERS DD SYSOUT=* //* //TAPEIN DD DSN=VSE.VOLLIE.BACKUP, // UNIT=3490,VOL=SER=612346 //* //SYSUT2 DD DSN=VOLLIE.CONTAINR,DISP=(,CATLG), // UNIT=SYSDA,SPACE=(TRK,(2500,,40)) //* //* Load Library &&& into the VOLLIE.#505050 PDS //* //LOAD017 EXEC PGM=PDSLOAD //SYSPRINT DD SYSOUT=* //* //SYSUT1 DD DSN=VOLLIE.CONTAINR(#505050),DISP=SHR //* //SYSUT2 DD DSN=VOLLIE.#505050,DISP=(,CATLG), // UNIT=SYSDA,SPACE=(TRK,(500,,240))
PRISM-CS - CREATE PDS FROM VOLLIE BACKUP TAPE Monday 16 July 2012 (03.177) 18:30 18:30:34.24 PARM SPECIFIED FOR THIS RUN: V612346 DDNAME(TAPEIN) IS ALLOCATED TO DSNAME=VSE.VOLLIE.BACKUP,VOL=3490=612346 18:30:34.74 BACKUP TAPE CREATED ON 2003-05-19 AT 20.09 DDNAME(SYSUT2) IS ALLOCATED TO DSNAME=VOLLIE.CONTAINR,VOL=3390=PRIM14 OPIDENT MEMBERS LINES OLDEST NEWEST #505050 71 1409 1995-06-26 2001-12-04 BOB 257 11386 1995-03-13 2002-05-17 JOE 4 180 1999-05-24 2001-02-27 SUE 286 47986 1995-08-22 1999-06-24 TOTAL 618 60961 1995-03-13 2002-05-17
1 1 &&& MODIFY 00.G 96 2 1 BOB A THIS IS A COPY OF ASISYSP ...± 884 3 2 JOE APITEST 990033 COPY OF APIWCUW ..c¢ 1238 4 2 JOE ASISYSP THIS IS A COPY OF ASISYSP ..c¢ 866 5 3 SUE XYZNOTES ...± 311