%macro xw(x);
%let y=a b c d e f g h;
%let b=%sysfunc(tranwrd(&y,&x,));
%put &b;
proc corr data=fff;
var &x;
with ltem;
partial &b;
run;
%mend;
%macro xx/parmbuff;
%let i=1;
%do %while(%scan(&syspbuff,&i) ne);
%let x=%scan(&syspbuff,&i);
%let i=%eval(&i+1);
%xw(&x)
%end;
%mend xx;
%xx(a b c d e f g h)