Indicates the length of logical records in a file connected for direct or keyed access, or the maximum length of a record in a file connected for sequential access. It takes the following form: RECL = rl rl Is an numeric expression. If necessary, the value is converted to integer data type before use. If the file is connected for formatted data transfer, the value must be expressed in bytes (characters). Otherwise, the value is expressed in 4-byte units (longwords). If the file is connected for unformatted data transfer, the value can be expressed in bytes if compiler option /ASSUME=BYTERECL is specified. The "rl" value is the length for record data only. It does not include space for control information, such as two segment control bytes (if present) or the bytes that RMS requires for maintaining record length and deleted record control information. The length specified is interpreted depending on the type of records in the connected file, as follows: o For segmented records, RECL indicates the maximum length for any segment (not including the two segment control bytes). o For fixed-length records, RECL indicates the size of each record. o For variable-length or stream records, RECL specifies the size of the buffer that will be allocated to hold records read or written. Specifying RECL for stream records (STREAM, STREAMCR or STREAMLF) is required if the longest record length in the file exceeds the default RECL value. Errors occur under the following conditions: o If your program attempts to write to an existing file a record that is longer than the logical record length o If you are opening an existing file that contains fixed-length records or has relative organization and you specify a value for RECL that is different from the actual length of the records in the file The following table lists the maximum values that can be specified for "rl" for disk files that use the fixed-length record format: Sequential formatted 32767 bytes Sequential unformatted 8191 longwords Relative formatted 32255 bytes Relative unformatted 8063 longwords Indexed formatted 32224 bytes Indexed unformatted 8056 longwords Tape formatted 9999 bytes Tape unformatted 2499 longwords For other record formats and device types, the record size limit may be less, as described in the OpenVMS Record Management Services Reference Manual. You must specify RECL when opening new files (STATUS='NEW', 'UNKNOWN, or 'SCRATCH') and when one or more of the following conditions exists: o The file is opened for direct access (ACCESS='DIRECT'). o The record format is fixed length (RECORDTYPE='FIXED'). o The file organization is relative or indexed (ORGANIZATION='RELATIVE' or 'INDEXED'). The default value depends on the setting of the RECORDTYPE specifier, as follows: RECORDTYPE value RECL value ---------------- ----------------------------------------- 'FIXED' None; value must be explicitly specified. All other types 133 bytes (for formatted records) 511 longwords (for unformatted records)