下面是我的问题的简单表示。我不控制数据,也不控制所应用的格式(这是存储过程Web应用程序的后端服务)。我的目标是返回生成的错误消息-在这种情况下,它实际上是NOTE
。
data _null_;
input x 8.;
cards;
4 4
;
run;
以上内容生成:
注意:第61 1-8行中x的数据无效。规则:
---- + ---- 1 ---- + ---- 2 ---- + ---- 3 ---- + ---- 4 ---- + ---- 5 ---- + ---- 6 ---- + ---- 7 ---- + ---- 8 ---- + ---- 9 ---- + ---- 0 61 4 4 x =。 ERROR = 1 N = 1注意:使用的DATA语句(总计 处理时间): 实时0.00秒 cpu时间0.01秒
捕获错误状态(if _error_ ne 0 then do
)很容易,但是我想做的就是返回NOTE的值-方便地告诉我们哪一列无效以及行号和列号。
如果没有日志扫描,是否有可能?我尝试sysmsg()
和syswarningtext
都无济于事。
答案 0 :(得分:2)
AFAIK,没有功能可在数据步骤运行时捕获数据步骤引起的注释。
由于您处于STP环境中,因此可以使用以下任一方法:
-altlog
在会话启动时或proc printto log=…
包装步骤然后进行扫描。