At 16:43 -0500 on 08/14/2009, Paul Gilmartin wrote about Multi-file tape:
This worked OK on a virtual tape. Now I must make
it work on a physical tape. My EXEC says:
do File = 0 + 1 to 99
File = right( File, 3, 0 )
say
say ' File' File '============================================='
InDD = 'F'File
DynArg = ( 'alloc dd('InDD') dsn(''TAPE.FILE'File''')' ,
'expdt(98000) recfm(U) blksize(32760)' ,
'label(BLP) position('File')' ,
'unit(AB2)' VolArg 'shr reuse' )
address 'TSO' DynArg
if RC<>0 then leave File
RC = ProcessFile() /* FREEs InDD */
if RC<>0 then leave File; end File
To my utter dismay, it dismounts the tape after each file
and I must re-mount it.
What's the ALLOCATE analogue of "RETAIN"?
This takes longer each time.
Do I need to code a DD statement in JCL with RETAIN for
each file?
Should I count my blessings because auto ops is at least
replying to the VSN messages.
Long ago, a colleague caused a tape volume to be mounted,
even across job boundaries. This is outside my operator's
and my current skill set. Is that an alternative?
-- gil
To keep the tape from unmounting use the Operation MOUNT command as
others have responded. To keep the tape from taking to longer start
reading with each file (since it will rewind after each file) make
the VolArg (which I assume is the equivalent of the JCL DISP) SHR
PASS. Do help on ALLOC to see if this is supported and if there is a
RETAIN parm.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html