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=
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.