This might get you started:
%macro genmacro( vlist, table, filter);
data T; X=1;
proc sql;
select 1 ,1
from T, T where 1; quit;
%mend;
%genmacro;
data _null_;
infile mprint lrecl=32000 pad;
file "%sysfunc(pathname(WORK))\mfile.sas" lrecl=32000;
input X $32000.;
L=length(X);
if X =: 'select ' then
do until(POS=0);
POS=prxmatch('/ (from|inner|left|right|full|union|intersect|except|where|on|group by|having|order by)/',X);
if POS then do;
put X $varying32000. POS;
X=substr(X,POS+1);
end;
else put X ;
end;
else put X $varying32000. L;
run;
data _null_;
infile "%sysfunc(pathname(WORK))\mfile.sas" ;
input;
put _infile_;
run;
data T; X=1; proc sql; select 1 ,1 from T, T where 1; quit;
... View more