24 %macro mm_getgroupmembers(
26 ,outds=work.mm_getgroupmembers
32 attrib uriGrp uriMem GroupId GroupName Group_or_Role MemberName MemberType
35 rcGrp rcMem rc i j length=3;
36 call missing (of _all_);
37 drop uriGrp uriMem rcGrp rcMem rc i j arc ;
40 * Grab the URI
for the first Group ;
42 rcGrp=metadata_getnobj(
"omsobj:IdentityGroup?@Name='&group'",i,uriGrp);
45 rcGrp=metadata_getnobj(
"omsobj:IdentityGroup?@Id='&group'",i,uriGrp);
47 * If Group found, enter
do loop ;
49 call missing (rcMem,uriMem,GroupId,GroupName,Group_or_Role
50 ,MemberName,MemberType);
52 rc = metadata_getattr(uriGrp,
"Id",GroupId);
53 rc = metadata_getattr(uriGrp,
"Name",GroupName);
54 rc = metadata_getattr(uriGrp,
"PublicType",Group_or_Role);
55 rc = metadata_getattr(uriGrp,
"Desc",GroupDesc);
57 do while (metadata_getnasn(uriGrp,
"MemberIdentities",j,uriMem) > 0);
58 call missing (MemberName, MemberType, email);
59 rc = metadata_getattr(uriMem,
"Name",MemberName);
60 rc = metadata_getattr(uriMem,
"PublicType",MemberType);
61 if membertype=
'User' and
"&emails"=
'YES' then
do;
62 if metadata_getnasn(uriMem,
"EmailAddresses",1,euri)>0 then
do;
63 arc=metadata_getattr(euri,
"Address",email);