This will put the variables in alphabetic order
%symdel odrvars vardim odr; * just in case it exists;
data want;
* get meta data;
if _n_ =0 then do;
%let rc=%sysfunc(dosubl('
data _null_;
set sashelp.class(obs=1);
array num _numeric_;
array chr _character_;
length vars $4096;
do i=1 to dim(num);
vars=catx(",",vars,quote(vname(num[i])));
end;
do i=1 to dim(chr);
vars=catx(",",vars,quote(vname(chr[i])));
end;
call symputx("odrvars",vars);
call symputx("vardim",put(dim(num)+dim(chr),5.));
run;quit;
data _null_;
length odr $4096;
array varall[&vardim] $32 (&odrvars);
call sortc(of varall(*));
odr=catx(" ",of varall[*]);
call symputx("odr",odr);
run;quit;
'));
end;
retain &odr;
set sashelp.class;
run;quit;
run;quit;
Up to 40 obs WORK.WANT total obs=19
Obs AGE HEIGHT NAME SEX WEIGHT
1 14 69.0 Alfred M 112.5
2 13 56.5 Alice F 84.0
3 13 65.3 Barbara F 98.0
4 14 62.8 Carol F 102.5
5 14 63.5 Henry M 102.5