The UNDEFINEDFILE input/output condition is raised whenever
an unsuccessful attempt to open a file is made. If the attempt is
made by means of an OPEN statement that specifies more than one
file, the condition is raised after attempts to open all specified
files.
If UNDEFINEDFILE is raised for more than one file in the same
OPEN statement, ON-units are executed according to the order of
appearance (taken from left to right) of the file names in that
OPEN statement.
If UNDEFINEDFILE is raised by an implicit file opening in a data
transmission statement, upon normal return from the ON-unit, processing
continues with the remainder of the data transmission statement.
If the file was not opened in the ON-unit, the statement cannot
continue and the ERROR condition is raised.
The UNDEFINEDFILE condition is raised not only by conflicting
attributes (such as DIRECT with PRINT), but also by the following:
- Block size smaller than record size (except when records are
spanned)
- LINESIZE exceeding the maximum allowed
- KEYLENGTH zero or not specified for creation of INDEXED data
sets
- Specifying a KEYLOC option, for an INDEXED data set, with a
value resulting in KEYLENGTH + KEYLOC exceeding the record length
- Specifying a V-format logical record length of less than 18
bytes for STREAM data sets
- Specifying a block size that is not an integral multiple of
the record size for FB-format records
- Specifying a logical record length that is not at least 4 bytes
smaller than the specified block size for VB-format records.
 >>-UNDEFINEDFILE--(file-reference)-----------------------------><
|
The file-reference must be a scalar
reference.