Hi, As Tom pointed out, %symexist() tests whether or not a macro variable (symbol) exists. %sysmacexist() tests whether a macro exists. In your case, looks like you are using the %window statement to gather input values from users. As I understand it, the %window statement you have will always create three macro variables. But, the user may have left some of the values blank. Even if a user does not input a value for &IBCP_EMS, the macro variables still exists, and the value is blank. So %symexist() can't help you. What you need is a way to test if a macro symbol is blank or not. Luckily for you, Chang Chung and John King wrote a great paper on methods for doing this: http://support.sas.com/resources/papers/proceedings09/022-2009.pdf And they concluded with a suggestion for a simple macro, %isBlank, which should work for you, e.g.: %macro isBlank(param) ;
%sysevalf(%superq(param)=,boolean)
%mend isBlank ;
%put %isBlank(&IBCP_EMS) ;
%put %isBlank(&IBCP_ACP) ;
%put %isBlank(&IBCP_SCP) ;
HTH, --Q.
... View more