首页 > 解决方案 > 在本地执行 rsubmit 语句

问题描述

我有许多.sas要在本地运行并使用rsubmit-endrsubmit块将作业提交到远程服务器的脚本。当尝试在远程服务器本身上运行脚本时,SAS Enterprise Guide 偶然发现了这些语句并抱怨:

ERROR: Invalid or unspecified remote session ID. Set OPTIONS REMOTE=session_id.
NOTE: Subsequent lines will be ignored until ENDRSUBMIT.

有没有办法告诉 SAS 如此简单地在本地执行代码块?

标签: sas

解决方案


您需要添加宏逻辑来确定是否需要提交 RSUBMIT 行。

您可以使用自动宏变量:SYSHOSTNAME 或 SYSENV 来确定您在哪个系统上,然后使用它来控制逻辑。

%if &syshostname = somevalue %then %do;
          rsubmit .....;
%end;

如果您使用的是 SAS 9.4 M5+,您现在可以在 oepn 代码中使用 %IF/%THEN。您必须进行一些测试和研究,以确定您在每个系统中获得的价值以及对您来说确切的“someValue”应该是什么。


推荐阅读