LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (September 2006, week 3)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:   Thu, 21 Sep 2006 20:05:32 -0400
Reply-To:   "Richard A. DeVenezia" <rdevenezia@WILDBLUE.NET>
Sender:   "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:   "Richard A. DeVenezia" <rdevenezia@WILDBLUE.NET>
Subject:   Re: Macro will execute if macro variable contains some value other
Comments:   To: sas-l@uga.edu

Kuladeep Mittapalli wrote: > Hi, > > I have one Macro,Macro will send Mail to The mailer. > > I want,Macro should execute only when Macro variable contains some > values other than no need to execute the macro.But the below code is > not working...would you please help me in this issue.

Check the length of a macro variable to see if it contains anything. A macro variable declared in a macro definition always exists in the macro symbol table (detected with SYMEXIST). There is no guarantee the macro variable will contain anything -- that depends on the caller.

%macro FOOBAR (ARG1=); %if %length(&ARG1.) = 0 %then %do; %put Hey Kuladeep, you called me with an argument that has no value; %return; %end; %put ARG1 is &ARG1.; %mend;

%FOOBAR(ARG1=something); %FOOBAR(ARG1=); %FOOBAR;

* Note: ARG1 could be a macro quoted blank string, you should plan for worst case scenarios when you distribute a macro to a user community beyond yourself; %FOOBAR(ARG1=%str( ));

-- Richard A. DeVenezia http://www.devenezia.com/


Back to: Top of message | Previous page | Main SAS-L page