Удав написал(а):
Я знаю 2 случая:
....
2. При проверке полномочий используется не AUTHORITY-CHECK, а ФМ SUSR_USER_AUTH_FOR_OBJ_GET, который считывает все комбинации полномочий для определенного объекта полномочий.
...
Со случаем 2 не встречался. Спасибо за информацию, возможно пригодится.
Удав написал(а):
1. Наложение полномочий происходит, когда в программе происходит проверка 2-х или более объектов полномочий и у пользователя есть 2 роли с разными комбинациями полномочий для этих объектов.
...
У пользователя есть 2 роли:
Для одной сбытовой организации, канала сбыта и сектора есть полномочия на торговый документ вида Z1
Для другой сбытовой организации, канала сбыта и сектора есть полномочия на торговый документ вида Z2
В результате у пользователя есть полномочия на работу с торговыми документами видов Z1 и Z2 для обоих орг.единиц.
Именно этот момент интересует.
ST05 показывает, что в программе SAPMV45A сначала из USRBF2 считываются отдельные полномочия к объекту полномочий. Затем из UST12 считываются значения полномочий по каждому отдельному полномочию.
Просмотр кода указывает на
AUTHORITY-CHECK OBJECT 'V_VBAK_AAT'
ID 'AUART' FIELD US_AUART
ID 'ACTVT' FIELD DA_ACTVT.
Как я понимаю при работе AUTHORITY-CHECK должна быть создана некая внутренняя таблица, содержащая значения полномочий для конкретного объекта полномочий, и применительно к объекту 'V_VBAK_AAT' значения US_AUART и DA_ACTVT должны сравниваться с данными таблицы.
Вот эту таблицу и хотелось бы увидеть, а также код, который производит сравнение.
Я не абапер, поэтому прошу сильно не пинать и по возможности объяснить на пальцах.