28%macro mm_adduser2group(user=
33%local check uuri guri;
37 length uri type msg $256;
38 call missing(of _all_);
39 rc=metadata_getnobj(
"omsobj:Person?@Name='&user'",1,uri);
41 msg=
"%str(WARN)ING: rc="!!cats(rc)!!
" &user not found "!!
42 ", or there was an err reading the repository.";
43 call symputx(
'check',msg);
47 call symputx(
'uuri',scan(uri,2,
'\'));
49 rc=metadata_getnobj(
"omsobj:IdentityGroup?@Name='&group'",1,uri);
51 msg=
"%str(WARN)ING: rc="!!cats(rc)!!
" &group not found "!!
52 ", or there was an err reading the repository.";
53 call symputx(
'check',msg);
57 call symputx(
'guri',scan(uri,2,
'\'));
59 rc=metadata_getnobj(
"omsobj:Person?Person[@Name='&user'][IdentityGroups/*[@Name='&group']]",1,uri);
61 msg=
"%str(WARN)ING: rc="!!cats(rc)!!
" &user already in &group";
62 call symputx(
'check',msg);
66 if &mdebug ne 0 then put (_all_)(=);
70%
if %quote(&check) ne %quote(ok) %then %
do;
75%
if &syscc ge 4 %then %
do;
76 %put %str(WARN)ING: SYSCC=&syscc, exiting &sysmacroname;
81filename __us2grp temp;
83proc metadata in=
"<UpdateMetadata><Reposid>$METAREPOSITORY</Reposid><Metadata>
84 <Person Id='%nrstr(&uuri)'>
85 <IdentityGroups><IdentityGroup ObjRef='%nrstr(&guri)' />
86 </IdentityGroups></Person></Metadata>
87 <NS>SAS</NS><Flags>268435456</Flags></UpdateMetadata>"
91%
if &mdebug ne 0 %then %
do;
94 infile __us2grp lrecl=32767;
100filename __us2grp clear;
102%mend mm_adduser2group;