26%macro mm_getauthinfo(outds=mm_getauthinfo
30%let prefix=%substr(%mf_getuniquename(),1,25);
32%mm_getobjects(type=Login,outds=&prefix.0)
35%let fileref=%mf_getuniquefileref();
39 set &prefix.0 end=last;
41 str=cats(
'%mm_getdetails(uri=',
id,
",outattrs=&prefix.d",_n_
42 ,
",outassocs=&prefix.a",_n_,
")");
45 str=cats(
"proc transpose data=&prefix.d",_n_,
"(drop=type) out=&prefix.da"
46 ,_n_,
"(drop=_name_);var value;id name;run;");
49 str=cats(
"data &prefix.da",_n_,
";length login_id login_name $256; login_id="
50 ,quote(trim(
id)),
";set &prefix.da",_n_
51 ,
";login_name=trim(subpad(name,1,256));drop name;run;");
54 str=cats(
"data &prefix.a",_n_,
";length login_id login_name $256; login_id="
55 ,quote(trim(
id)),
";login_name=",quote(trim(name))
56 ,
";set &prefix.a",_n_,
";run;");
60 str=cats(
"data &prefix._logat; set &prefix.da1-&prefix.da",_n_,
";run;");
63 str=cats(
"data &prefix._logas; set &prefix.a1-&prefix.a",_n_,
";run;");
66 str=cats(
"proc delete data=&prefix.da1-&prefix.da",_n_,
";run;");
68 str=cats(
"proc delete data=&prefix.d1-&prefix.d",_n_,
";run;");
70 str=cats(
"proc delete data=&prefix.a1-&prefix.a",_n_,
";run;");
75%
if &mdebug=1 %then %
do;
79 input; putlog _infile_;
83filename &fileref clear;
86proc sort data=&prefix._logas(where=(assoc=
'Libraries')) out=&prefix._temp;
91 length library_list $32767;
93 if first.login_id then library_list=name;
94 else library_list=catx(
' !! ',library_list,name);
97create table &prefix._dom as
98 select login_id,name as domain
100 where assoc=
'Domain';
101create unique index login_id on &prefix._dom(login_id);
103create table &outds as
107 from &prefix._logat (drop=ishidden lockedby usageversion publictype) a
108 left join &prefix._temp b
109 on a.login_id=b.login_id
110 left join &prefix._dom c
111 on a.login_id=c.login_id;
113%
if &mdebug=0 %then %
do;
114 proc datasets lib=work;