66%macro mp_dsmeta(libds,outds=work.dsmeta);
69data;run; %let ds1=&syslast;
70data;run; %let ds2=&syslast;
73ods output attributes=&ds1 enginehost=&ds2;
76proc contents data=&libds;
80data &outds (keep=ods_table name value);
81 length ods_table $10 name label2 label1 label $100
82 value cvalue cvalue1 cvalue2 $1000
83 nvalue nvalue1 nvalue2 8;
84 if _n_=1 then call missing (of _all_);
86 set &ds1 (in=atrs) &ds2 (in=eng);
88 ods_table=
'ATTRIBUTES';
89 name=coalescec(label1,label);
90 value=coalescec(cvalue1,cvalue,put(coalesce(nvalue1,nvalue),best.));
92 if label2 ne
'' then
do;
94 value=coalescec(cvalue2,put(nvalue2,best.));
99 ods_table=
'ENGINEHOST';
100 name=coalescec(label1,label);
101 value=coalescec(cvalue1,cvalue,put(coalesce(nvalue1,nvalue),best.));
107drop table &ds1, &ds2;