|
I use SEQNBR(1) CLEAR(*ALL) on the first save in the backup (SAVSECDTA) -
AFTER I have checked that the correct tape volume is inserted.
A brief code snippet on how to check the volume id of the mounted tape:
DCL VAR(&CHKTAP) TYPE(*LGL) VALUE('1') /* 1 = +
CHKTAP not run; 0 = CHKTAP already run */
DCL VAR(&MSGID) TYPE(*CHAR) LEN(7)
DCL VAR(&MSGDTA) TYPE(*CHAR) LEN(100)
DCL VAR(&MSGKEY) TYPE(*CHAR) LEN(4)
DCL VAR(&TAPEDEV) TYPE(*CHAR) LEN(10) +
VALUE(TAP01) /* Device name defaulted to +
TAP01. */
DCL VAR(&TAPEDEVB) TYPE(*CHAR) LEN(50)
DCL VAR(&TAPVOLID) TYPE(*CHAR) LEN(6)
/* CHECK THAT TAPE DRIVE IS READY WITH CORRECT TAPE. */
/* (Volume ids for Nightly Backup tapes begin with: */
/* DCMONn, DCTUEn, DCWEDn, DCTHUn, DCFRIn, DCSATn, DCSUNx (n=seq #).*/
CHKTAP: CHKTAP DEV(&TAPEDEV) ENDOPT(*REWIND)
MONMSG MSGID(CPF6708) /* Command ended due to error +
- possibly "CPF4120 Tape device +
equipment check" if tape from last nights +
backup sitting unloaded in drive with +
drive door open. */
MONMSG MSGID(CPF6718) /* Cannot allocate device. */
MONMSG MSGID(CPF6760) /* Device not ready. */
MONMSG MSGID(CPF6772) /* Volume cannot be processed */
RCVMSG MSGTYPE(*LAST) RMV(*NO) KEYVAR(&MSGKEY) +
MSGDTA(&MSGDTA) MSGID(&MSGID)
IF COND(&MSGID *EQ CPF6760) THEN(DO)
SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('>>> +
Tape device ' *CAT %SST(&MSGDTA 1 10) +
*TCAT ' was not ready. Nightly backup +
job ended') TOUSR(*SYSOPR)
GOTO CMDLBL(BYPASS)
ENDDO
ELSE CMD(DO)
IF COND(&MSGID *EQ CPF6708) THEN(DO)
/* If CHKTAP fails first time and we get a CPF6708 it may be caused */
/* by a CPF4168/MCH1668 and tape device may be in a FAILED state. */
/* Try once to vary off/on the tape device and retry CHKTAP. */
IF &CHKTAP THEN(DO)
CHGVAR VAR(&CHKTAP) VALUE('0') /* CHKTAP run once */
VRYCFG CFGOBJ(&TAPEDEV) CFGTYPE(*DEV) STATUS(*OFF)
MONMSG MSGID(CPF2600) /* Ignore vary command error */
DLYJOB DLY(5)
VRYCFG CFGOBJ(&TAPEDEV) CFGTYPE(*DEV) STATUS(*ON)
MONMSG MSGID(CPF2600) /* Ignore vary command error */
GOTO CMDLBL(CHKTAP)
ENDDO
RCVMSG MSGTYPE(*PRV) MSGKEY(&MSGKEY) RMV(*NO) +
MSGDTA(&MSGDTA) MSGID(&MSGID)
SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('>>> +
CHKTAP command ended due to error. See +
message ' *CAT &MSGID *CAT ' in joblog. +
Nightly backup job ended') TOUSR(*SYSOPR)
GOTO CMDLBL(BYPASS)
ENDDO
ELSE CMD(DO)
IF COND(&MSGID *EQ CPF6718) THEN(DO)
SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('>>> +
Cannot allocate device ' *CAT +
%SST(&MSGDTA 1 10) *TCAT ' - in use by +
another job. Nightly backup job ended') +
TOUSR(*SYSOPR)
GOTO CMDLBL(BYPASS)
ENDDO
ELSE CMD(DO)
IF COND(&MSGID *EQ CPF6772) THEN(DO)
SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('>> Tape +
volume on device ' *CAT %SST(&MSGDTA 1 +
10) *TCAT ' cannot be processed. Tape +
may be un-initialized, or initialized in +
an unsupported format or density. +
Nightly backup job ended') TOUSR(*SYSOPR)
GOTO CMDLBL(BYPASS)
ENDDO
ELSE CMD(DO)
CHGVAR VAR(&TAPVOLID) VALUE(%SST(&MSGDTA 11 6))
IF COND((&MSGID *EQ CPC6778) & +
(%SST(&MSGDTA 11 5) *NE 'DCMON') & +
<<OR - depending on day of week>>
(%SST(&MSGDTA 11 5) *NE 'DCTUE') & +
(%SST(&MSGDTA 11 5) *NE 'DCWED') & +
(%SST(&MSGDTA 11 5) *NE 'DCTHU') & +
(%SST(&MSGDTA 11 5) *NE 'DCFRI') & +
(%SST(&MSGDTA 11 5) *NE 'DCSAT') & +
(%SST(&MSGDTA 11 5) *NE 'DCSUN'))
THEN(DO)
SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('>>> +
Tape volume ' *CAT &TAPVOLID *TCAT ' +
found on device ' *CAT %SST(&MSGDTA 1 10) +
*TCAT ' - not a 1/4" Nightly Backup tape +
(volid starting with "DC" + first 3 +
letters of day of week). Nightly backup +
job ended') TOUSR(*SYSOPR)
<< Tailor message to your needs >>
GOTO CMDLBL(BYPASS)
ENDDO
ENDDO
ENDDO
ENDDO
ENDDO
...Neil
"Rick Rayburn" <the400man@xxxxxxxxxxx>
2003/09/10 06:44
To
midrange-l@xxxxxxxxxxxx
cc
Subject
Question For Backup Automation
Trying to automate nightly backups but running into a problem when save
command first executes. OS is reporting "an active volume is found" and
wants a reply (c, i, r). I am rotating 5 tapes each week so there is stuff
on each tape when the backup is initiated. I know if an INZTAP command
precedes the save operation, the problem is solved but...
is there any way to avoid this message under these circumstances without
having to do the INZTAP?
Thanx.
Rick Rayburn
NYC
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.