The thing I don't understand is why the marco variable proc is global instead of local to the marco one?
Thanks!
options mprint symbolgen;
mprint symbolgen;%macro one; data _null_; call symput('proc', 'means'); run; proc &proc data=sashelp.class; run;
data _null_;
call symput('proc', 'means'); run; proc &proc data=sashelp.class; run;
run;
proc &proc data=sashelp.class;
run;
%mend; %one
%one
%put _local_;
_local_;%put _global_;
_global_;