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

Reply via email to