如果从%INCLUDE调用,SAS代码将以0个观察值运行

如果从%INCLUDE调用,SAS代码将以0个观察值运行,sas,include,Sas,Include,首先,我想说我绝对不是SAS天才。 我从一个不复存在的团队那里继承了SAS代码,这个团队是由不再在这里工作的人编写的,因此周围没有人更熟悉事情的工作方式 事物的结构是: 我们有一个SAS程序,它可以作为一个调度器,每天触发一些较小的程序。它的工作方式是使用语句检查一天中的时间,然后在此基础上使用%include语句触发存储在服务器中的程序 在过去的两年中,这一切都完美无瑕,从昨天开始,所有由该计划程序触发的代码都突然以0个观察值运行 如果我在服务器上手动打开一个程序(与调度器触发的程序相同),它

首先,我想说我绝对不是SAS天才。 我从一个不复存在的团队那里继承了SAS代码,这个团队是由不再在这里工作的人编写的,因此周围没有人更熟悉事情的工作方式

事物的结构是: 我们有一个SAS程序,它可以作为一个调度器,每天触发一些较小的程序。它的工作方式是使用语句检查一天中的时间,然后在此基础上使用%include语句触发存储在服务器中的程序

在过去的两年中,这一切都完美无瑕,从昨天开始,所有由该计划程序触发的代码都突然以0个观察值运行

如果我在服务器上手动打开一个程序(与调度器触发的程序相同),它运行正常。如果调度程序触发它,那么日志会显示数据集有0个观察值,然后停止该步骤。 自第一步开始,程序中的每一步都会发生这种情况,其简单程度如下所述:

data drawdown;
set server01.legacy_mapping_drawdown;
run;
如果我手动运行上述步骤,日志将显示:

NOTE: The data set WORK.drawdown has 13643 observations and 107 variables.
如果这是由%include语句触发的,则日志将显示:

NOTE: The data set WORK.drawdown has 0 observations and 107 variables.
WARNING: Data set WORK.drawdown was not replaced because this step was stopped.
我完全不知道为什么会发生这种事。 事实上,这种情况始于2020年2月2日,这让我相信新年可能与此有关。 调度程序中的代码已经有一段时间没有被触动了,并且几个代码正在被触发。这取决于他们如何执行这些更改,这些更改取决于手动触发或通过调度程序触发

我知道这里几乎没有技术细节,但实际上没有太多

如果您有任何意见,我将不胜感激


谢谢。

您能包含宏吗?将
/source2
选项添加到
%include
语句中,以便日志显示从该文件读取的代码行。还包括来自由
%include
语句生成的步骤的SAS日志中的行。文件与您预期的不同,或者行被截断。您可能需要检查LRECL和/或S2的系统选项,并可能将这些选项添加到您的%INCLUDE语句中。在引用消息之前,应该有某种类型的错误消息,以解释停止该步骤的原因。可能存在许可,与
SERVER01
库连接相关的授权或资源问题。您可能有无效的日期限制。检查告诉代码执行与否的逻辑,以及与日期相关的逻辑。或者至少发布该部分。