25 %macro mm_adduser2group(user=
30 %local check uuri guri;
34 length uri type msg $256;
35 call missing(of _all_);
36 rc=metadata_getnobj(
"omsobj:Person?@Name='&user'",1,uri);
38 msg=
"%str(WARN)ING: rc="!!cats(rc)!!
" &user not found "!!
39 ", or there was an err reading the repository.";
40 call symputx(
'check',msg);
44 call symputx(
'uuri',scan(uri,2,
'\'));
46 rc=metadata_getnobj(
"omsobj:IdentityGroup?@Name='&group'",1,uri);
48 msg=
"%str(WARN)ING: rc="!!cats(rc)!!
" &group not found "!!
49 ", or there was an err reading the repository.";
50 call symputx(
'check',msg);
54 call symputx(
'guri',scan(uri,2,
'\'));
56 rc=metadata_getnobj(
"omsobj:Person?Person[@Name='&user'][IdentityGroups/*[@Name='&group']]",1,uri);
58 msg=
"%str(WARN)ING: rc="!!cats(rc)!!
" &user already in &group";
59 call symputx(
'check',msg);
63 if &mdebug ne 0 then put (_all_)(=);
67 %
if %quote(&check) ne %quote(ok) %then %
do;
72 %
if &syscc ge 4 %then %
do;
73 %put WARNING: SYSCC=&syscc, exiting &sysmacroname;
78 filename __us2grp temp;
80 proc metadata in=
"<UpdateMetadata><Reposid>$METAREPOSITORY</Reposid><Metadata>
81 <Person Id='&uuri'><IdentityGroups><IdentityGroup ObjRef='&guri' />
82 </IdentityGroups></Person></Metadata>
83 <NS>SAS</NS><Flags>268435456</Flags></UpdateMetadata>"
87 %
if &mdebug ne 0 %then %
do;
90 infile __us2grp lrecl=32767;
96 filename __us2grp clear;