Трассировка пользовательских полномочий

Трассировка пользовательских полномочий для консультанта — это такое же повседневное занятие, как и «дебаг» кода на предмет ошибок, или поиск ответа на вопрос «почему не работает то или это». В любом случае, данная процедура не представляет из себя чего-то сверхъестественного, и я попробую это показать.

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

По самой ошибке не сложно догадаться, о чем именно идет речь. Пользователю не хватает полномочий на запуск транзакции. Чтобы узнать каких именно полномочий ему не хватает, консультанту необходимо запустить транзакцию ST01

На экране транзакции ST01 необходимо нажать на кнопку  и ввести имя пользователя, для которого требуется выполнить проверку полномочий

На основном экране транзакции также необходимо активировать опцию Authorization check (Проверка полномочий)

Остальные опции могут быть активированы по необходимости. Нажмите на кнопку  Теперь пользователь должен воспроизвести действия, которые вызвали ошибку (либо же консультант самостоятельно выполнит действия, которые вызвали ошибку, при условии, что тестовому пользователю будет присвоена такая же роль). После того, как пользователь повторил эти действия, консультанту необходимо отключить трассировку, нажатием на кнопку 

Ну а теперь смотреть логи! А логи смотреть по нажатию на кнопку 

Обратите внимание на поля Username, а также поля определения даты и времени. В поле Username необходимо ввести имя пользователя, для которого трассировка была включена, а на поля ввода даты и времени обратите внимание, так как предложенные системой значения для этих полей, могут отличаться от реального. Тем самым есть возможность, что системе не получится найти логи трассировки по заданным параметрам. Итак, запускаем просмотр логов

На что здесь нужно обратить внимание?

В первую очередь на записи, для которых RC=12, а также RC=4. В примере, который я привожу в данной заметке, такая запись только одна. Если два раза кликнуть по ней, откроется детальный просмотр записи:

Как расшифровать то, что тут представлено?

Объект полномочий, на который пользователю не хватает полномочий P_TCODE. Значение, которого не хватает в этом объекте полномочий — PPPM.

Что необходимо сделать дальше?

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

Чтобы добавить недостающий объект полномочий в пользовательскую роль необходимо в транзакции PFCG открыть на изменение роль, присвоенную пользователю, и изменить ее профиль полномочий

На экране изменения профиля полномочий нажмите на кнопку  для ручного добавления недостающего объекта полномочий, и затем введите его наименование

Затем добавьте недостающее значение для объекта полномочий

Сгенерируйте профиль, нажатием на кнопку  И продолжаем тестирование внесенных изменений, а также корректировку полномочий до тех пор, пока у пользователя не получится выполнить необходимое действие в системе.

N.B. Иногда, для более оперативного определения недостающих пользовательских полномочий, может помочь транзакция SU53. Если у пользователя возникает проблема с нехваткой полномочий, в новом окне SAP Logon'a он может открыть транзакцию SU53, и, сделав скриншот, отправить его консультанту. В тоже время, консультант может запустить транзакцию -> и, нажав на кнопку F5, ввести имя пользователя, по которому необходимо посмотреть последнюю неудачную авторизационную проверку. As you wish...