実行されているSASコード/プログラムを識別するための一般的な提案はありますか?
私のコードは汎用マクロ内で実行されるため、ストアードプロセス、別のマクロ、クライアントSASプログラム、またはIOMを使用して中間層を介して生成されたSASコード内で呼び出すことができます。可能な限り最高レベルの識別子が欲しいのですが(同じプログラムを再度実行すると同じ結果が返されるものなので、プロセスIDは役に立ちません)。
環境はウィンドウではないため、このコードは役に立ちません。
%put %sysget(SAS_EXECFILENAME);
また、マクロは必ずしも呼び出される最初のプログラムではありません(プログラムである場合でも)。したがって、このコードも役に立ちません。
proc sql noprint;
select xpath into :progname
from sashelp.vextfl where upcase(xpath) like '%.SAS';
%put &progname;