FOPTNAME Function
Returns the name of an item of information about an external file.
| Category: | External Files |
| Restriction: | This function is not valid on the CAS server. |
Table of Contents
Syntax
Required Arguments
file-id
is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.
nval
is a numeric constant, variable, or expression that specifies the number of the information item.
Details
General Information
FOPTNAME returns a missing
or null value if an invalid argument to FOPTNAME is used.
UNIX: Available Information Items
The following table
shows the information items that correspond to the nval values
for single and concatenated files under UNIX operating environments.
|
nval
|
Single File
|
Pipe Files
|
Concatenated Files
|
|
1
|
Filename
|
PIPE command
|
Filename
|
|
2
|
Owner name
|
File list
| |
|
3
|
Group name
|
Owner name
| |
|
4
|
Access permission
|
Group name
| |
|
5
|
File size (bytes)
|
Access permissions
| |
|
6
|
File size (bytes)
|
Examples
Example 1: Retrieving File Information Items and Writing Them to the Log
This example retrieves
the system-dependent file information items that are available and
writes them to the log:
%let filrf=myfile; %let rc=%sysfunc(filename(filrf, physical-filename)); %let fid=%sysfunc(fopen(&filrf)); %let infonum=%sysfunc(foptnum(&fid)); %do j=1 %to &infonum; %let name=%sysfunc(foptname(&fid, &j)); %let value=%sysfunc(finfo(&fid, &name)); %put File attribute &name equals &value; %end; %let rc=%sysfunc(fclose(&fid)); %let rc=%sysfunc(filename(filrf));
Example 2: Creating a Data Set with Names and Values of File Attributes
This example creates
a data set that contains the name and value of the available file
attributes:
data fileatt;
length name $ 20 value $ 40;
drop rc fid j infonum;
rc=filename("myfile", "physical-filename");
fid=fopen("myfile");
infonum=foptnum(fid);
do j=1 to infonum;
name=foptname(fid, j);
value=finfo(fid, name);
put 'File attribute ' name
'has a value of ' value;
output;
end;
rc=filename("myfile");
run;Example 3: File Attributes When Using the Pipe Device Type under UNIX
The following example
creates a data set that contains the NAME and VALUE attributes returned
by the FOPTNAME function when you are using pipes under UNIX:
data fileatt; length name $ 20 value $ 40; drop fid j infonum; filename mypipe pipe 'UNIX-command'; fid=fopen("mypipe", "s"); infonum=foptnum(fid); do j=1 to infonum; name=foptname(fid, j); value=finfo(fid, name); put 'File attribute' name 'has a value of ' value; output; end; run;
The following statement
appears in the SAS log.
SAS Log
File attribute Pipe Command has a value of UNIX-command
Unix-command is
the UNIX command or program where you are piping your output or where
you are reading your input. This command or program must be either
fully qualified or defined in your PATH environment variable.
Copyright © SAS Institute Inc. All Rights Reserved.
Last updated: March 16, 2017