2 марта 2010 г.

PFCG: имя профиля при генерации

Система полномочий в системе SAP включает в себя роли и профили полномочий. Роль содержит меню, присвоение пользователям и описание. Роли есть простые и групповые (список простых ролей). Профили полномочий содержат полномочия и привязаны к роли. В SAP на полномочия действует принцип: "то что не разрешено, то запрещено".

Начиная с версии SAP 4.6C, прямое ведение профилей полномочий не рекомендуется. Для ведения ролей и профилей полномочий используется транзакция PFCG. При создании новой простой роли после ведения полей полномочий необходимо сгенерировать профиль полномочий, который получает новое имя и привязывается к данной роли. Имя профиля полномочий генерируется автоматически системой по следующей процедуре:
  • T-FT<шестизначный номер>,
где "F" - первый символ идентификатора системы (SID), "T" - третий символ идентификатора системы (SID), <шестизначный номер> = "номер из манданто-зависимой таблицы AGR_NUM_2" + 1.

В связи с такой процедурой время от времени в некоторых системных ландшафтах могут происходить коллизии при транспортировке ролей с профилями полномочий из системы разработки в другие системы. Например. Если в ландшафт включены системы HDQ, HTQ и HPQ, то имена профилей, сгенерированных в разных системах, будут совпадать, так как у SID-ов систем идентичны первые и последние символы. Если номера, которые хранятся в таблице AGR_NUM_2, в разных мандантах одной системы совпадают или пересекаются. А роли ведутся в разных мандантах и импортируются в тестовую и продуктивную системы. При этом возникают коллизии при совпадении имен профилей полномочий в целевых системах.

Есть несколько путей решения данной проблемы. Все они описаны в замечательной SAP note # 1380203.

У меня была проблема, что роли ведутся разными модулями в разных мандантах системы разработки. Иногда в продуктивной системе возникали коллизии при переносе с новой ролью профиля полномочий, который именем совпадал с профилем другой роли в продуктивной системе. Коллизия заключалась в том, что профиль новой роли не переносился. Решил так (1 способ из вышеуказанной ноты). Просмотрел таблицу AGR_1016 в продуктивной системе и системе разработки на предмет существующих профилей полномочий. Выбрал диапазоны для каждого из мандантов. Изменил значения в таблице AGR_NUM_2 в каждом манданте системы разработки:


При генерации нового профиля полномочий для роли в 111 манданте получаем то, что хотели:


Если в ландшафте неудачно даны имена идентификаторам систем, то необходимо применить второй способ решения проблемы из SAP note # 1380203.

P.S. Всех с наступлением весны! ;)

Автор: Шиболов Вячеслав Анатольевич


Комментариев нет:

Отправить комментарий