S= System Option

Specifies the length of statements on each line of a source statement and the length of data on lines that follow a DATALINES statement.
Valid in: Configuration file, SAS invocation, OPTIONS statement, SAS System Options window
Category: Input control: Data processing
PROC OPTIONS GROUP= INPUTCONTROL
Note: This option can be restricted by a site administrator. For more information, see Restricted Options.

Syntax

S= n | nK | nM | nG | nT | hexX | MIN | MAX

Syntax Description

n | nK | nM | nG | nT
specifies the length of statements and data in terms of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.
hexX
specifies the length of statements and data as a hexadecimal number. You must specify the value beginning with a number (0–9), followed by an X. For example, the value 2dx sets the length of statements and data to 45.
MIN
sets the length of statements and data to 0.
MAX
sets the length of statements and data to 2,147,483,647.

Details

Input can be from either fixed-length or variable-length records. Both fixed-length and variable-length records can be sequenced or unsequenced. The location of the sequence numbers is determined by whether the file record format is fixed-length or variable-length.
SAS uses the value of S to determine whether to look for sequence numbers in the input, and to determine how to read the input:
Record Type
Value of S
SAS Looks for Sequence Numbers
How SAS Reads The Input
Fixed-length
S>0 or S=MAX
No
The value of S is used as the length of the source or data to be scanned and ignores everything beyond that length on each line.
Fixed-length
S=0 or S=MIN
Yes, at the end of the line of input.
SAS inspects the last n columns (where n is the value of the SEQ= system option) of the first sequence field.
If those columns contain numbers, they are assumed to be sequence numbers and SAS ignores the last eight columns of each line.
If the n columns contain non-digit characters, SAS reads the last eight columns as data columns.
Variable-length
S>0 or S=MAX
No
The value of S is used as the starting column of the source or data to be scanned and ignores everything before that length on each line.
Variable-length
S=0 or S=MIN
Yes, at the beginning of each line of input.
SAS inspects the last n columns (where n is the value of the SEQ= system option) of the first sequence field.
If those columns contain numbers, they are assumed to be sequence numbers and SAS ignores the first eight columns of each line.
If the n columns contain non-digit characters, SAS reads the first eight columns as data columns.

Comparisons

The S= system option operates exactly like the S2= system option except that S2= controls input only from a %INCLUDE statement, an autoexec file, or an autocall macro file.