24 ,outds=work.mm_getGroups
29 %
if &mDebug=1 %then %let mD=;
30 %
else %let mD=%str(*);
31 %&mD.put Executing mm_getGroups.sas;
34 %
if %length(&user)=0 %then %
do;
35 data &outds (keep=groupuri groupname groupdesc);
36 length groupuri groupname groupdesc group_or_role $256;
37 call missing(of _all_);
40 (metadata_getnobj(
"omsobj:IdentityGroup?@Id contains '.'",i,groupuri)>0);
41 rc=metadata_getattr(groupuri,
"Name", groupname);
42 rc=metadata_getattr(groupuri,
"Desc", groupdesc);
43 rc=metadata_getattr(groupuri,
"PublicType",group_or_role);
44 if Group_or_Role =
'UserGroup' then output;
50 data &outds (keep=groupuri groupname groupdesc);
51 length uri groupuri groupname groupdesc group_or_role $256;
52 call missing(of _all_);
53 rc=metadata_getnobj(
"omsobj:Person?@Name='&user'",1,uri);
55 putlog
"WARNING: rc=" rc
"&user not found " 56 ", or there was an error reading the repository.";
60 grpassn=metadata_getnasn(uri,
"IdentityGroups",a,groupuri);
61 if grpassn in (-3,-4) then do;
62 putlog "WARNING: No groups found for ";
65 else do while (grpassn > 0);
66 rc=metadata_getattr(groupuri, "Name", groupname);
67 rc=metadata_getattr(groupuri, "Desc", groupdesc);
69 rc=metadata_getattr(groupuri,"PublicType",group_or_role);
70 if Group_or_Role = 'UserGroup' then output;
71 grpassn=metadata_getnasn(uri,"IdentityGroups",a,groupuri);