清除SAS%窗口功能的输入

清除SAS%窗口功能的输入,sas,Sas,我使用的是SAS 9.2版,下面的代码根据最终用户的一些条件输入中止作业运行: %WINDOW flowmng ICOLUMN= 15 IROW= 10 COLUMNS= 80 ROWS= 20 "<Have you checked that all three Flow Manager jobs have completed successfully?>" #5 @15 "Type 'Yes' for yes or 'No' for no, THEN press [ENTER]"

我使用的是SAS 9.2版,下面的代码根据最终用户的一些条件输入中止作业运行:

%WINDOW flowmng
ICOLUMN= 15 IROW= 10
COLUMNS= 80 ROWS= 20
"<Have you checked that all three Flow Manager jobs have completed successfully?>"

#5 @15 "Type 'Yes' for yes or 'No' for no, THEN press
[ENTER]"

#9 @23 "Flow Manager jobs run?" @48 resp 3
ATTR=UNDERLINE REQUIRED=YES
;

%MACRO macronam ;
%LET null = ;
%LET resp2 = %UPCASE(&resp);
%DISPLAY flowmng ;
%IF (&resp2 eq YES) %THEN %DO;
%END;
%IF (&resp2 eq NO) %THEN %DO ;
%ABORT;
%END ;
%MEND macronam ;
%macronam;
%windowflowmng
ICOLUMN=15 IROW=10
列=80行=20行
""
#5@15“输入“是”表示是或“否”表示否,然后按
[输入]”
#9@23“流管理器作业运行?”@48 resp 3
ATTR=需要下划线=是
;
%宏观宏观经济学;
%设null=;
%让resp2=%UPCASE(&resp);
%显示流程;
%如果(&resp2 eq YES)%,则%DO;
%结束;
%如果(&resp2 eq NO)%,则为%DO;
%流产;
%结束;
%梅德马克罗南;
%马克龙南;
这一切都非常有效,除了当我重新打开窗口时,上一个作业的用户输入仍然存在。我试图寻找%WINDOW选项来重置所有字段,但在我阅读的文档中似乎找不到它

有人知道这个的语法吗


谢谢

它使用了
&resp
的值,所以只需添加

%let resp=;

在%WINDOW调用之前。

实际上,进一步研究后,将%let语句置于此位置会导致&resp的值不再传递给macronam。宏前面的%put语句显示在%window语句完成执行后,&resp的值保持null/空白。你知道为什么吗?问题是RESP2,而不是RESP。您将resp2的
%let
放在%显示之前,而不是之后,因此它永远不会正常工作-除非第一次,resp2设置为等于
&resp
(不是&resp的值)。