In <[EMAIL PROTECTED]>, on 01/14/2008
at 01:09 PM, Tom Quarendon <[EMAIL PROTECTED]> said:
>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.
Probably because you're using the wrong tool.
>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.
What do you mean by that? The OPENJ does not[1] change the TIOT, so you're
still pointing to the same UCB's as before. Since MVS no longer supports
mountable DASD, that means that you can only succeed in changing a volser
that you already have allocated. That means that you don't need an RDJFCB
at all, just a correct calculation of the extent number.
>It seems to me like I always get the first volume.
That's expected if you always set M to 0.
[1] Well, it may do a DYNALLOC under the covers, but that's
just for ENQ housekeeping.
--
Shmuel (Seymour J.) Metz, SysProg and JOAT
ISO position; see <http://patriot.net/~shmuel/resume/brief.html>
We don't care. We don't have to care, we're Congress.
(S877: The Shut up and Eat Your spam act of 2003)
----------------------------------------------------------------------
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