On Tue, May 3, 2016 at 11:39 AM, michelbutz <michealb...@comcast.net> 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 lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to