首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >确定ODS设置

确定ODS设置
EN

Stack Overflow用户
提问于 2013-08-05 10:29:25
回答 1查看 1.9K关注 0票数 1

我正在一个SAS宏应用程序中工作,并在运行proc之前得到以下警告:

代码语言:javascript
复制
WARNING: No output destinations active.

使用proc比较的noprint选项并不会抑制警告。我非常肯定,消除此警告的唯一方法是在运行proc之前打开ODS目的地(如ods listing;),但是我不想破坏现有的设置,因为运行时可能存在不同的ODS状态。

是否有任何方法以编程方式确定ODS状态?例:

代码语言:javascript
复制
%let state=%sysfunc(getODSSTATE(listing)); /* for example */
ods listing;
proc compare base=x compare=y noprint; run;
ods listing &state; /* either %str(CLOSE) or %str() */
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-05 13:56:27

我原以为ODS SHOW;是一个解决方案,但它跟踪的是选择/排除,而不是开放的目的地。

一种解决方案可能是选择一个不太可能打开的目的地(可能是一个模糊的标记集),并将其打开到一个虚拟文件中,然后关闭它。ODS PREFERENCES;似乎也是一个很好的折衷方案;它至少会打开您的默认目的地。

不过,老实说,如果您正在编写宏应用程序,我将不使用ODS;应该由程序员使用宏提前正确地设置ODS。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18055974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档