My guess is that when you defining the macro you are giving it more variables than you have listed. When defining macros SAS will either use the position or the keyword and it all depends on how you define it in the macro statement. For example %Macro Test(A = 1, B, C); ... %Mend; A is a keyword parameter and B is a positional parameter. If you do %Macro Test(B, C, A = 1); then you shouldn't get this error. SAS does this so that say you have multiple positional variables and do the following: %Macro Test(B, C, A = 1); ... %Mend; %TEST( , 2, ); So that B = NULL, C = 2 and A = 1. Hope that helps.
... View more