SAS中文论坛

标题: 如何解决%display is currently executing的问题? [打印本页]

作者: shiyiming    时间: 2010-3-28 10:33
标题: 如何解决%display is currently executing的问题?
我定义了一些热键。比如F4执行“gsubmit "%setsymbolgen;"”。

%macro setsymbolgen/store;
        %if %sysfunc(getoption(symbolgen))=SYMBOLGEN %then
                %do;
                        %str(options nosymbolgen;);
                        %put --执行语句--:%str(options NOSYMBOLGEN;);
                %end;
        %else %do;
                        %str(options symbolgen;);
                        %put --!!执行语句!!--:%str(options symbolgen;);
                %end;
%mend;


现在发现,如果我在编辑器中提交的程序存在open code recursion错误,比如下面的少一个引号。
data a;
x=" ;
run;
这时这些热键就不能正常运行(大概从第二次按这个热键开始),就会出现提示:
NOTE: a %DISPLAY statement is currently executing. All subsequently submitted statements will not begin executing until its completion.

我尝试了运行*";*';*);*/;%abort;abort;run;end;%mend;这句,也没有效果。请问如何解决这个问题??

在编辑器中提交程序还是可以正常运行的,只是不能在命令行gsubmit提交程序了。

我的是SAS 9.2。盼高手。。。




欢迎光临 SAS中文论坛 (http://www.mysas.net/forum/) Powered by Discuz! X3.2