BookmarkSubscribeRSS Feed
Arjumand
Calcite | Level 5

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.

1 REPLY 1
Kurt_Bremser
Super User

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.

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

How to Concatenate Values

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 1 reply
  • 804 views
  • 0 likes
  • 2 in conversation