I understand you're playing around a little, but I am not sure, if this would be a proper approach. If your macro list is a tupel, this is, if you always have aa, bb, and cc combined, you could simply check, for example, if cc has a value at all with "%If (&cc^=) %Then ..", etc. %macro abc(aa=, bb=, cc=); %If (&aa.^=) & (&bb.^=) & (&cc.^=) %Then %Do; *execute something; %End; %Else %Do; %Put **something is missing**; %End; %mend abc; %abc(aa=mm,bb=nn) However, if your macro parameter list is dynamic, you might want to do the checking before you split your list up into individual elements.
... View more