FILEEXT= System Option: z/OS

Specifies how to handle file extensions when accessing members of partitioned data sets.
Valid in: Configuration file, SAS invocation, OPTIONS statement, SAS System Options window
Category: File Control: EXTFILES
PROC OPTIONS GROUP= EXTFILES
Default: IGNORE
z/OS specifics: All

Syntax

FILEEXT=VERIFY | IGNORE | INVALID | ASIS

Required Arguments

VERIFY
verifies that the part of the name after the period corresponds to the last level of the partitioned data set name.
IGNORE
ignores the part of the name after the period and specifies that only the part before the period is to be used.
INVALID
disallows any member name with an extension.
ASIS
accepts the member name as it is. These member names must conform to the naming conventions of partitioned data sets.

Details

For compatibility with SAS on other platforms, the FILEEXT= system option enables you to write portable SAS programs that run on systems that either support or do not support file extensions.
Portable SAS programs can access external files with file extensions when you run those programs in environments such as Windows and UNIX. When you run those programs in z/OS, and when the program accesses members in partitioned data sets, the value of FILEEXT= determines how the file extensions are interpreted.
Member names in partitioned data sets must consist of one to eight alphanumeric characters starting with a letter or with one of the following national characters: $, #, @. A member name extension is an optional part of the member name that follows a period.

Examples

Example 1: Specifying FILEEXT=VERIFY

In this example, SAS verifies that the part of the name that follows the period corresponds to the last level of the partitioned data set name. If it does not, an error message is written to the SAS log:
options fileext=verify;
   /* allocate a PDS */
filename out2 'myid.fileext.sas' disp=old;
data _null_;
      /* the member name is 'versas'*/
   file out2(versas.sas);
        put 'text';
run;

Example 2: Specifying FILEEXT=IGNORE

Using the IGNORE value causes the extension, if present, to be ignored:
options fileext=ignore;
   /* allocate a PDS */
filename out2 'myid.fileext.testsrc' disp=old;
 data _null_;
      /* the member name is 'dotnd' */
   file out2(dotnd.some);
   put 'text';
run;

Example 3: Specifying FILEEXT=ASIS

With the ASIS parameter, the member name is accepted as-is:
options fileext=asis;
   /* allocate a PDS */
filename out2 'myid.fileext.testsrc' disp=old;
data _null_;
      /* the member name is 'mem.as' */
   file out2(mem.as);
   put 'text';
run;