Комментарии по теме

««Создание быстрого ввода пароля в систему SAP ERP ECC на стороне клиента»»
Сергей Трапезников:
Согласитесь, в случае периодической смены паролей, Ваше решение будет не удобным. если с компа на комп, то тогда лучше использовать WTS (терминальный сервер), как промежуточный слой. По связке...
««Создание быстрого ввода пароля в систему SAP ERP ECC на стороне клиента»»
Сергей Трапезников:
Есть еще третий более простой способ -использование технологии single logon. Sap logon будет использовать windows пароль, очень удобно.
««Создание быстрого ввода пароля в систему SAP ERP ECC на стороне клиента»»
Олег Башкатов:
вот и продолжение наконец-то подготовил, где учитывается и периодическая смена пароля и принудительная, и пароль хранится не в открытом виде.   Общая идея такова: вместе со скриптом GuiXT...

База знаний

Трассировка полномочий и определение недостающих прав пользователя для выполнения транзакции

11451
1

В статье рассмотрены инструменты решения проблем, возникающих из-за неполноты прав пользователя при выполнении транзакции. В статье описано использование в качестве таких инструментов транзакция SU53 и процедура трассировки полномочий пользователя. С помощью трассировки полномочий удаётся определить недостающие права пользователя для выполнения транзакций и отследить, какие объекты полномочий проверяются при выполнении пользователем той или иной операции в системе.

Использование транзакции SU53

Транзакция SU53 показывает результаты проверки системой полноты полномочий пользователя в последней неуспешной транзакции. На экран выводится информация о неполноте полномочий для последнего объекта, на операцию с которым недостаточно прав у пользователя, код соответствующей операции и значение параметра – ограничения выборки. Это удобная транзакция для случая, когда система сообщает о том, что необходимых полномочий у пользователя нет, но не конкретизирует, каких именно полномочий и для каких объектов нет.

Для демонстрационных примеров я создам двух пользователей в системе:

  • SAP_ADMIN– спрофилемSAP_ALL;
  • SAP_USER –  с ролью ZZSAP_LO_EMPLOYEE, которая является копией стандартной роли SAP_LO_EMPLOYEEи дополнительно с правами на запуск транзакцийSU53 и ME2L.

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

TitlePrefix"*** User: &V[_user]***"

Благодаря этому скрипту, несмотря на то, что будет запущено несколько окон SAPот имени разных пользователей, легко будет определить, окно какого пользователя активно в данный момент (без обращения к информационному табло системы в правом нижнем углу экрана). Более того, будет удобнее использовать сочетание клавиш Alt+Tab, так как в строке заголовка окна выводится имя пользователя – «владельца экрана», к окну которого планируется перейти (Рис.1).

Рис.1 Использования файла rsession.txtнадстройки GuiXTдля обозначения пользователя – «владельца экрана»

Рассмотрим Пример 1.

В примере демонстрируется возможность определения объекта неполноты полномочий с помощью транзакции SU53 в случае, когда система при выполнении какой-либо транзакции сообщает об отсутствии или неполноте полномочий (без указания объектов неполноты).

Исходное состояние полномочий пользователя SAP_USER приведено в Таблице 1.

Таблица 1. Исходное Состояние полномочий пользователя SAP_USER

 

 

Имеющиеся полномочия

1)      Объекты полномочий стандартной роли SAP_LO_EMPLOYEE

2)      запуск транзакции SU53
 

3)      запуск транзакции ME2L

Неполнота полномочий

Нет полномочий на просмотр всех видов заказов на поставку по всем закупочным организациям и группам закупок;
нет полномочий на GUI-операции (нет прав на объект S_GUI).

 

Запустим транзакцию ME2Lот имени пользователя SAP_USER (Рис.2) (как указано выше, у пользователя есть права только на запуск этой транзакции)

Рис.2 Запуск транзакции ME2Lот имени пользователя SAP_USER

Система выдаст следующее сообщение «У вас нет полномочий на транзакцию ME2L» (Рис.3).

Рис.3 Сообщение об отсутствующих полномочиях на транзакцию ME2L

В подобных случаях следует использовать транзакцию SU53, которая показывает, для какого именно объекта у пользователя отсутствуют полномочия. Для запуска используем команду /nSU53 (Рис.4), тем самым мы закрываем текущее окно и переходим к просмотру данных полномочий пользователя.

Рис.4 Запуск /nSU53 для получения анализа последней проверки полномочий системой

Мы увидим, что ошибка вызвана отсутствием полномочий на объект M_BEST_EKO(закупочная организация в заказе на поставку), а если быть точнее, то отсутствуют права на операцию 03 (просмотр) для объекта полномочий M_BEST_EKO (Рис.5).

Рис.5 Отсутствуют права на объект полномочий M_BEST_EKO

Для обеспечения пользователя необходимым объёмом полномочий можно или отредактировать имеющуюся у пользователя роль, или добавить пользователю дополнительную роль, обладающую соответствующим объёмом  прав. Решение принимает по ситуации консультант направления совместно с консультантом по базису. Технология добавления и исправления полномочий и ролей – отдельная тема.

Добавим пользователю SAP_USERнедостающие права для работы с объектом M_BEST_EKO: укажем в его роли объект полномочий M_BEST_EKOна операцию 03 (просмотр)со значением 1000. Таким образом, после выполненного редактирования роли пользователь сможет просматривать заказы на поставку с закупочной организацией 1000, но не сможет просматривать заказы на поставку с любыми другими закупочными организациями.

Рассмотрим Пример 2.

 Покажем, что добавление отсутствующих полномочий согласно информации транзакции SU53 (см. Пример 1) не гарантирует пользователю возможность успешного выполнения  транзакции (в данном примере –  ME2L) после добавления полномочий.

Текущее состояние полномочий пользователя SAP_USER приведено в Таблице 2.

Таблица 2. Текущее состояние полномочий пользователя SAP_USER.

 

 

 

Имеющиеся полномочия

1)      Объекты полномочий стандартной роли SAP_LO_EMPLOYEE

2)      запуск транзакции SU53
 

3)      запуск транзакции ME2L.

4)      Имеются полномочия на просмотр заказов на поставку по закупочной организации с кодом 1000.

Неполнота полномочий

Нет полномочий на просмотр всех видов документа заказа на поставку по всем закупочным организациям, отличным от 1000, и всем группам закупок;
нет полномочий на GUI-операции (нет прав на объект S_GUI).

 

Ещё раз запустим транзакцию ME2L, указав в качестве параметра запуска отчета закупочную организацию 1000.. Транзакция отобразит селекционный экран отчёта ME2L. Однако при попытке запуска отчёта система снова выдаст неинформативное сообщение «Из-за отсутствия полномочий список неполный» (Рис.6).

Рис.6 Попытка запуска выполнения отчета ME2L

Запустим транзакцию /nSU53.  Получим информацию об отсутствии прав на операцию 08 (Просмотр документов изменений) для  объекта M_BEST_BSA(Вид документа в заказе на поставка).

Рис.7 Отсутствие полномочия на объект M_BEST_BSA (Вид документа в заказе на поставку)

Добавим пользователю SAP_USERотсутствующие полномочия на работу с объектом M_BEST_BSA(Вид документа в заказе на поставку) (для упрощения примера, я добавил пользователю права на все виды заказов на закупку и все операции с ними; на практике, полномочия назначаются, исходя из бизнес - сценария).

Рассмотрим Пример 3.

Покажем, что  отслеживания недостающих полномочий с помощью транзакции SU53 – трудоёмкий процесс.

Текущее состояние полномочий пользователя SAP_USER приведено в Таблице 3.

Таблица 3. Текущее состояние полномочий пользователя SAP_USER

 

 

 

Имеющиеся полномочия

1)      Объекты полномочий стандартной роли SAP_LO_EMPLOYEE

2)      запуск транзакции SU53
 

3)      запуск транзакции ME2L.
 

4)      Имеются полномочия на просмотр всех видов документа заказа на поставку.

5)      Имеются полномочия на просмотр заказов на поставку по закупочной организации с кодом 1000.

Неполнота полномочий

Нет полномочий на просмотр заказов на поставку по всем закупочным организациям, отличным от 1000, и всем группам закупок;
нет полномочий на GUI-операции (нет прав на объект S_GUI).

Выполним транзакцию ME2Lещё раз. Мы получим такое же сообщение об отсутствующих полномочий как в примере 2 (Рис.6),.и снова запустим транзакцию /nSU53 . Теперь мы получим информацию о неполноте полномочий, но уже для другого объекта (Рис.8): M_BEST_EKG(группа закупок в заказе на поставку).

Рис.8 Отсутствуют права на объект полномочий M_BEST_EKG

Добавим пользователю SAP_USERсоответствующие полномочия на объект M_BEST_EKG и попробуем выполнить отчёт ME2L ещё раз.

Итерацию запуска транзакции SU53 и коррекцию прав  приходится повторять до тех пор, пока транзакция выполнится без сообщения об ошибке (отчёт выполнится без ошибок).Как видно, это – может быть весьма трудоёмким процессом.

Рассмотрим Пример 4.

Покажем, что при отсутствии полномочий на несколько объектов полномочий (а именно: отсутствие авторизации на просмотр заказов на закупку по закупочным организациям, отличным от 1000; отсутствие полномочий на GUI-операции) в транзакции SU53 будут показываться различные результаты в зависимости от формата вывода отчета.

Текущее состояние полномочий пользователя SAP_USER приведено в Таблице 4.

Таблица 4. Текущее состояние полномочий пользователя SAP_USER

 

 

 

Имеющиеся полномочия

1)      Объекты полномочий стандартной роли SAP_LO_EMPLOYEE

2)      запуск транзакции SU53
 

3)      запуск транзакции ME2L.
 

4)      Имеются полномочия на просмотр всех видов заказа на поставку.

5)      Имеются полномочии на просмотр заказов на поставку со всем группами закупок.

6)       Имеются полномочия на просмотр заказов на поставку по закупочной организации с кодом 1000.

Неполнота полномочия

Нет полномочий на просмотр заказов на поставку по всем закупочным организациям, отличным от 1000;


нет полномочия на GUI-операции (нет объекта S_GUI).

Пояснение к объему списка в ME2L

объем списка ALLES_ALV настроен для вывода в формате ALVGrid;
объем списка BEST настроен для вывода в формате  не в ALV, Grid (без возможности сортировать/перемещать/суммировать столбцы)

Примечание.. «Объем списка» в транзакции ME2Lопределяет, какие заказы на поставку (открытые, закрытые, по которым было только поступление материала, или только была введена счет

Ограниченный доступ

Для прочтения полной версии статьи необходимо зайти как зарегистрированный пользователь.

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

Пётр Ромащенко (Рейтинг: 168) 16:38, 20 ноября 2017

Олег, спасибо за содержательный материал!
Вот только скринчики послетали (или это только у меня?..). Если проблема действительно есть, не могли бы вы их подправить? Спасибо! :-)

Любое воспроизведение запрещено.
Копирайт © «Издательство ООО «Эксперт РП»