|© 1998-2017 GSF Software LLCr|
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.
Originally, DTSUTIL was 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 still be used to restore ICCF libraries from archive tapes.
DTSUTIL restores ICCF libraries into a container-type, pre-allocated partitioned data set (PDS or PDSE). 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, i.e. members found with the same name in several sub-libraries.
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 4-digit number of the corresponding ICCF library in the range 0001-9999, prefixed with "ICCF". For example, the library-member ICCF0002 consists of an IEBUPDTE input stream containing all of the members of the ICCF library 0002 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 7-character 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 ICCF0001 00.00 2001-02-09 2003-05-27 14:41:00 904 369 71 V612346 ICCF0002 00.00 1987-12-02 2003-05-27 14:41:00 65535 65535 2260 V612346 ICCF0004 00.00 1988-03-08 2003-05-27 14:45:00 65535 41368 391 V612346 ICCF0005 00.00 1988-03-08 2003-05-27 14:46:00 18953 7664 1167 V612346 ICCF0006 00.00 1994-11-17 2003-04-01 14:46:00 9155 4003 26 V612346 ICCF0007 00.00 1994-12-16 2003-01-13 14:46:00 9702 2790 37 V612346 ICCF0008 00.00 1990-03-28 2003-01-29 14:46:00 7699 3898 93 V612346 ICCF0009 00.00 1995-07-27 2003-02-20 14:46:00 3648 1798 66 V612346 ICCF0010 00.00 2001-02-26 2003-04-16 14: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 the directory entry of each individual member.
//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.ICCF0002 //* //LOAD002 EXEC PGM=PDSUTIL,PARM=LOAD //STEPLIB DD DSN=<PDSUTIL load library>,DISP=SHR //SYSPRINT DD SYSOUT=* //* //SYSIN DD DSN=PRISMCS.LOCAL.DTSFILE(ICCF0002),DISP=SHR //* //SYSUT2 DD DSN=PRISMCS.LOCAL.ICCF0002,DISP=(,CATLG), // UNIT=SYSDA,SPACE=(TRK,(500,,240))
GSF Utilities - Restore ICCF Backup Tape Saturday 26 Jun 2004 (04.178) 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 4-digit library number (0001-4095), 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 0004 JOHN 2001-02-27 00 JY990307 0004 DICK 1999-06-17 00 YY96396 0004 JOHN 2001-02-27 00 YY96462 0004 JOHN 2001-02-27 00 YY96462A 0004 JOHN 1999-07-21 00 CIDL327 0005 MIKE 1996-03-26 00 FCTPD327 0005 MIKE 1996-03-28 00 FCTPD42 0005 BILL 1996-04-01 00 FCTP1023 0005 MIKE 1996-10-22 00 FCTP129 0005 MIKE 1997-01-29 00 FCTP423 0005 BILL 1997-04-23 00 FCTP624 0005 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 4-digit numbers that correspond to the libraries in which the member has been found. Members found in only one library are not listed.
ABBRED 0070 0080 ABDETLT 0032 0070 ABD001 0076 0083 0084 ABD01B 0083 0084 ABD01BX 0083 0084
Search key-words: mvs os/390 z/os os390 zos vse z/VSE zVSE dos/vse iccf dtsutil restore backup back-up library libraries member members compressed compression decompress iebupdte pds pdse sserv