добавление мета-пользователя в метагруппу в sas - PullRequest
1 голос
/ 26 апреля 2019

У меня около 600 мета пользователей в SAS EGRC 6.1 на платформе в SAS 9.4.

Я хочу добавить этих пользователей в метагруппу.для этого я использую код ниже

libname current '/tmp/temp1';   /* for the current metadata */

libname addgrps '/tmp/temp2';  /* current augmented with the changes */

libname updates '/tmp/temp3';  /* for the updates created by the mducmp macro */


options metaserver=abc

        metaport=8561

        metauser='sasadm@saspw'

        metapass='xyz123'

        metaprotocol=bridge

        metarepository=foundation;


%mduextr(libref=current);


proc copy in = current out = addgrps;
/*copy the current data to the directory for the target */
run;

data investigators_1;
set current.person;
where name in ('5806036');
rename objid = memkeyid;
keep objid;
run;


data investigator_group_1;
set current.group_info;
where name='Enterprise GRC: Incident Investigation';
rename id = grpkeyid;
keep id;
run;


proc sql;
create table grpmems as
select * from investigators_1, investigator_group_1;
quit;


proc append base = addgrps.grpmems data = grpmems;
run;


/* use the mducmp macro to create the updates data */
%mducmp(master=addgrps, target=current, change=updates)

/* validate the change data sets */
%mduchgv(change=updates, target=current, temp=work, errorsds=work.mduchgverrors)

/* apply the updates */
%mduchgl(change=updates);

для окончательного обновления я пробовал и% mduchgl и% mduchglb, но с обоими я не могу получить желаемые результаты.Я проверяю это с одним пользователем.

с% mduchgl. Я получаю приведенную ниже ошибкудругой подход, который я должен попытаться достичь этого.

Спасибо.

1 Ответ

0 голосов
/ 27 апреля 2019

Я не думаю, что вы когда-либо должны изменять эти наборы данных!Все, что вам нужно для достижения, должно быть возможно с помощью proc metadata (или функции шага данных в качестве крайней меры).

Вот соответствующие сообщества SAS thread .Подводя итог - следующий фрагмент добавит группу к пользователю, если у вас есть URI группы / пользователя:

<Person Id="A5NUQPXO.AP00002V">
  <IdentityGroups>
    <IdentityGroup ObjRef="A5NUQPXO.A500001C" />
  </IdentityGroups>
</Person>

Если у вас есть доступ к базовому SAS, вы можете использовать metabrowse дляпонять больше об отношениях в метаданных.Если вы этого не сделаете, то рассмотрите это приложение (с открытым исходным кодом) для исследования метаданных на основе браузера: https://github.com/Boemska/metanav (отказ от ответственности - я работаю на Boemska)

ОБНОВЛЕНИЕ - для полноты я превратил это вмакрос, доступный здесь

https://github.com/Boemska/macrocore/blob/master/meta/mm_adduser2group.sas

...