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=
Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.
Register today!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.
Select SAS Training centers are offering in-person courses. View upcoming courses for: