Back To LeighWeb Mainframe Utilities Page
View the documentation associated with this module
/**********************************************************************
/* UTILITY: UNARC *
/* AUTHOR: DAVID LEIGH *
/* FUNCTION: CREATE A BATCH JOB FOR UNARCHIVING (OR DELETING) *
/* CURRENTLY ARCHIVED DATASETS. *
/**********************************************************************
PROC 0 HELP
/*** CHECK THE DEBUG SWITCH ***/
ISPEXEC VGET DBGSWTCH PROFILE
IF &DBGSWTCH = ON THEN +
CONTROL MSG LIST CONLIST SYMLIST NOFLUSH NOPROMPT ASIS
ELSE +
CONTROL NOMSG NOLIST NOFLUSH NOPROMPT ASIS
/**********************************************************************
/* TELL THE USER WHAT'S HAPPENING *
/**********************************************************************
SET ZEDLMSG = &STR(*** FINDING ARCHIVE DATASETS ***)
ISPEXEC CONTROL DISPLAY LOCK
ISPEXEC DISPLAY MSG(UTLZ000W)
/**********************************************************************
/* GET THE ARCHIVE DATASET NAMES *
/**********************************************************************
CONTROL MSG
SET SYSOUTTRAP = 10000
LISTCAT VOLUME
SET SYSOUTTRAP = 0
SET A = &SYSOUTLINE
CONTROL NOMSG
/**********************************************************************
/* LOAD A TABLE OF THE ARCHIVE DATASETS *
/**********************************************************************
ISPEXEC TBCREATE TEMPTABL NOWRITE REPLACE KEYS() NAMES(DATASET)
DO &B = 1 TO &A
SET SYSDVAL = &&SYSOUTLINE&B
READDVAL LINE
SELECT
WHEN (&SYSINDEX(&STR(&SYSUID),&STR(&LINE))=1) DO
IF &NUMV > 0 THEN +
DO
DO &C = 1 TO &NUMD
SET DATASET = &&DSN&C
SET DATASET = &DATASET
SET VOLUME =
DO &D = 1 TO &NUMV
SET XVOL = &&VOL&D
SET VOLUME = &STR(&VOLUME &XVOL)
END
IF &SYSINDEX(&STR(ARCIVE),&STR(&VOLUME)) > 0 +
THEN ISPEXEC TBADD TEMPTABL
END
SET NUMV = 0
SET NUMD = 0
END
SET NUMD = &NUMD + 1
SET DSN&NUMD = &LINE
END
WHEN (&STR(&LINE) = &STR( --VOLUMES--))
WHEN (&STR(&LINE) = &STR(LISTCAT VOLUME))
OTHERWISE DO
SET NUMV = &NUMV + 1
SET VOL&NUMV = &LINE
END
END
END
/**********************************************************************
/* TELL THE USER WHAT'S HAPPENING *
/**********************************************************************
SET ZEDLMSG = &STR(*** CREATING THE UNARCHIVE JCL ***)
ISPEXEC CONTROL DISPLAY LOCK
ISPEXEC DISPLAY MSG(UTLZ000W)
/**********************************************************************
/* CREATE THE UNARCHIVE JCL *
/**********************************************************************
SET TEMPJCL = &STR(&SYSUID..TEMP.UNARC.JCL)
DELETE '&TEMPJCL'
FREE DDNAME(ISPFILE)
ALLOCATE DDNAME(ISPFILE) DSN('&TEMPJCL') +
NEW CATALOG +
UNIT(SYSDA) VOLUME(WRK$$$) +
SPACE(1,1) TRACKS RELEASE +
RECFM(F B) LRECL(80) BLKSIZE(23440) DSORG(PS)
ISPEXEC FTOPEN
ISPEXEC FTINCL UNARC
SET SAVECC = &LASTCC
ISPEXEC FTCLOSE
FREE DDNAME(ISPFILE)
IF &SAVECC > 0 THEN +
DO
ISPEXEC VGET ZERRLM
SET ZEDSMSG = &STR(JCL CREATION ERROR)
SET ZEDLMSG = &STR(&ZERRLM)
ISPEXEC SETMSG MSG(UTLZ001)
END
ELSE +
DO
SET ZEDLMSG = &STR(*** NOTE: YOU MUST SUBMIT THIS +
JCL YOURSELF ***)
ISPEXEC SETMSG MSG(UTLZ000W)
ISPEXEC EDIT DATASET('&TEMPJCL')
END
ISPEXEC TBEND TEMPTABL
EXIT
/**********************************************************************
/* DISPLAY ANY "HELP" WHICH IS AVAILABLE FOR THIS UTILITY *
/**********************************************************************
HELPSEC: +
ISPEXEC SELECT PGM(ISPTUTOR) PARM(HELPSHEL)
SET ZEDLMSG = &STR(*** HELP DISPLAYED FOR UNARC UTILITY +
*** NO PROCESSING PERFORMED ***)
ISPEXEC SETMSG MSG(UTLZ000)
EXIT
|