29 %macro mp_getmaxvarlengths(
31 ,outds=work.mp_getmaxvarlengths
34 %local vars x var fmt;
35 %let vars=%getvars(libds=&libds);
38 create table &outds (rename=(
39 %
do x=1 %to %sysfunc(countw(&vars,%str( )));
44 %do x=1 %to %sysfunc(countw(&vars,%str( )));
45 %let var=%scan(&vars,&x);
47 %if %mf_getvartype(&libds,&var)=C %then %do;
48 max(length(&var)) as _&x
51 %let fmt=%mf_getvarformat(&libds,&var);
53 %if %str(&fmt)=%str() %then %do;
54 max(length(cats(&var))) as _&x
57 max(length(put(&var,&fmt))) as _&x
63 proc transpose data=&outds
64 out=&outds(rename=(_name_=name COL1=ACTMAXLEN));