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