Using the INFILE Statement
An INFILE statement identifies an external
file containing data that you want to read.
It opens the file for input or, if the file is
already open, makes it the current input file.
This means that subsequent INPUT statements are read from this
file until another file is made the current input file.
The following options can be used with the INFILE statement:
- enables the INPUT statement to go to the next
record to obtain values for the variables.
- names a variable containing the length of the
current record, where the value is set to the
number of bytes used after each INPUT statement.
- prevents reading from the next input record when
an INPUT statement reaches the end of the current
record without finding values for all variables.
It assigns missing values to all
values that are expected but not found.
- specifies that the file is to be read in as a pure binary
file rather than as a file with record-separator characters.
You must use the byte operands (< and >) to
get new records rather than separate INPUT
statements or the new line operator (/).
- stops reading when an INPUT statement reaches
the end of the current record without finding
values for all variables in the statement.
It treats going past the end of a record as an error
condition, triggering an end-of-file condition.
The STOPOVER option is the default.
The FLOWOVER, MISSOVER, and STOPOVER options
control how the INPUT statement works when
you try to read past the end of a record.
You can specify only one of these options.
Read these options carefully so
that you understand them completely.
Below is an example using the INFILE statement with
a FILENAME statement to read the class data file.
The MISSOVER option is used to prevent
reading from the next record if values for all
variables in the INPUT statement are not found.
filename inclass 'user.text.class';
infile inclass missover;
You can specify the filepath with a quoted literal also.
The preceding statements could be written as
infile 'user.text.class' missover;
Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.