z/OS DFSMSdfp Advanced Services
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Foundation Block Extension and Common Interface Parameters

z/OS DFSMSdfp Advanced Services
SC23-6861-01

EXLST=address
The address of an exit list that you have written for exception conditions. The format and purpose of the exit list are provided in z/OS DFSMS Using Data Sets .
EODAD=address
The address of your end-of-data-set routine for input data sets. If this routine is not available when it is required, the task is abnormally terminated.

It is required when you issue an EOV macro for the last volume containing data and bit 0 of DCBOFLGS indicates that the last operation was a read. (See Handling End of Volume and End-Of-Data-Set Conditions for more information concerning EOV.) An exception to this is when another data set is concatenated after the current data set.

The EODAD address used here is a 24-bit address in the DCB. If you use the DCB extension (DCBE), and its 31-bit EODAD field is non-zero, the system uses that address instead.

DSORG=PS or PO or DA
The data set organization (one of the following codes). Each code indicates that the format of the device-dependent portion of the DCB is to be similar to that generated for a particular access method:
Code     DCB Format:    
PS QSAM or BSAM
PO BPAM
DA BDAM

When writing in a partitioned or sequential DASD data set, you can cause EOV or CLOSE to write a file mark. Refer to Device-Dependent Parameters for further information.

Do not issue the STOW macro against an EXCP DCB; it can corrupt the directory contents.

IOBAD=address
The address of an input/output block. You can use this field for any purpose.
RECFM=code
The record format of the data set. (Record format codes are given in z/OS DFSMS Macro Instructions for Data Sets.) When writing a data set to be read later, RECFM, LRECL, and BLKSIZE should be specified to identify the data set attributes. LRECL and BLKSIZE can only be specified in a DD statement, in an SVC 99 call, or in the JFCB, because these fields do not exist in a DCB used by EXCP.

IBM® recommends that when you are creating a data set you issue a RDJFCB macro and set JFCLRECL and JFCBLKSI before issuing OPEN TYPE=J. This will allow LRECL and BLKSIZE to be in the data set label. An alternate way to set or learn the block size is to use the BLKSIZE field in the DCBE.

The RECFM parameter is not used by the EXCP routines. It provides information stored for subsequent use by access methods that read or update the data set.

The following parameters are optional. The system does not manage the buffers described.
BFALN=F or D
The word boundary alignment of each buffer, either word or doubleword.
BUFL=length
The length in bytes of each buffer; the maximum length is 32760.
BUFCB=address
The address of a buffer pool control block, that is, the 8-byte field preceding the buffers in a buffer pool. If the low order bit is on, the address is invalid and if you issue the FREEPOOL macro, it has no effect. The FREEPOOL macro sets the low order bit on. The DCB macro sets the low order bit on if the common interface portion is valid.
BUFNO=number
The number of buffers assigned to the associated data set; the maximum number is 255. For an EXCP DCB, OPEN ignores this parameter and the BFALN, BUFL, and BUFCB parameters. They have an effect only if your program uses those fields or if your program issues a GETPOOL or GETBUF macro.

Buffer number and block size affect the data transfer rate and the operating system overhead per block. Using more buffers reduces (per block transferred) the system overhead. If you allocate more buffers than your program can process effectively, the virtual pages containing those buffers might be paged out, adding to the system overhead for the job. A large number of buffers also causes a large amount of real storage to be allocated to the job while the data is being transferred.

A job in a low-performance group can get swapped out more frequently than a higher-priority job. The number of buffers allocated for the job effect the number of pages that have to be swapped out.

Programs that access data sets with a small block size (for example, 80) can easily make effective use of 30 buffers, which fit in, at most, two 4096-byte pages. The use of 30 buffers in this case is more efficient than 5, resulting in only 1 channel program rather than 6 channel programs to transfer 30 blocks.

Using data sets with large blocking factors such as half-track blocking on DASD can be effective if only three or four buffers are specified, rather than five or more. The slightly lower DASD performance and small increase in system instruction costs should be more than offset by a reduction in paging or swapping in a constrained environment.

The DCB OPEN installation exit can use installation criteria for a default buffer number for EXCP DCBs (for a description of the OPEN installation exit, see z/OS DFSMS Installation Exits). Your program can use the BUFNO value that the OPEN installation exit might set.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014