- Предметом моделирования является та часть реального окружения, которая имеет отношение к хозяйственной деятельности.
- Модели SAP-приложений документируют бизнес-процессы и их взаимосвязь в приложениях R/3. Они позволяют организовать пользователю в своем прикладном программном обеспечении наиболее высокую степень прозрачности и полноты. Стрктуры бизнесс-объектов и их процессов подробно описаны и схематизированы в соответствии с тем, как они используются на соответствующих предприятиях. Модели отражают ясную структуру и предоставляют информацию о том, кто на соответствующем предприятии, что, когда, как и с каким объектом выполняет.
- Модель бизнес-процессов описывает динамические аспекты системы бизнес-информации и временные зависимости функций. Механизм запуска для функции называется событием. Событие определяет логику выполнения управляемой событиями цепочки процесса (УСЦП). Кроме описания хронологической последовательности выполнения функций, можно также описать функции ввода и вывода, а также организационные единицы, используемые для выполнения функций.
- Модели данных создаются для формального отображения в общем функциональном контексте тех данных, которые используются в бизнес-процессах. Модель SAP-данных представляет относящиеся к компании информационные объекты и их взаимосвязи друг с другом с точки зрения хозяйственной деятельности, используя для этого структурированную модель отношений между сущностями (СМОС). Тип сущности отображает объекты реального окружения, относящиеся к хозяйственной деятельности, и соответствующий объект в системе R/3.
- SAP-СМОС предоставляет правила и принципы, необходимые для четкого описания соответствующих объектов хозяйственной деятельности, их семантику и спецификации SAP в виде модели (SAP МДП - модель данных предприятия).
- С помощью ABAP-инструментальных средств модели данных можно просмотреть в виде текста или графики. Можно динамически изменять отдельное представление модели данных Пользователи могут создавать свои собственные подробные ракурсы моделей данных.
- ABAP-словарь предназначен для создания и управления определениями данных. Он позволяет описать все данные, используемые в системе, взаимоотношения между ними, а также обеспечивает централизованное и упорядоченное хранение этих данных. Механизм активации гарантирует, что любые изменения выполненные в ABAP-словаре, будут немедленно задействованы во всех релевантных системных компонентах.
- ABAP-словарь является интегрированным и активным словарем, т.е. он полностью интегрирован в среду разработок SAP. Любое определение в словаре создается только один раз и затем автоматически становится доступным в любом месте системы. Любая информация, созданная или измененная в активном ABAP-словаре, доступна автоматически, что обеспечивает актуализацию динамических объектов, непротиворечивость и защиту данных.
- Интеграция ABAP-словаря с процессом выполнения программы основывается на интерпретирующей среде выполнения R/3. ABAP-процессор не использует исходные ABAP-программы. Он интерпретирует динамические объекты, созданные из текстов программ, перед тем, как программа выполняется впервые. Если процедура сравнения метки времени определила разницу между программой и ABAP-словарем, осуществляется автоматическая регенерация динамического объекта перед его выполнением.
- Вся информация, критичная для производительности системы, хранится в динамических объектах (программах, масках и т.п.). Система гарантирует, что в момент выполнения эта информация всегда будет актуальной.
- Таблица представляет собой двумерную матрицу. Она имеет имя и атрибуты, такие как тип таблицы. Каждая таблица-образец имеет первичный ключ, состоящий из комбинации столбцов, которые однозначно идентифицируют запись таблицы. Это означает, что в таблице не может находится две записи с одинаковым первичным ключем.
- Поле имеет имя и атрибуты. Например, оно может быть полем первичного ключа. Поле зависит от таблицы и поэтому не является самостоятельным объектоми и его ведение осуществляется только внутри таблицы. Поле таблицы определяется доменами и элементами данных.
- Домен используется для определения технических атрибутов поля таблицы и содержит технические свойства поля таблицы, такие, как длина поля, тип поля, атрибуты вывода и все ограничения на основании значений по умолчанию.
- Элемент данных представляет собой семантическое определение поля таблицы и может содержать краткое описание поля, например, при нажатии функциональной клавиши F1. Начиная с версии 4.6 технические атрибуты поля могут быть определены в элементе данных и нет неободимости использовать домен.
- Ведение таблиц, элементов данных и доменов осуществляется централизованно в ABAP-словаре. При активации поля оно сохраняется в базе данных под тем же самым именем.
- Двухуровневая концепция доменов позволяет определять и вести технические атрибуты полей на уровне домена. Домен может описывать технические атрибуты любого количества полей, вследствие чего при изменении технических атрибутов полей необходимо выполнить изменения только в домене, а не в отдельных полях. Такой механизм гарантирует также то, что если домены идентичны, значения полей можно сравнивать без каких-либо преобразований.
- Элемент данных описывает семантические атрибуты поля в контексте таблицы. Эти атрибуты относятся только к релевантному полю и не являются глобальными (как в случае технических атрибутов).
- Пример, приведенный на рисунке, приводит таблицу SPFLI из АВАР-модели бронирования авиарейсов. В этой таблице хранятся данные авиарейсов, например, рейса XY авиакомпании Lufthansa из Франкфурта в Нью-Йорк. Таблица содержит поля аэропортов вылета (AIRPFROM) и прибытия (AIRPTO). С организационно-экономической точки зрения аэропорт вылета и аэропорт прибытия являются двумя отдельными записями, вследствие чего, определены два элемента данных S_FROMAIRP and S_TOAIRP. Так как в обоих столбах содержатся названия аэропортов, оба элемента данных относятся к одному и тому же домену S_AIRPID.
- Отношения между таблицами можно определить в ABAP-словаре. Эти отношения называются внешними ключами и должны быть явно определены на уровне поля.
- Внешние ключи используются в основном для обеспечения непротиворечивости данных. Для обеспечения непротиворечивости данных новые данные, введенные в таблицу, проверяются на предмет наличия данных. В таблице внешнего ключа создаются новые данные. Для обеспечения непротиворечивости данных, созданные данные проверяются в проверочных таблицах.
- Имеется несколько обязательных технических условий, которые нужно обеспечить перед тем, как могут быть созданы отношения по внешнему ключу. Этот вопрос подробно рассматривается в курсе BC430 "АВАР-словарь".
- Пример: в диалоговой транзакции для авиалинии "АВ" создается новый рейс. Рейсы хранятся в таблице SPFLI, в которой содержатся отношения по внешнему ключу для других таблиц модели авиарейсов. Отношение по внешнему ключу используется системой для проверки того, содержится ли указанная авиалиния в центральной таблице авиалиний SCARR. Для данного примера авиалинии "АВ" еще не существует. Это означает, что для этой авиалинии не могут быть определены никакие авиарейсы. Поэтому на экране ввода эта запись игнорируется.
- Несмотря на тесную логическую связь между моделью данных SAP и ABAP-словарем, может понадобиться распределение типов сущностей по нескольким таблицам ABAP-словаря или объединение нескольких типов сущностей в одной таблице. Для этого в ABAP-словаре определены ракурсы. Эти ракурсы организуют связь между типами сущностей в модели данных и в таблицах АВАР-словаря.
- Ракурс является логическим отображением одной или нескольких таблиц. Данные для ракурсов не хранятся физически, они извлекаются из одной или нескольких таблиц, при осуществлении доступа к ракурсу. Если в таблице содержится слишком большое количество полей, но необходимо обращаться только к нескольким полям, можно определить ракурс в котором будут отображаться только те поля таблицы, в которых заинтересован пользователь. Ракурсы позволяют организовать быстрый доступ к определенным данным.
- Ракурсы определяются в ABAP-словаре. Можно использовать следующие операторы сравнения: оператор соединения (JOIN), оператор проекции (PROJECTION) и оператор ограничения (SELECTION). Оператор JOIN определяет связь между базисными таблицами, используемыми в ракурсе. Оператор PROJECTION определяет, какие столбцы базисных таблиц необходимо отобразить в ракурсе. Оператор SELECTION определяет, какие записи таблиц необходимо отобразить в ракурсе.
- ABAP-словарь содержит несколько видов ракурсов, отличающихся по своим задачам и объему выводимых данных. Начиная с вервии 4.0, можно также буферизировать данные ракурсов на уровне SAP-приложения.