program 1.
%macro data(data=,var1=,var2=,i=,j=);
data &data.;
do i=1 to &i.;
do j=1 to &j.;
&var1.="&var1.&i.";
&var2.="&var2.&j.";
output;
end;
end;
run;
%mend;
%data(data=a,var1=a,var2=b,i=3,j=3);
program 2.
%macro data(data=,var1=,var2=,i=,j=);
data &data.;
%do i=1 %to &i.;
%do j=1 %to &j.;
&var1.="&var1.&i.";
&var2.="&var2.&j.";
output;
%end;
%end;
run;
%mend;
%data(data=a,var1=a,var2=b,i=3,j=3);
why get two different results.