Руководство пользователя Semantic MDM
×
Меню
Индекс

Структура сообщения импорта

 
Структура сообщения импорта, определяется настройкой атрибутов в обменном классе. Каждый атрибут обменного класса (Property) имеет обязательно наименование, соответствующее наименованию атрибута во внешней системе и сопоставление:
В последнем случае предполагается, что данный атрибут будет дополнительно обработан скриптами Groovy и он будет программно сопоставлен с атрибутом Semantic MDM или на его основе будут добавлены новые дополнительные атрибуты в импортируемый объект, сопоставленные с атрибутами Semantic MDM. Атрибуты обменного класса могут образовывать иерархию, если в сопоставлении использовались атрибуты Semantic MDM типа "агрегация" или "композиция". В такие атрибуты могут быть добавлены вложенные атрибуты обменного класса, сопоставленные с вложенными в агрегацию/композицию атрибутами Semantic MDM.
 
 
Для сопоставленных с единичной агрегацией/композицией атрибутов обменного класса есть возможность включить опцию Инкапсулировать в родительский класс, чтобы внешняя система могла сразу передать значение для вложенного атрибута, через линейный список атрибутов. Но в независимости от значения этой опции, иерархия свойств в импортируемом объекте (ProcessObject), на момент выполнения Groovy-скрипта, будет восстановлена. Пример приведения структуры показан на рисунке ниже.
 
 
После проверки сообщения импорта на предмет целостности данных и отсутствия не декларированных в обменном классе атрибутов, подсистема импорта создаст на основе обменного класса импортируемый объект (класс ProcessedRootObject), заполнит его атрибуты значениями (класс ProcessedValue) из сообщения импорта, после чего выполнит скрипты Groovy, для атрибутов обменного класса (Формула импорта на атрибут) и затем скрипт Groovy для обменного класса (Формула импорта на обменный класс).
Ниже представлен пример соответствия структуры обменного класса структуре импортируемого объекта (ProcessedRootObject) с иерархией атрибутов (ProcessedValue) и вложенных через агрегацию объектов (ProcessedObject). Класс ProcessedRootObject является наследником класса ProcessedObject.