Hi,
I have a macro which is being called from a JAVA program and has certain validations in it. If the validation fails code goes to exit label and does clean up and exits. Now based on the error codes/error text of these custom validation, the value is updated in the database along with the status SUCCESS/FAILURE.
The validations looks something like:
%if %sysevalf(%superq(abc) =, boolean)=1 %then %do;
%put ===========================Problem Code==========================;
%put;
%put;
%put %str(ERR)OR: (&sysmacroname) The value of parameter abc is empty ;
%put;
%put;
%put ====================Usage for Macro &sysmacroname================;
%goto exit;
%end;
Now, I want to capture the error messages from the program after it completes execution. Pleasehelp me in doing so. There are certain automatic variables like syserr, syscc & sysrc, but I am not sure how to use them.
Look at setting the stdio system option. That way you can write output to stdout and log to stderr, and catch those streams in Java.
You can also use the abort abend n; statement (or %abort macro statement) to end the SAS job immediately and set a return code.
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.