Logical record length and block size

For compiler data sets other than the work data sets (SYSUTn) and z/OS® UNIX files, you can set the block size by using the BLKSIZE subparameter of the DCB parameter. The value must be permissible for the device on which the data set resides. The values you set depend on whether the data sets are fixed length or variable length.

For fixed-length records (RECFM=F or RECFM=FB), LRECL is the logical record length; and BLKSIZE equals LRECL multiplied by n where n is equal to the blocking factor.

The following table shows the defined values for the fixed-length data sets. In general, you should not change these values, but you can change the value for theSYSPRINT data set. You can specify BLKSIZE=0, which results in a system-determined block size.

Table 1. Block size of fixed-length compiler data sets
Data set RECFM LRECL (bytes) BLKSIZE1
SYSIN F or FB 80 80 x n
SYSLIB or other copy libraries F or FB 80 80 x n
SYSLIN F or FB 80 80 x n
SYSMDECK F or FB 80 80 x n
SYSOPTF F or FB 80 80 x n
SYSPRINT2 F or FB 133 133 x n
SYSPUNCH F or FB 80 80 x n
SYSTERM F or FB 80 80 x n
  1. n = blocking factor
  2. If you specify BLKSIZE=0, the system determines the block size.

For variable-length records (RECFM=V), LRECL is the logical record length, and BLKSIZE equals LRECL plus 4.

Table 2. Block size of variable-length compiler data sets
Data set RECFM LRECL (bytes) BLKSIZE (bytes) minimum acceptable value
SYSADATA VB 1020 1024