Персонализация настроек пользователя

Есть в САП любопытный зверек в ролях полномочий, который отвечает за персональные параметры пользователя. Если нам нужно что-то массово присваивать пользователям, а затем дать возможность изменять индивидуально, то персонализация это наш конек. Параметры пользователя массово по бизнес-функции не присвоить. Объекты полномочий индивидуально на уровне пользователя тоже не изменить. Остается городить свои таблички либо воспользоваться механизмом персонализации настроек пользователя.

Некоторые приложения уже начали его использовать. Суть в том, что мы на уровне роли можем определить специализированные параметры, которые по-умолчанию будут заданы пользователям, у которых есть роль. Если нужно переопределить на уровне пользователя, то в SU01 мы это можем сделать. Очень удобно на мой взгляд.

Сам объект персонализации определяется в транзакции PERSREG. Это могут быть простые данные, так и табличные. Очень удобно хранить зависимые от пользователя настройки для расширений отчетов, например.
sap roles personalisation

Читать далее


Назначение ролей полномочий через оргструктуру

Есть штатная позиция, есть табельный номер на ней, есть 105 инфотип у табельного номера, есть логин в SAP. Вывод: у нас есть все, чтобы сделать автоматизированное назначение ролей полномочий этому пользователю на основании той штатной позиции, которую он занимает. Если Вася Пупкин был принят в отдел кадров на должность главного, то он получит главную роль. Если он плохо поработал и его реорганизовали до специалиста, то ему автоматически с даты реорганизации будет присвоена роль специалиста. Красиво? Уволился — роль автоматически отнимается у логина. Служба безопасности в экстазе.

Сделаем? Легко.

Читать далее


Наследование ролей полномочий

Продолжаем азбуку SAP. Надеюсь, мы все одинаково понимаем, что есть роли типовые/шаблонные, есть функциональные. Первые никому не присваиваются, являются шаблончиками для быстрого редактирования соответствующих функциональных. Функциональные роли уже типизированы конкретными полномочиями на разделы персонала, группы, категории, балансовые единицы и прочие объекты.

Чтобы не умереть создавая все комбинаторное множество функциональных ролей на все возможные комбинации разделов персонала, групп и категорий персонала, можно воспользоваться механизмом наследования ролей полномочий. При наследовании мы определяем главную роль (шаблонную в нашем случае), создаем для нее красивое меню, прописываем объекты полномочий. А затем легким движением руки создаем наследуемую роль, где указываем нашу шаблонную как «главную». Наследуемая роль примет на себя меню и объекты полномочий. Как только мы меняем что-то в главной роли, младшая отображает эти изменения у себя. Если на уровне младшей надо что-то переопределить, то пожалуйста. Меню переопределить нельзя.

В картинках это выглядит так.

Создаем главную роль

Читать далее


О ролях полномочий (организационные уровни)

Роли полномочий. Все консультанты старше К1 должны знать и уметь. Аксиома от Поцелуева.

Организационные уровни — переменные, которые можно централизованно задавать для всей роли, не прописывая в каждом объекте полномочий. Сама переменная определяется в отчете PFCG_ORGFIELD_CREATE. Запускаем, указываем техническое имя переменной объекта полномочий, который необходимо сделать организационным уровнем (например, PESRK). Если ошиблись, то удалить можно отчетом PFCG_ORGFIELD_DELETE. Организационный уровень позволяет задать значение PERSK на уровне всей роли, и изменить его также в одном месте. Это удобно в HR ролях, где мы часто прописываем множество объектов P_ORGIN.

Ниже представлена простая роль из двух объектов полномочий.

Теперь мы переходим в меню Goto -> Org Levels.

Как видно, появился наш новый организационный уровень (PERSK по умолчанию не является таковым в стандартной поставке). Задаем нужное нам значение и сохраняем. Прошу!

Таким образом мы легко заполнили одинаковые поля во всей роли.


Персонализация в SAP

Сегодня я узнал еще одну полезную штуку. Называется она Персонализация. Именно с большой буквы, так как это очень правильная вещь.

Внимательные САПеры и САПерки видел в транзакциях SU01, PFCG закладку «Personalization», где перечислены куча строчек и нельзя что-то изменить. Оказывается, это объекты персонализации, которые можно самому разрабатывать, использовать в своих программах. Суть объекта персонализации состоит в том, чтобы на уровне роли или конкретного пользователя сохранить особенные значения (персонализацию), которые влияют на интерфейс. Например, настройки табличек, настройки экрана, настройки взаимодействия, значения по-умолчанию. Особая прелесть этих объектов заключается в том, что можно на уровне роли присвоить значение объекта, и оно унаследуется по-умолчанию всем присвоенным к роли пользователям.

Например, если в роли создать объект Assign user group to SAP Query SAP_QUERY_USERGROUP, а в нем указать группу пользователей SAP Query, то всем пользователям присвоится эта группа и отчеты, к ней привязанные. Если присмотреться к уже созданным объектам, то технологией начали пользоваться совсем недавно (хотя сама она достаточно давно появилась в системе), в новых компонентах.

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

Для массового изменения значения объекта персонализации используется транзакция SPERS_TEST.