前のページ|次のページ

DOPEN関数

ディレクトリを開き、ディレクトリ識別子の値を返します。

カテゴリ: 外部ファイル
制限事項: DOPENを呼び出す前に、ファイル参照名をディレクトリに関連付ける必要があります。
Windows固有: filerefは、環境変数を使用して割り当て可能です。
UNIX固有: filerefは、環境変数を使用して割り当て可能です。

構文

DOPEN(fileref)

必須引数

fileref

ディレクトリに割り当てられたファイル参照名を指定する文字定数、変数または式です。DATAステップでは、filerefに文字式、引用符で囲んだ文字列または値にファイル参照名が含まれるDATAステップ変数を使用できます。マクロでは、filerefに任意の式を使用できます。

詳細

DOPENは、ディレクトリを開き、他のSAS外部ファイルアクセス関数でそのディレクトリの識別に使用するディレクトリ識別子の値(0より大きい値)を返します。ディレクトリを開けない場合、DOPENは0を返します。SYSMSG関数を呼び出すことでそのエラーメッセージを取得できます。開かれるディレクトリは、ファイル参照名で識別される必要があります。ファイル参照名を割り当てるには、FILENAMEステートメントまたはFILENAME外部ファイルアクセス関数を使用します。一部の動作環境では、システムコマンドを使用してファイル参照名を割り当てることもできます。
マクロからDOPEN関数を呼び出した場合、呼び出し結果はその結果がマクロ内で関数に渡される場合にのみ有効です。DATAステップからDOPEN関数を呼び出した場合、結果はその結果が同じDATAステップ内で関数に渡される場合にのみ有効です。
動作環境の情報: この関数の説明で使用される、SAS外部ファイルアクセス関数に関連する用語ディレクトリは、動作環境で管理されるファイルをグループ化した集合を指します。異なる動作環境では、異なる名前を持つグループが識別されます。たとえば、ディレクトリ、サブディレクトリ、フォルダ、MACLIB、区分データセットなどです。
z/OS固有: DOPENは、区分データセット(PDS、PDSE)やUNIXシステムサービスで利用できるディレクトリ構造に適用されます。コードの例については、DINFO関数を参照してください。

例1: DOPENを使用してディレクトリを開く

この例では、ファイル参照名MYDIRをディレクトリに割り当てます。 DOPENを使用してディレクトリを開きます。DOPTNUMで使用可能なシステム依存のディレクトリ情報項目数を確認し、DCLOSEでディレクトリを閉じます。
%let filrf=MYDIR;
%let rc=%sysfunc(filename(filrf, physical-name));
%let did=%sysfunc(dopen(&filrf));
%let infocnt=%sysfunc(doptnum(&did));
%let rc=%sysfunc(dclose(&did));

例2: DATAステップ内でDOPENを使用する

この例では、DATAステップ内で処理するディレクトリを開きます。
data _null_;
   drop rc did;
   rc=filename("mydir", "physical-name");
   did=dopen("mydir");
   if did > 0 then do;
      ...more SAS statements...
   end;
   else do;
      msg=sysmsg();
      put msg;
   end;
run;

関連項目:

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