- BFALN={F|D}
- specifies
the boundary alignment for each buffer in the buffer pool when the
buffer pool is acquired for use with dynamic buffering or when the
buffer pool is constructed by a GETPOOL macro. If BFALN is omitted,
the system provides doubleword alignment for each buffer. You can
specify:
- F
- specifies that each buffer is on a fullword boundary that is not
also a doubleword boundary.
- D
- specifies that each buffer is on a doubleword boundary.
If the BUILD macro is used to construct the
buffer pool, or if the problem program controls all buffering, the
problem program must provide an area for the buffers and control buffer
alignment.
Source: BFALN can be supplied in the DCB
macro, in the DCB subparameter of a DD statement, or by the problem
program before completion of the data control block exit routine.
- BUFCB=relexp
- specifies the address
of the buffer pool control block when the buffer pool is constructed
by a BUILD macro.
You can omit BUFCB if you request dynamic buffering
or use the GETPOOL macro to construct the buffer pool, because the
system places the address of the buffer pool control block into the
data control block. Also, if the problem program is to control all
buffering, omit BUFCB.
Source: BUFCB can be supplied
in the DCB macro or by the problem program before completion of the
data control block exit routine.
- BUFL=absexp (maximum value is 32760)
- specifies the length, in bytes, of each buffer in the buffer pool
to
be constructed by a BUILD or GETPOOL macro. When the data set is opened,
the system computes the minimum buffer length required and verifies
that the length in the buffer pool control block is equal to or greater
than the minimum length required. The system then inserts the computed
length into the BUFL field of the data control block.
If dynamic
buffering is requested, the system computes the buffer length required,
and BUFL is not required.
If the problem program controls
all buffering, BUFL is not required. However, an indexed sequential
data set requires additional buffer space for system use. For a description
of the buffer length required for various ISAM operations, see z/OS DFSMS Using Data Sets.
Source: BUFL
can be supplied in the DCB macro, in the DCB subparameter of a DD
statement, or by the problem program before completion of the data
control block exit routine.
- BUFNO=absexp (maximum value is 255)
- specifies the number of buffers that are requested for use with
dynamic buffering. If dynamic buffering is requested but BUFNO is
omitted, OPEN automatically acquires two buffers for use with dynamic
buffering.
If the GETPOOL macro is used to construct the buffer
pool, BUFNO is not required.
Source: BUFNO can be supplied
in the DCB macro, in the DCB subparameter of a DD statement, or by
the problem program before completion of the data control block exit
routine.
- DDNAME=symbol
- specifies the name used to identify the job control language data
definition (DD) statement that defines the indexed sequential data
set being allocated or processed.
Source: DDNAME can be
supplied in the DCB macro or by the problem program before an OPEN
macro is issued to open the data set.
- DSORG=IS
- specifies the indexed sequential organization of the data set.
IS is the only combination of characters that can be coded for BISAM.
Source: Unless it is for a data set passed from a previous
job step, DSORG must be coded in the DCB macro and in the DCB subparameter
of a DD statement. In this case, DSORG can be omitted from the DD
statement.
- EXLST=relexp
- specifies the address of the DCB exit list. EXLST
is required only if the problem program uses the data control block
OPEN exit routine for additional processing.
For the functions,
format, and requirements for exit list processing, see z/OS DFSMS Using Data Sets.
The exit list must reside below the line.
Source: EXLST
can be supplied in the DCB macro or by the problem program before
the relevant function is needed.
- MACRF={{(R[S][C])}
- {(W{U[A]|A}[C])}
- {(R[U[S]|S][C], W{U[A]|A}[ C])}}
- specifies the
type of macros (READ, WRITE, CHECK, WAIT, and FREEDBUF) and type of
processing (add records, dynamic buffering, and update records) to
be used with the data set being processed. You can code the parameter
in any of the combinations shown above. The following characters can
be coded for BISAM:
- A
- specifies that new records are to be added to the data set. This
character must be coded if WRITE KN macros are used with the data
set.
- C
- specifies that the CHECK macro is used to test I/O operations
for completion. If C is not specified, WAIT
macros must be used to test for completion of I/O operations.
- R
- specifies that READ macros are to be used. R is required if the
OPEN option is INPUT or UPDAT. It has no effect if the OPEN option
is OUTPUT or EXTEND.
- S
- specifies that dynamic buffering is requested in READ macros.
Do not specify S if the problem program
provides the buffer pool.
- U
- specifies that records in the data set are to be updated in place.
If U is coded in combination with R, it
must also be coded in combination with W. For
example, MACRF=(RU,WU).
- W
- specifies that WRITE macros are to be used. W is required if the
OPEN option is OUTPUT. It has no effect if the OPEN option is INPUT.
Source: MACRF must be coded in the DCB
macro.
- MSHI=relexp
- specifies the address of the storage area that are used to contain
the highest-level master index for the data set. The system uses this
area to reduce the search time required to find a given record in
the data set. MSHI is coded only when SMSI is coded.
Source: MSHI
can be supplied in the DCB macro or by the problem program before
completion of the data control block exit routine.
- MSWA=relexp
- specifies the address of the storage work area to be used by the
system when new records are being added to the data set. This parameter
is optional, but the system acquires a minimum-size work area if the
parameter is omitted. MSWA is coded only when the SMSW parameter is
coded.
Processing efficiency can be increased if more than a minimum-size
work area is provided. For more detailed information about work area
size, see z/OS DFSMS Using Data Sets.
Source: MSWA
can be supplied in the DCB macro or by the problem program before
completion of the data control block exit routine.
- NCP=absexp (maximum value is 99)
- specifies the maximum number of READ and WRITE macros issued before
the first CHECK (or WAIT) macro is issued to test for completion of
the I/O operation. The maximum number can be less than 99, depending
on the amount of virtual storage available below the line in the address
space. If NCP is omitted, 1 is assumed. If dynamic buffering is used,
the value specified for NCP must not exceed the number of buffers
specified in BUFNO.
Source: NCP can be supplied in the
DCB macro, in the DCB subparameter of a DD statement, or by the problem
program before completion of the data control block open exit routine.
- OPTCD=([L][R][W])
- specifies the optional
services that are performed by the control program when creating or
updating an indexed sequential data set. You must request all optional
services by one method. That is, by the data set label of an existing
data set, this macro, or the DD statement on the DCB parameter. However,
it can be modified by the problem program. You can code the following
characters in any order, in any combination, and without commas between
characters:
- L
- specifies that the control program delete records that have a
first byte of X'FF'. (These records can be deleted when space
is required for new records. To use the delete option, the relative
key position (RKP) must be greater than 0 for fixed-length records
and greater than 4 for variable-length records.)
- R
- specifies that the control program place reorganization statistics
in certain fields of the data control block. The problem program can
analyze these statistics to determine when to reorganize the data
set. If OPTCD is omitted, the reorganization statistics are automatically
provided. However, if you use OPTCD, you must specify OPTCD=R to get
the reorganization statistics.
- W
- specifies a validity check for write operations on direct access
storage devices.
- SMSI=absexp (maximum value is 65535)
- specifies the length, in bytes, that is required to contain the
highest-level master index for the data set being processed. Look
at the DCBNCRHI field of the data control block to determine the size
that is required. When an indexed sequential data set is created (with
QISAM), the size of the highest-level index is inserted into the DCBNCRHI
field. If
the value that is specified in SMSI is less than the value in the
DCBNCRHI field, the task is abnormally terminated.
Source: SMSI
can be supplied in the DCB macro or by the problem program before
completion of the data control block exit routine.
- SMSW=absexp (maximum value is 65535)
- specifies the length, in bytes, of a work area that is used by
BISAM. This parameter
is optional, but the system acquires a minimum-size work area if the
parameter is omitted. Code SMSW together with MSWA. If you code SMSW
but the size you specify is less than the minimum that is required,
the task is abnormally terminated. z/OS DFSMS Using Data Sets describes
the methods of calculating the size of the work area.
If unblocked
records are used, the work area must be large enough to contain all
the count fields (8 bytes each), key fields, and data fields that
are contained on one direct access storage device track.
If
blocked records are used, the work area must be large enough to contain
all the count fields (8 bytes each) and data fields that are contained
on one direct access storage device track plus additional space for
one logical record (LRECL value).
Source: SMSW can
be supplied in the DCB macro or by the problem program before completion
of the data control block exit routine.
- SYNAD=relexp
- specifies the address of the error analysis routine given control
when an uncorrectable input/output error occurs. The
entry point of this SYNAD routine must reside below the line. The
contents of the registers when the error analysis routine is given
control are described in z/OS DFSMS Using Data Sets.
Additional status information available to the SYNAD routine is described
in Status information following an input/output operation.
The error analysis routine
must not use the save area pointed to by register 13. The system does
not restore registers when it regains control from the error analysis
routine. The error analysis routine can issue a RETURN macro that
uses the address in register 14 to return control to the system. When
control is returned in this manner, the system returns control to
the problem program and proceeds as though no error had been found.
If the error analysis routine continues processing, the results are
unpredictable.
When you have issued the CHECK macro, the SYNAD
routine receives control if an I/O error occurs. If SYNAD is omitted,
the task is abnormally terminated when an uncorrectable input/output
error occurs.
Source: SYNAD can be supplied in the
DCB macro or by the problem program. The problem program can also
change the error analysis routine address at any time.