前のページ|次のページ

FILEEXIST関数

物理名で外部ファイルが存在するかどうかを確認します。

カテゴリ: 外部ファイル
制限事項: FILEEXIST関数を指定中のSASセッションがロックダウン状態で、その関数で指定されているパス名がロックダウンパスリストに追加されていない場合、その関数は失敗し、そのロックダウンデータに関連するファイルアクセスエラーは、SYSMSG関数を指定しない限り、SASログに生成されません。
Windows固有: filenameには、環境変数が割り当てられます。
UNIX固有: filenameには、環境変数が割り当てられます。

構文

FILEEXIST(file-name)

必須引数

filename

動作環境内の外部ファイルの完全修飾物理ファイル名を指定する文字定数、変数または式です。

Windows固有: filenameには、環境変数を指定できます。指定するファイル名または環境変数は、引用符で囲む必要があります。
z/OS固有: ファイル名には、ネイティブのz/OSデータセットを指定できます。また、UNIXファイルシステム(UFS)ファイルまたはディレクトリも指定できます。

詳細

FILEEXISTは、外部ファイルが存在する場合は1、外部ファイルが存在しない場合は0を返します。filenameの物理名の指定は、動作環境によって異なります。
動作環境のユーティリティで物理ファイル名の一部が認識される場合がありますが、FILEEXISTでは必ず完全修飾物理ファイル名を使用する必要があります。
FILEEXISTでは、ディレクトリの存在の有無も確認できます。
UNIX固有: 使用可能なディレクトリ情報項目は、ディレクトリパス名(directory-idのパス名)、所有者、グループ、権限、最終変更時間です。ディレクトリのnvalまたはシーケンス数は1です。directory-idが連結ディレクトリのリストを指す場合、そのディレクトリは連結ディレクトリ名のリストです。
z/OS固有: FILEEXISTでは、UNIXシステムサービス(USS)のディレクトリも確認できます。

この例では、外部ファイルが存在するかどうかを確認します。ファイルが存在する場合、FILEEXISTはそのファイルを開きます。ファイルが存在しない場合、FILEEXISTはSASログにメッセージを表示します。マクロステートメントでは、文字列を引用符で囲む必要はありません。
%if %sysfunc(fileexist(&myfilerf)) %then
    %let fid=%sysfunc(fopen(&myfilerf));
%else
   %put The external file &myfilerf does not exist.;

関連項目:

前のページ|次のページ|ページの先頭へ