是否有任何用於識別正在執行的SAS代碼/程序的一般性建議?獲取正在運行的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;
你打算如何處理這些信息? – Joe
該信息將用於命名mfile(已解析)代碼以存儲在單獨的位置。這不是一個大問題,因爲我可以使用時間戳,如果這個信息可用,它會很好! –
這個問題已經存在了一段時間,我相信..可能是沒有答案/不可能確定,因爲正在執行的代碼從未保存 - 所以並不真正「存在」! –