Hi,
I am trying to extract details of the users from Groups.
The details I am looking to extract are
1. User name
2. user email
3 name of the group
I have tried using the below mentioned,
/* Use the META* options to specify the options for connecting to the */
/* metadata server that contains the user information. */
options metaserver=zzzzzzzz123456.xxxxxbe.com
metaport=8561
metauser="metaxxxxxxxx"
metapass="xxxxxxxxxxxx"
/*metaprotocol=bridge*/
metarepository=Foundation;
data users_grps;
length uri name group groupuri $256 id $20;
/* Initialize variables to missing. */
n=1;
uri='';
name='';
group='';
groupuri='';
id='';
/* Determine how many person objects are defined. */
nobj=metadata_getnobj("omsobj:Person?@Id contains '.'",n,uri);
if nobj=0 then put 'No Persons available.';
else do while (nobj > 0);
/* Retrieve the current person's name. */
rc=metadata_getattr(uri, "Name", Name);
/* Get the group association information for the current person. */
a=1;
grpassn=metadata_getnasn(uri,"IdentityGroups",a,groupuri);
/* If this person does not belong to any groups, set their group */
/* variable to 'No groups' and output the name. */
if grpassn in (-3,-4) then do;
group="No groups";
output;
end;
/* If the person belongs to any groups, loop through the list */
/* and retrieve the name of each group, outputting each on a */
/* separate record. */
else do while (grpassn > 0);
rc2=metadata_getattr(groupuri, "Name", group);
a+1;
output;
grpassn=metadata_getnasn(uri,"IdentityGroups",a,groupuri);
end;
/* Retrieve the next person's information. */
n+1;
nobj=metadata_getnobj("omsobj:Person?@Id contains '.'",n,uri);
end;
keep name group;
run;
This only gives me details of the group to which the user is a member of.
Regards,
S