3 августа 2017 г.

Двухуровневая концепция доменов в SAP AS ABAP

Как я уже не раз упоминал, на уровне сервера приложений AS ABAP ведется централизованный ABAP-словарь. Это обеспечивает платформо-независимость SAP системы от используемой базы данных. О соответствии ABAP-словаря словарю базы данных я писал в посте "Транзакция SE14: утилита базы данных". 

В ABAP-словаре на низшем уровне выделяют такое понятие, как домен. Домен это техническое описание единицы данных, в котором указывается тип и размерность данных, атрибуты вывода и, если необходимо, список значений. Например, домен MANDT, определяющий мандант системы, имеет тип CLNT с длиной 3 символа (рис. 1).

Рис. 1. Описание домена MANDT.

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

Рис. 2. Описание элемента данных MANDT.

Рис. 3. Семантическое описание элемента данных MANDT.

В дальнейшем элемент данных можно использовать для описания поля таблицы. Например, T000, содержащей записи о мандантах SAP системы (рис. 4).

Рис. 4. Список полей таблицы T000.

Информацию по доменам, элементам данных или полям таблицы можно посмотреть через транзакцию SE11 (рис. 5).

Рис. 5. Просмотр информации по элементам ABAP-словаря в транзакции SE11.

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

Подробности в курсе "BC430 - ABAP Dictionary".


Автор: Шиболов Вячеслав Анатольевич


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

Отправить комментарий