現在実行しているプログラムのファイル名取得方法について
[OS] ALL
[リリース] SAS System 9以降
[キーワード] executing, program, file, SYSIN, SAS_EXECFILEPATH
[質問]現在実行しているSASプログラムのファイル名を取得する方法はありますか。
[回答]SASをバッチモードで実行している場合、SYSINオプションに実行ファイル名が格納されています。このオプションの値を参照することで、実現可能です。
また、SAS9から、DMSモードにてSAS_EXECFILEPATH環境変数内に、実行ファイル名が格納されるようになりました。DMSモードで使用している場合は、この環境変数の値を参照することで実現可能です。 次の例では、SYSINオプションに指定されたファイルパスが無い場合に、%SYSGETマクロ関数を利用してSAS_EXECFILEPATH環境変数を取得するようにしています。 例:SAS_EXECFILEPATH環境変数の取得
%LET execpath=" ";
%MACRO setexecpath;
%LET execpath=%SYSFUNC(GETOPTION(SYSIN));
%IF %LENGTH(&execpath)=0
%THEN %LET execpath=%SYSGET(SAS_EXECFILEPATH);
%MEND setexecpath;
%setexecpath;
%PUT &execpath;
|
|