1# BraveMadMan
data a;
a=1;
b=2;
c=3;
d=4;
run;
option mprint;
%macro nvar(Dsn= /*Data set name */);
data null;
if exist("&Dsn") then do;
Dsid = open("&Dsn","i");
Nvar = attrn(Dsid,"NVARS");
end;
else Nvar=0;
call symput("want",repeat("C",nvar-1));
rc = close(Dsid);
run;
%put want= &want;
%mend nvar;
%nvar(dsn=a);