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 the Start of change following data sets:End of change

Start of change
  • SYSDEBUG: You can specify any LRECL in the listed range, with 1024 recommended.
  • SYSPRINT, SYSDEBUG: You can specify BLKSIZE=0, which results in a system-determined block size.
End of change
Table 1. Block size of fixed-length compiler data sets
Data set RECFM LRECL (bytes) BLKSIZE1
Start of changeSYSDEBUG2End of change Start of changeF or FBEnd of change Start of change80 to 10243End of change Start of changeLRECL x nEnd of change
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.
  3. Start of changeThe default LRECL for SYSDEBUG is 1024. End of change

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