Syslput,rsubmit&宏

时间:2015-02-03 13:28:24

标签: sas

我正在尝试将宏中的本地宏变量传递给远程会话,如下所示(此示例假设已经签署了mynode):

%macro mytest;

%do i = 1 %to 3;

%syslput mynewval = &i;

rsubmit mynode;

%let mynewval2 = &mynewval;
%put &mynewval2;

endrsubmit;

这看起来对我来说是正确的语法,然而'& mynewval2'当我尝试将其打印到日志时,它将解析为空白。谁能看到我做错了什么?

谢谢

%end;
%mend;

%mytest;

1 个答案:

答案 0 :(得分:1)

%let mynewval2 = &mynewval;正在客户端而不是服务器上运行。 IE,本地宏处理器正在运行代码。它不知道&mynewval是什么 - 你用远程系统定义它。

尝试在宏中包装RSUBMIT中的代码。我没有获得SAS / CONNECT许可,所以我无法测试。

rsubmit mynode;

%macro run_on_server();
%let mynewval2 = &mynewval;
%put &mynewval2;
%mend;

%run_on_server();

endrsubmit;