So, as I posted before: VTOC DSN is 44X'4'
Sent from my iPhone > On May 3, 2016, at 12:55, John McKown <[email protected]> wrote: > >> On Tue, May 3, 2016 at 11:39 AM, michelbutz <[email protected]> wrote: >> >> I have seen examples in the DFSMS advanced services using CVAFDIR one of >> the parameters is the DEB of the VTOC is there a way to get that >> Normally when you open a dataset its in the DCB >> >> <quote> > > The data extent block (DEB) can be obtained by opening a DCB for INPUT, > using the RDJFCB and OPEN TYPE=J macros. (After issuing an OPEN TYPE=J > macro, the DCB's DCBDEBA field contains the DEB's address.) The DCB's > DDNAME must identify a DD statement allocated to the unit whose VTOC is to > be accessed. Once your program issues the RDJFCB macro, it must initialize > the JFCBDSNM field with the data set name of the format-4 DSCB: 44 bytes of > X'04'. The RDJFCB macro is described under RDJFCB Macro Specification > <https://www.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos.v2r1.idas300/rdjfcb.htm?lang=en-us#rdjfcb>; > the OPEN macro is described under OPEN - Initialize Data Control Block for > Processing the JFCB > <https://www.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos.v2r1.idas300/openj.htm?lang=en-us#openj> > . For an extended address volume the DCB macro must point to a DCBE where > the EADSCB=OK keyword is specified. If you do not code this option, the > OPEN function will issue ABEND 113-48 and message IEC142I. > > </quote> > > > > So you need to allocate the volume, either with JCL or DYNALLOC, and > specify both DISP=SHR and VOL=SER=aaaaaa. One convention is to use a data > set name of FORMAT4.DSCB as the DSN, e.g. > > //VTOC DD DISP=SHR,UNIT=SYSALLDA,VOL=SER=aaaaaa,DSN=FORMAT4.DSCB > > You have a DCB with a DDNAME=VTOC. You do a RDJFCB on the DD. You then > modify the data set name in the returned. > > <quote> > > > - Changing the data set name field or member field in the JFCB. See RDJFCB > Security > > <https://www.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos.v2r1.idas300/rjsec.htm?lang=en-us#rjsec> > and RDJFCB Use by Authorized Programs > > <https://www.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos.v2r1.idas300/sysmcrd.htm?lang=en-us#sysmcrd>. > You can open a VTOC by reading the JFCB, changing the data set name to 44 > bytes of X'04' and then issuing the OPEN macro with TYPE=J. Use BSAM or > EXCP. If you use BSAM, also code RECFM=F, KEYLEN=44 and BLKSIZE=96 on the > DCB macro. For an extended address volume the DCB macro must point to a > DCBE where the EADSCB=OK keyword is specified. You'll find examples of > opening an EXCP DCB for a VTOC in Example of Using the CVAFFILT Macro > > <https://www.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos.v2r1.idas300/fltxmp.htm?lang=en-us#fltxmp> > andExample of using the CVAFSEQ macro to process a volume in physical > sequential order > > <https://www.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos.v2r1.idas300/ex2cvafseq.htm?lang=en-us#ex2cvafseq> > . > > > </quote> > > > -- > The unfacts, did we have them, are too imprecisely few to warrant our > certitude. > > Maranatha! <>< > John McKown > > ---------------------------------------------------------------------- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to [email protected] with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
