Sidebar

Auto Initialize Tape Utility

IT Infrastructure - Other
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

In our company, we use tape cartridges with different kinds of density. Each time you want to initialize a cartridge, you have to look for the specified density on the cartridge. On some cartridges it's impossible to find the density.

The tape device we use on our AS/400 model E35 is 6368. This unit checks the kind of cartridge installed. If you try to initialize a tape cartridge at an invalid density you'll receive message number CPF6762. I wrote a program to initialize tape cartridges and used the the Monitor Message (MONMSG) command to trap for an invalid density. By using this technique I was able to write a command that would initialize a variety of tape densities. The Auto Initialize Tape (AUTINZTAP) command (see 1) processes the CL program INZ001CL (see 2). The command prompts you for three parameters: the device name, the volume ID, and the owner ID. For us, this command works well for everyday use.

The tape device we use on our AS/400 model E35 is 6368. This unit checks the kind of cartridge installed. If you try to initialize a tape cartridge at an invalid density you'll receive message number CPF6762. I wrote a program to initialize tape cartridges and used the the Monitor Message (MONMSG) command to trap for an invalid density. By using this technique I was able to write a command that would initialize a variety of tape densities. The Auto Initialize Tape (AUTINZTAP) command (see Figure 1) processes the CL program INZ001CL (see Figure 2). The command prompts you for three parameters: the device name, the volume ID, and the owner ID. For us, this command works well for everyday use.


Auto Initialize Tape Utility

Figure 1 The AUTINZTAP Command

 /*===============================================================*/ /* To compile: */ /* */ /* CRTCMD CMD(XXX/AUTINZTAP) PGM(XXX/INZ001CL) + */ /* SRCFILE(XXX/QCMDSRC) */ /* */ /*===============================================================*/ CMD PROMPT('Auto Initialize Tape') PARM KWD(DEV) TYPE(*NAME) LEN(10) MIN(1) + PROMPT('Tape device') PARM KWD(NEWVOL) TYPE(*CHAR) LEN(6) DFT(*NONE) + SPCVAL((*NONE)) PROMPT('New volume + identifier') PARM KWD(NEWOWNID) TYPE(*CHAR) LEN(17) + DFT(*BLANK) PROMPT('New owner identifier') 
Auto Initialize Tape Utility

Figure 2 CL Program INZ001CL

 /*===============================================================*/ /* To compile: */ /* */ /* CRTCLPGM PGM(XXX/INZ001CL) SRCFILE(XXX/QCLSRC) */ /* */ /*===============================================================*/ PGM PARM(&DEV &NEWVOL &NEWOWNID) DCL VAR(&DEV) TYPE(*CHAR) LEN(10) DCL VAR(&NEWVOL) TYPE(*CHAR) LEN(6) DCL VAR(&NEWOWNID) TYPE(*CHAR) LEN(17) DCL VAR(&MSGID) TYPE(*CHAR) LEN(10) DCL VAR(&MSGF) TYPE(*CHAR) LEN(10) DCL VAR(&MSGFLIB) TYPE(*CHAR) LEN(10) DCL VAR(&MSGDTA) TYPE(*CHAR) LEN(132) MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(ERROR)) CHKTAP DEV(&DEV) QIC1000: + INZTAP DEV(&DEV) NEWVOL(&NEWVOL) NEWOWNID(&NEWOWNID) CHECK(*NO) + DENSITY(*QIC1000) MONMSG MSGID(CPF6762) EXEC(GOTO CMDLBL(QIC525)) GOTO CMDLBL(MSG) QIC525: + INZTAP DEV(&DEV) NEWVOL(&NEWVOL) NEWOWNID(&NEWOWNID) CHECK(*NO) + DENSITY(*QIC525) MONMSG MSGID(CPF6762) EXEC(GOTO CMDLBL(QIC120)) GOTO CMDLBL(MSG) QIC120: + INZTAP DEV(&DEV) NEWVOL(&NEWVOL) NEWOWNID(&NEWOWNID) CHECK(*NO) + DENSITY(*QIC120) MONMSG MSGID(CPF6762) EXEC(GOTO CMDLBL(ERROR)) MSG: + RCVMSG MSGTYPE(*COMP) MSGDTA(&MSGDTA) MSGID(&MSGID) MSGF(&MSGF) + MSGFLIB(&MSGFLIB) SNDPGMMSG MSGID(&MSGID) MSGF(&MSGFLIB/&MSGF) MSGDTA(&MSGDTA) GOTO CMDLBL(ENDPGM) ERROR: + RCVMSG MSGDTA(&MSGDTA) MSGID(&MSGID) MSGF(&MSGF) MSGFLIB(&MSGFLIB) SNDPGMMSG MSGID(&MSGID) MSGF(&MSGFLIB/&MSGF) MSGDTA(&MSGDTA) ENDPGM: + ENDPGM 
BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$0.00 Raised:
$

RESOURCE CENTER

   Support MC Press Online

MC Contributors Header 785x150

Support MC Press with a contribution of any size.

Your support helps MC Press deliver free quality information about the new and legacy technologies you rely on to IT Professionals everywhere. Our goal continues to be helping you become more productive on the job and get more out of your career. Every contribution, regardless of size, furthers that goal.