对于识别正在执行的SAS代码/程序,有什么通用的建议吗?
我的代码将在通用宏中执行,因此可以在存储进程、另一个宏、客户端SAS程序中调用,甚至可以在使用IOM通过中间层生成的SAS代码中调用。我想要尽可能高级别的标识符..(如果再次运行相同的程序,它将返回相同的结果-因此进程id不会有任何帮助)。
环境不是windows,所以这段代码没有什么帮助:
%put %sysget(SAS_EXECFILENAME);此外,宏不一定是第一个被调用的程序(如果它甚至是一个程序)-因此这段代码也没有帮助:
proc sql noprint;
select xpath into :progname
from sashelp.vextfl where upcase(xpath) like '%.SAS';
%put &progname;发布于 2012-11-17 06:11:54
在我看来,您可能需要考虑一下如何更多地使用它。如果同一个用户打开了两个运行相同代码的会话,该怎么办?应该使用相同的文件名吗?
在代码运行之前,您是否可以简单地要求您的代码片段必须指定了某个变量?否则返回一个错误/中止进一步的处理?
回答你最初的问题,但我认为这是不可能的。
https://stackoverflow.com/questions/13418729
复制相似问题