| [Home] [Products] [Support] [Documents] [Partners] [Contact Us] [Search] | © 1998-2008 Gilbert Saint-Flour |
DTSUTIL is an MVS utility program to restore ICCF back-up tapes created in VSE. Using DTSUTIL, an OS/390 or z/OS installation can restore libraries and members from an ICCF back-up tape and load them into partitioned data sets, PDS or PDSE.
DTSUTIL is designed for VSE sites which migrate to MVS and have source code or JCL archived on ICCF back-up tapes. DTSUTIL can be used during the course of the VSE/MVS conversion to facilitate the transfer of VSE application source to the MVS conversion environment. After the end of the migration, when access to the VSE system is no longer available, DTSUTIL can be used to restore ICCF libraries from archive tapes.
DTSUTIL restores ICCF libraries into a container-type, pre-allocated partitioned data set. DTSUTIL stores each ICCF library into a library-member of the container PDS as an IEBUPDTE input stream. During this process, ICCF members in compressed format are decompressed. Library-members created in the container PDS can then be loaded into partitioned data sets using IEBUPDTE or an equivalent utility such as PDSUTIL or PDSLOAD.
DTSUTIL produces several reports, including a cross-reference of duplicate members.
The DTSUTIL Utility runs as a batch job step in the MVS environment. The PARM field is optional; when specified, it must contain a 7-character identifier which DTSUTIL stores into the User-ID field of each library-member's directory entry, which contains statistics in ISPF format. This may be used, for example, to show the tape serial number in the directory entries, as shown in the example below.
DTSUTIL uses the following DD statements:
ICCF writes each ICCF library into a library-member of the SYSUT2 output PDS as an IEBUPDTE input stream. The name of the library-member is the 3-digit number of the corresponding ICCF library in the range 001-255, prefixed with "ICCF". For example, the library-member ICCF002 consists of an IEBUPDTE input stream containing all of the members of the ICCF library 002 found on the tape.
Specifying OPTCD=R on the SYSUT2 DD resets the output PDS to empty before loading library-members. Specifying OPTCD=L writes the library-members in ISPF PACK format to conserve disk space. Both options can be combined by specifying OPTCD=RL. If OPTCD=L is specified, the container PDS's library-members can not be used as input to IEBUPDTE or PDSLOAD; instead, PDSUTIL or STARTOOL must be used.
Each library-member's directory entry in the output PDS contains ISPF statistics. The creation and the last-modified dates are set to the date of the oldest and most recent ICCF members, respectively. The current lines (Size) is the number of records in the library-member. The Init field is the number of packed records, if OPTCD=L was specified on the SYSUT2 DD statement. Mod is the number of ICCF members, i.e. the number of ./ ADD cards it contains. The User ID of each library-member is the User ID passed in the PARM field of the EXEC statement, when specified, or defaults to the job's USER name.
Directory of a container PDS created with PARM='V612346' and OPTCD=L.
Member VV.MM Created Last-Mod HH.MM.SS Size Init Mod UID ICCF001 00.00 2001/02/09 2003/05/27 10.41.00 904 369 71 V612346 ICCF002 00.00 1987/12/02 2003/05/27 10.41.00 65535 65535 2260 V612346 ICCF004 00.00 1988/03/08 2003/05/27 10.45.00 65535 41368 391 V612346 ICCF005 00.00 1988/03/08 2003/05/27 10.46.00 18953 7664 1167 V612346 ICCF006 00.00 1994/11/17 2003/04/01 10.46.00 9155 4003 26 V612346 ICCF007 00.00 1994/12/16 2003/01/13 10.46.00 9702 2790 37 V612346 ICCF008 00.00 1990/03/28 2003/01/29 10.46.00 7699 3898 93 V612346 ICCF009 00.00 1995/07/27 2003/02/20 10.46.00 3648 1798 66 V612346 ICCF010 00.00 2001/02/26 2003/04/16 10.46.00 5871 2432 153 V612346
In each library-member, IEBUPDTE ./ ADD cards for individual ICCF members contain ISPF statistics compatible with PDSLOAD (a public-domain utility), STARTOOL (a Serena product), and PDSUTIL (a GSF Software utility). The creation and last-modification dates and user-ID for each member are set to the date and user-ID in the corresponding ICCF directory entry. If IEBUPDTE is used to load a SYSUT2 member into a PDS, statistics are ignored. If PDSLOAD, PDSUTIL or STARTOOL is used instead, then ISPF statistics are stored in each individual member's directory entry.
//ICCFTAPE JOB (ACCT#),'Load ICCF Tape', // NOTIFY=&SYSUID, // CLASS=A,MSGCLASS=X //* //* Restore ICCF Back-up Tape into the DTSFILE Container PDS //* //DTSUTIL EXEC PGM=DTSUTIL,PARM=V612346 //STEPLIB DD DSN=<DTSUTIL load library>,DISP=SHR //SYSPRINT DD SYSOUT=* Statistics //MEMBERS DD SYSOUT=* List of all members //DUPLICAT DD SYSOUT=* List of duplicate members //* //TAPEIN DD DSN=DTSBKUP,UNIT=3490,VOL=SER=612346 //* //SYSUT2 DD DSN=PRISMCS.LOCAL.DTSFILE,DISP=(,CATLG), // UNIT=SYSDA,SPACE=(TRK,(2500,,40)) //* //* Load Library 002 into PRISMCS.LOCAL.ICCF002 //* //LOAD002 EXEC PGM=PDSUTIL,PARM=LOAD //STEPLIB DD DSN=<PDSUTIL load library>,DISP=SHR //SYSPRINT DD SYSOUT=* //* //SYSIN DD DSN=PRISMCS.LOCAL.DTSFILE(ICCF002),DISP=SHR //* //SYSUT2 DD DSN=PRISMCS.LOCAL.ICCF002,DISP=(,CATLG), // UNIT=SYSDA,SPACE=(TRK,(500,,240))
PRISM-CS - CREATE PDS FROM ICCF BACKUP TAPE Thursday 26 Jun 2003 (03.177) 18:30
DDNAME(TAPEIN) IS ALLOCATED TO DSNAME=VSE.ICCF.BACKUP,VOL=3490=612346
DDNAME(SYSUT2) IS ALLOCATED TO DSNAME=PRISMCS.LOCAL.DTSFILE,VOL=3390=PRIM14
LIBRARY MEMBERS LINES OLDEST NEWEST
001 71 1409 1995-06-26 2001-12-04
002 257 11386 1995-03-13 2000-05-17
041 4 180 1999-05-24 2001-02-27
059 286 47986 1995-08-22 1999-06-24
112 31 1137 1997-10-21 1998-06-02
224 48 5208 1998-02-16 1998-06-04
TOTAL 697 67306 1995-03-13 2001-12-04
The MEMBERS data set contains one record for each ICCF member found on the tape, in ascending sequence of library numbers. Each record contains the member name in pos 1, followed by the 3-digit library number (001-999), the 4-character ICCF user-id, the YYYY-MM-DD date of the last update, and the content of the 1-byte directory entry's flag byte in hexadecimal format (00-FF).
YY96310 004 JOHN 2001-02-27 00 JY990307 004 DICK 1999-06-17 00 YY96396 004 JOHN 2001-02-27 00 YY96462 004 JOHN 2001-02-27 00 YY96462A 004 JOHN 1999-07-21 00 CIDL327 005 MIKE 1996-03-26 00 FCTPD327 005 MIKE 1996-03-28 00 FCTPD42 005 BILL 1996-04-01 00 FCTP1023 005 MIKE 1996-10-22 00 FCTP129 005 MIKE 1997-01-29 00 FCTP423 005 BILL 1997-04-23 00 FCTP624 005 MIKE 1996-06-23 00
The DUPLICAT data set contains one record per ICCF member found in more than one library. The name of the member starts in pos 1 of the record and is followed by a list of 3-digit numbers that correspond to the libraries in which the member has been found. Members found in only one library are not listed.
ABBRED 070 080 ABDETLT 032 070 ABD001 076 083 084 ABD01B 083 084 ABD01BX 083 084