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 lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to