I'm trying to write some code that performs random access I/O on a multi
volume dataset using a technique similar to that described in chapter 7
of DFSMSdfp Advanced Services, and am having mixed results.
The code all works just fine, so long as the dataset I'm dealing with
exists already, or is allocated in a previous step of my job using, for
example, an EXEC PGM=IEFBR14 step. If I try and allocate the dataset in
the step that actually performs the I/O as a DISP=(NEW,CATLG) or
DISP=(NEW,DELTE) dataset, then when I try and open specific volumes by
changing the JFCBVLSQ field in the JFCB prior to performing an OPEN
TYPE=J, then I don't get the right volume. It seems to me like I always
get the first volume. I don't believe that there's anything
fundamentally wrong with the code as it works fine if I allocate an
empty multivolume dataset and reference it as DISP=OLD in the step
that's going to do the work. I also get similar problems if I use
DISP=MOD, only this time I get only either the first or the last volume
-- try and open anything in the middle and I always get the last. This I
wasn't so worried about since I get just use DISP=OLD instead and this
works fine.
So I guess my question is, is OPEN TYPE=J specifying the JFCBVLSQ field
supposed to work on DISP=NEW datasets? Has anyone had success with this?
Current this is a bit of a show stopper for us as ideally we need to be
able to use a multivolume temporary dataset (so declared
DISp=(NEW,DELETE,DELETE) with a DSN of something like &&WPSTEMP).
Many thanks.
----------------------------------------------------------------------
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