由于 NOEXEC 选项,语句未执行。在SAS

问题描述 投票:0回答:1

我在自动执行 SAS 程序时遇到一个小问题。例如,如果在部分代码中检测到错误,则会激活一个选项来取消整个代码的执行(代码不链接) **“NOTE 由于 NOEXEC 选项而未执行语句。 “**如何在整个程序中禁用此选项?

MPRINT(INSERTION)   proc sql; 
 NOTE PROC SQL set option NOEXEC and will continue to check the syntax of statements. 
 MPRINT(INSERTION)   select Evaluation_Maj into Evaluation from ASGARDD.Controle_MajTableSAS where Nom_Table="CONTRAT" and  
 Annee_Execution=year(today()) and Mois_Execution=month(today()) and ( Jour_Execution=day(today())-1 or (  
 Jour_Execution=day(today())-2 and not exists ( select 1 from ASGARDD.Controle_MajTableSAS where Nom_Table="CONTRAT" and  
Annee_Execution=year(today()) and Mois_Execution=month(today()) and Jour_Execution=day(today())-1 ) ) ); 
 NOTE Statement not executed due to NOEXEC option. 
 MPRINT(INSERTION)   quit;  ```
sas sas-macro
1个回答
0
投票

如果不了解整个程序,这很困难,但是如果程序的一部分创建了一个错误,导致 NOEXEC 被打开,那么处理该错误就很重要。您可以尝试将程序分段为宏,以便可以在执行产生错误的程序部分之前测试所需的元素是否可用。您可以通过不运行较早的代码来避免该错误。很高兴用更多信息来扩展这个答案。

© www.soinside.com 2019 - 2024. All rights reserved.