Hi everyone,
How to clear syserrortext macro vaiable?
data se%;
test = "&syserrortext";
run;
DATA SE%;
22 | |
200 |
ERROR 22-322: Syntax error, expecting one of the following: a name, a quoted string, (, /, ;, _DATA_, _LAST_, _NULL_.
ERROR 200-322: The symbol is not recognized and will be ignored.
this is correct for resolving macro,
data clear;
sett="&syserrortext ";
run;
proc sql;
select count(*) into : error from clear;
run;
%macro test;
%if &error >0 %then %do;
data test;
set sashelp.class;
run;
%end;
%else %if &error=0 %then %do;
Successfully Generated;
%end;
%mend;
%test;
here , syserrortext affecting second program
data set;
set sashelp.class;
run;
data clear12;
sett="&syserrortext ";
run;
proc sql;
select count(*) into : error from clear;
run;
%macro test;
%if &error >0 %then %do;
data test;
set sashelp.class;
run;
%end;
%else %if &error=0 %then %do;
Successfully Generated;
%end;
%mend;
%test;
please help me, to clear syserortext macrovaribale.
Thanks in advance
Automatic macro variable SYSERRORTEXT is a read-only variable. The only way I have found to reset SYSERRORTEXT to blank is to log a blank error message. Not super useful because of the extra ERROR: line in the log file.
Also, SYSERRORTEXT captures only the last ERROR: line logged.
Example:
options nosource;
libname xyz abc "123"; %put &=SYSERRORTEXT; %if %length(&SYSERRORTEXT) %then %do; %put ERROR: %str( ); %end; %put &=SYSERRORTEXT;
will log
ERROR: The ABC engine cannot be found.
ERROR: Error in the LIBNAME statement.
SYSERRORTEXT=Error in the LIBNAME statement.
ERROR:
SYSERRORTEXT=
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.