Chapter Contents |
Previous |
Next |
FINFO |
OS/390 specifics: | info-item |
Syntax | |
Details | |
Example 1: Sequential File Information | |
Example 2: PDS, PDSE Member Information | |
Example 3: UNIX System Services File Information | |
See Also |
Syntax |
FINFO (file-id,info-item) |
Details |
The FINFO function returns the value of a specified information item for an external file that was previously opened and assigned a file-id by the FOPEN function.
The FINFO, FOPTNAME, and FOPTNUM functions support the following information items.
Item | Item Identifier | Definition |
---|---|---|
1 | File Name | File name |
2 | Access Permission | Read, write, and execute permissions for owner, group, and other |
3 | Number of Links | Number of links in the file |
4 | Owner Name | User ID of the owner |
5 | Group Name | Name of the owner's access group |
6 | File Size | File size |
7 | Last Modified | Date file last modified |
Item | Item Identifier | Definition |
---|---|---|
1 | Dsname | File name |
2 | Unit | Disk type |
3 | Volume | Volume on which data setresides |
4 | Disp | Disposition |
5 | Blksize | Block size |
6 | Lrecl | Record length |
7 | Recfm | Record format |
Example 1: Sequential File Information |
The following example generates output that shows the information items available for a sequential data set:
data _null_; length opt $100 optval $100; /* Allocate file */ rc=FILENAME('myfile', 'userid.test.example'); /* Open file */ fid=FOPEN('myfile'); /* Get number of information items */ infocnt=FOPTNUM(fid); /* Retrieve information items and print to log */ put @1 'Information for a Sequential File:'; do j=1 to infocnt; opt=FOPTNAME(fid,j); optval=FINFO(fid,upcase(opt)); put @1 opt @20 optval; end; /* Close the file */ rc=FCLOSE(fid); /* Deallocate the file */ rc=FILENAME('myfile'); run;
Example 1 Output: Sequential File Information
Information for a Sequential File: Dsname USERID.TEST.EXAMPLE Unit 3380 Volume ABC010 Disp SHR Blksize 23392 Lrecl 136 Recfm FB NOTE: The DATA statement used 0.10 CPU seconds and 5194K. |
Example 2: PDS, PDSE Member Information |
This next example shows the information items availabile for PDS and PDSE members:
data _null_; length opt $100 optval $100; /* Allocate file */ rc=FILENAME('myfile', 'userid.test.data(oats)'); /* Open file */ fid=FOPEN('myfile'); /* Get number of information items */ infocnt=FOPTNUM(fid); /* Retrieve information items and print to log */ put @1 'Information for a PDS Member:'; do j=1 to infocnt; opt=FOPTNAME(fid,j); optval=FINFO(fid,upcase(opt)); put @1 opt @20 optval; end; /* Close the file */ rc=FCLOSE(fid); /* Deallocate the file */ rc=FILENAME('myfile'); run;
Example 2 Output: PDS, PDSE Member Information
Information for a PDS Member: Dsname USERID.TEST.DATA(OATS) Unit 3380 Volume ABC006 Disp SHR Blksize 1000 Lrecl 100 Recfm FB NOTE: The DATA statement used 0.05 CPU seconds and 5194K. |
Example 3: UNIX System Services File Information |
This final example shows the information items available for UNIX System Services files:
data _null_; length opt $100 optval $100; /* Allocate file */ rc=FILENAME('myfile', '/u/userid/one'); /* Open file */ fid=FOPEN('myfile'); /* Get number of information items */ infocnt=FOPTNUM(fid); /* Retrieve information items and print to log */ put @1 'Information for a UNIX System Services File:'; do j=1 to infocnt; opt=FOPTNAME(fid,j); optval=FINFO(fid,upcase(opt)); put @1 opt @20 optval; end; /* Close the file */ rc=FCLOSE(fid); /* Deallocate the file */ rc=FILENAME('myfile'); run;
Example 3 Output: UNIX System Services File Information
Information for a UNIX System Services File: File Name /u/userid/one Access Permission --rw-rw-rw- Number of Links 1 Owner Name USERID Group Name GRP File Size 4 Last Modified Apr 13 13:57 NOTE: The DATA statement used 0.07 CPU seconds and 5227K. |
See Also |
Chapter Contents |
Previous |
Next |
Top of Page |
Copyright 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.