× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Yes, I know that CHKTAP will tell you the volume.  You missed my point. 
My concern, based on experience dealing with remote site backup, was
that someone would forget to rotate a tape and the mounted tape would
contain 'live' backup data.  INZTAP would wipe that out unless
conditioned the INZTAP based on verifying the volume ID returned matched
what you expected to be mounted for the current backup session.  

Turns out the OP didn't care what volume was mounted.  Your CL has the
same approach - it will wipe out whatever tape is mounted.
  

rob@xxxxxxxxx 01/29/2007 8:26:19 AM >>>
Roger,

Read it again.  :-)
When you do a CHKTAP it echo's back the volume id.  You use that in your

INZTAP.
I wrote a command called CHKINZTAP that call's a CLP to do this.
/* Group Dekko Services, LLC                                        */

/*                                                                  */
/* This program will use CHKTAP to verify that the tape is loaded   */
/* then it will use the volume id retrieved from the CHKTAP and     */
/* use that on the INZTAP.                                          */
/*                                                                  */
/* Modification log:                                                */
/* 01/03/03 by R.Berendt, CDP   GDS,LLC                             */
/*          Created                                                 */
/* 01/17/03 by R.Berendt, CDP   GDS,LLC                             */
/*          Changed INZTAP to CHECK(*YES)                           */
/* 04/28/03 by R.Berendt, CDP   GDS,LLC                             */
/*          Vary off/on tape drive in case backup immediately prior */
/*          left drive in a failed state.                           */
/* 04/29/03 by R.Berendt, CDP   GDS,LLC                             */
/*          Changed INZTAP to CHECK(*NO) due to concerns regarding  */
/*          holidays, and inordinate amount of time for INZTAP.     */
/*                                                                  */
PGM (                                                                +
      &TAPEDRIVE       /* Tape drive to process                   */ +
      &STATUSCODE      /* Status code:                            */ +
                       /*   0 = Success                           */ +
                       /*  50 = Vary off failed                   */ +
                       /*  51 = Vary on failed                    */ +
                       /*  52 = Invalid device status             */ +
                       /* 100 = Generic CHKTAP failed             */ +
                       /* 200 = Generic INZTAP failed             */ +
    )

    DCL  &MSG         *CHAR 132  /* First level message text         */
    DCL  &MSGDTA      *CHAR 132  /* Message data                     */
    DCL  &MSGID       *CHAR   7  /* Message id                       */
    DCL  &STATUSCODE  *DEC    5  /* Status code:                     */
+
                                 /*   0 = Success                    */
+
                                 /*  50 = Vary off failed            */
+
                                 /*  51 = Vary on failed             */
+
                                 /*  52 = Invalid device status      */
+
                                 /* 100 = Generic CHKTAP failed      */
+
                                 /* 200 = Generic INZTAP failed      */
    DCL  &TAPEDRIVE   *CHAR  10  /* Tape drive to process            */
    DCL  &VOLID       *CHAR  14  /* Volume id of the tape            */

CHGVAR     VAR(&VOLID) VALUE(*BLANKS)
CHGVAR     VAR(&STATUSCODE) VALUE(0)


    /*     +
     | Check tape drive status     +
    */

CALL PGM(CHKTAPSTS) PARM(&TAPEDRIVE &STATUSCODE)


If (&StatusCode = 0) Do
  /* Valid device status */

  /*   +
   | CHKTAP to retrieve the volume id, then use that to INZTAP.   +
  */
  SNDPGMMSG  MSGID(CPF9898) MSGF(QCPFMSG) +
             MSGDTA('Checking tape volume') +
             TOPGMQ(*EXT) MSGTYPE(*STATUS)
  CHKTAP     DEV(&TAPEDRIVE) ENDOPT(*REWIND)
  MONMSG     MSGID(CPF0000)
  RCVMSG     MSGQ(*PGMQ) MSG(&MSG) MSGDTA(&MSGDTA) MSGID(&MSGID) +
             MSGTYPE(*LAST)
  IF         COND(&MSGID = 'CPC6778') THEN(DO) /* Volume &2 found +
             on device &1.  CHKTAP worked. */
    CHGVAR     VAR(&VOLID) VALUE(%SST(&MSGDTA 11 6))
    SNDPGMMSG  MSGID(CPF9898) MSGF(QCPFMSG) +
               MSGDTA('Initializing tape volume') +
               TOPGMQ(*EXT) MSGTYPE(*STATUS)
    INZTAP     DEV(&TAPEDRIVE) NEWVOL(&VOLID) +
               NEWOWNID(DEKKO) CHECK(*NO)
    MONMSG     MSGID(CPF0000) EXEC(DO) /* INZTAP failed */
      CHGVAR     VAR(&STATUSCODE) VALUE(200)
    ENDDO      /* INZTAP failed */
  ENDDO      /* CHKTAP worked */
  ELSE       CMD(DO) /* CHKTAP failed */
    CHGVAR     VAR(&STATUSCODE) VALUE(100)
  ENDDO      /* CHKTAP failed */
ENDDO   /* Tape drive was either varied on, or abled to be varied off/on

*/

END:

             ENDPGM 

Rob Berendt

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 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.