Полномочия по уровням агрегации

После двух дней мучений я нашел красоту в BW. Задача: есть отчет по проводкам, где можно смотреть деньги в разрезе документов, МВЗ, кредиторов/дебиторов, видов оплаты и людей. Строится он на базе стандартных экстракторов 0HR_PY_PP_1 и 0HR_PY_PP_2. Вроде бы все красиво, но нужно бухгалтерам цифры показывать с людьми, а экономистам — без. Можно сделать два отчета на основании одного кубика-рубика, но это некрасиво и вообще. Поэтому будем делать систему полномочий таким образом, что в одной роли можно показывать людей, а в другой нельзя.

Скажу сразу, что я все еще чайник заварочного типа в части BW, поэтому спецы помогайте. В BW есть две системы полномочий: стандартная через PFCG и полномочия по объектам аналитики в транзакции RSECADMIN. С первой транзакцией все знакомы по ERP — ничего нового. А вот вторая интереснее и напоминает структурные полномочия в HR, когда мы говорим по какому признаку (измерению) нужно ограничивать доступ.

Таким образом я решал задачу так (пока примитивный пример, без красивой идеологии): создал объект полномочий ZNOEMPLOYEE (без доступа к сотрудникам). В нем прописал признак 0EMPLOYEE. Для этого признака указал полномочия так:
0employee

Двоеточие (как я понимаю) означает, что данные по сотрудникам можно прочитать, но показывать самих сотрудников нельзя. В транзакции RSD1 пометил инфообъект 0EMPLOYEE как допустимый для проверки полномочий.

Вот и все. Теперь если мы присваиваем пользователю этот объект ZNOEMPLOYEE через роль в PFCG (объект полномочий S_RS_AUTH) или транзакцию RSECADMIN, то отчет будет строиться по всем признакам кроме сотрудника. Если мы создадим еще один объект ZWITHEMPLOYEE и в нем пропишем 0EMPLOYEE I EQ *, то это даст полномочия на просмотр сотрудников.

Добавить комментарий