× 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.



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.