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

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

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

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

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