Хотя у меня есть обработка ошибок:
filename myfile email
to=&e_mail.
subject= "Error: &number."
type="text/plain";
%macro errmail;
%if &syserr ne 0 %then %do;
options obs= max replace nosyntaxcheck;
data _null_;
file myfile;
put;
put 'ERROR';
put "&syserrortext";
put 'check a log'
run;
%abort cancel;
%end;
%mend errmail;
когда у меня ошибка в proc export: (&number. это таблица в работе)
proc export data=&number.
outfile="/usr/local/backup/&number./&number._%SYSFUNC(TODAY(),DATE9.).txt"
replace
dbms=dlm;
delimiter=';';
run;
%errmail;
ERROR: Physical file does not exist, /usr/local/backup/2116/2116_13MAY2016.txt.
NOTE: The SAS System stopped processing this step because of errors.
NOTE: There were 1 observations read from the data set WORK.2116.
NOTE: DATA statement used (Total process time):
real time 0.01 seconds
cpu time 0.01 seconds
SAS не проверяет макрос и не отправляет электронное письмо. У меня ошибка в пути, поэтому я понимаю ошибку, но мне нужно электронное письмо об этом, и я хочу, чтобы SAS прекратил обработку из-за макроса. Добавление некоторых опций в макрос может это исправить?
PROC IMPORT
иPROC EXPORT
есть проблемы с правильной настройкой&SYSERR
. Вместо этого, возможно, полагайтесь на&SYSERRTEXT
(который устанавливается правильно). - person Joe   schedule 13.05.2016&syserr ne 0
? для системного текста? Но если &syserr=0 для экспорта proc, почему SAS останавливается, хотя у меня есть опция nosyntaxcheck? - person aola   schedule 13.05.2016