DATA Step, Macro, Functions and more

Fetching return codes from a macro

Reply
Contributor
Posts: 21

Fetching return codes from a macro

[ Edited ]

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.

Super User
Posts: 7,866

Re: Fetching return codes from a macro

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.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
Ask a Question
Discussion stats
  • 1 reply
  • 73 views
  • 0 likes
  • 2 in conversation