Хранилище данных персонализации

Вы здесь:
← Все статьи

В стандарте есть такой функционал как центральный репозиторий для данных персонализации. Основная его идея- предоставить унифицированный интерфейс для хранения каких-либо данных на нескольких уровнях:

  • На уровне пользователя (на рисунке транзакция SU01)

  • На уровне роли (на рисунке транзакция PCFG)

  • На глобальном уровне (вне зависимости от роли/пользователя)

Используя данный функционал, мы можем сохранять данные как в общем репозитарии (набор заранее созданных в системе таблиц), так и переключать его работу на собственные таблицы. Заранее предоставляется и интерфейс ведения этих данных.

Ключ персонализации

Для того чтобы что-то куда-то сохранить, мы должны зарегистрировать объект персонализации (ключ), делается это в транзакции PERSREG.

На рисунке ниже демо пример объекта персонализации:

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

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

В нашем случае это простая структура вида:

После сохранения объекта персонализации, мы уже можем вести данные на уровне пользователя, тр. SU01:

API для работы с данными персонализации

На уровне кода работать с объектами персонализации мы можем через класс — cl_pers_admin.

Простой пример для записи/чтения данных:

Для того чтобы реализовать собственный диалог ведения данных, необходимо разработать ФМ с заранее определённым интерфейсом — как у ФМ BMENU_SETTINGS_EDIT и указать его в объекте персонализации.

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

Примеры можно посмотреть в других объектах персонализации.

 

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *