Answer: When assign a value to macro variable, e.g "new", the steps are blow: 1. search the "new" in local symbol table. If exist, assign it. 2. if local symbol table has no "new", search the "new" in global symbol table. If exist, assign it. 3. if global symbol table has no "new", create local macro variable "new" and assign it.
So, please try the code below, which should be what you want: %let new=inventry; %macro name1; %local new; %let new=report; %mend name1; %name1