29%macro mm_adduser2group(user=
34%local check uuri guri;
38 length uri type msg $256;
39 call missing(of _all_);
40 rc=metadata_getnobj(
"omsobj:Person?@Name='&user'",1,uri);
42 msg=
"%str(WARN)ING: rc="!!cats(rc)!!
" &user not found "!!
43 ", or there was an err reading the repository.";
44 call symputx(
'check',msg);
48 call symputx(
'uuri',scan(uri,2,
'\'));
50 rc=metadata_getnobj(
"omsobj:IdentityGroup?@Name='&group'",1,uri);
52 msg=
"%str(WARN)ING: rc="!!cats(rc)!!
" &group not found "!!
53 ", or there was an err reading the repository.";
54 call symputx(
'check',msg);
58 call symputx(
'guri',scan(uri,2,
'\'));
60 rc=metadata_getnobj(
"omsobj:Person?Person[@Name='&user'][IdentityGroups/*[@Name='&group']]",1,uri);
62 msg=
"%str(WARN)ING: rc="!!cats(rc)!!
" &user already in &group";
63 call symputx(
'check',msg);
67 if &mdebug ne 0 then put (_all_)(=);
71%
if %quote(&check) ne %quote(ok) %then %
do;
76%
if &syscc ge 4 %then %
do;
77 %put %str(WARN)ING: SYSCC=&syscc, exiting &sysmacroname;
82filename __us2grp temp;
84proc metadata in=
"<UpdateMetadata><Reposid>$METAREPOSITORY</Reposid><Metadata>
85 <Person Id='%nrstr(&uuri)'>
86 <IdentityGroups><IdentityGroup ObjRef='%nrstr(&guri)' />
87 </IdentityGroups></Person></Metadata>
88 <NS>SAS</NS><Flags>268435456</Flags></UpdateMetadata>"
92%
if &mdebug ne 0 %then %
do;
95 infile __us2grp lrecl=32767;
101filename __us2grp clear;
103%mend mm_adduser2group;