Before issuing the dynamic allocation request, the application
must build the browse token and pass it with the DALBRTKN text unit.
The format of the browse token is mapped by macro
IAZBTOKP.
The browse token is built in text unit format with 7 subparameters.
When building the browse token, the following SVC 99 text unit fields
must be set:
Field |
Value |
---|
S99TUKEY |
DALBRTKN |
S99TUNUM |
7 |
S99TUPAR |
Mapped by IAZBTOKP |
The token is of fixed length and all subparameters must be
coded. Each browse token subparameter contains a length followed by
the data, so it will be in text unit format.
You can complete the fields in the token as follows:
- BTOKPL1
- Length of the browse token identifier (LENGTH(BTOKID)).
- BTOKID
- Browse token id (BTOK). The IAZBTOKP macro defines constant
BTOKCID to be used to set this field.
- BTOKPL2
- Length of the token version field (LENGTH(BTOKVER)).
- BTOKVER
- The 2 byte version number of the token parameter list. Byte
1 (or TOKTYPE) indicates the call type. If it is set to BTOKBRWS,
then this is a normal browse request. If it is set to BTOKSTKN, then
this is a SPOOL token based browse request. JES3 supports
only BTOKSTKN. Byte 2 (or BTOKVERS) is the parm list version
and should be set to BTOKVRNM.
- BTOKPL3
- Length of the data pointer field.
- BTOKIOTP/BTOKSPLT
- Data pointer whose content is based on the first byte of BTOKVER.
- BTOKIOTP
- If BTOKVER is set to BTOKBRWS (JES2 only), this
is a normal browse, and BTOKIOTP is either zero or the MTTR of the
IOT containing the PDDB of the file to be allocated (obtained from
JOEIOTTR or IOTTRACK, for example). The data set name supplied in
DALDSNAM keyed text unit is used to locate the specific data set to
be allocated. If BTOKIOTP is zero, the data set is located by using
only the data set name.
- BTOKSPLT
- If BTOKVER is set to BTOKSTKN, BTOKSPLT can be zeroes or point
to a client token (returned from dynamic allocation using key DALRTCTK)
or a data set token (returned by the SAPI SSI in field SSS2DSTR or
the Extended Status SSI in field STVSCTKN). If BTOKIOTP is zeroes,
JES will use the data set name supplied in the DALDSNAM keyed text
unit to find the specific data set to allocate. If BTOKIOTP points
to a client or data set token, the token is used to find the data
set to allocate and the data set name supplied in the DALDSNAM keyed
text unit is ignored.
- BTOKPL4
- Length of the job key field (LENGTH(BTOKJKEY)).
- BTOKJKEY
- Optional job key of the file to be allocated (for example, the
job key obtained from JCTJBKEY, JQEJBKEY, or SJBJKEY). This field
is not used if BTOKVER is set to BTOKSTKN. This field is required
if BTOKTYPE is set to BTOKBRWS and BTOKIOTP is non-zero. JES3
does not support this parameter and this field is set to zero.
- BTOKPL5
- Length of the ASID field (LENGTH(BTOKASID)).
- BTOKASID
- The 2 byte ASID of the data set owning job if active buffers are needed. If active buffers are not needed, then
pass 0. If the ASID is not known, then pass X'FFFF' and JES will
determine the correct ASID.
- BTOKPL6
- Length of the RECVR field (LENGTH(BTOKRCID)).
- BTOKRCID
- Eight byte userid to be used as the RECVR on the
SAF call or zeros if the RECVR is not being used. JES uses this field
to check authority to the browse request. When RECVR is used, the
value must be left justified and padded with blanks. For JES3, this is supported for authorized callers only.
When
this parameter is specified, the logstr field
should also be used so that usage of recvr can
be logged. However, neither JES nor SAF enforces
this convention.
- BTOKPL7
- Length of the logstr field (LENGTH(BTOKLOGS)).
- BTOKLSDL
- Length of the logstr (specified in field
BTOKLSDA) to be used on the SAF call used by JES to
check authority to the browse request, or zero if the logstr is
not being used.
The logstr length must
be a value from 0 to 254.
- BTOKLSDA
- Text of the logstr if BTOKLSDL is non-zero,
or zeros if the logstr is not being used.
The
maximum length text is 254 characters.
Note: When you use the compatibility interface to read
the data set, you could also use text units
specifying the record format, record length, and blocksize.