現在実行しているプログラムのファイル名取得方法について
[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; |