Настройка и работа с полуформализованными документами¶
Обмен полуформализованными документами осуществляется на уровне REST интеграции.
Создание нового полуформализованного документа¶
Для создания и настройки полуформализованных документов в системе SAP создана таблица /TRL/XDE_NONF_TY.
Таблица является предзаполненной и содержит все типы полуформализованных документов в разрезе операторов, настроенные в xDE для SAP ERP на момент выхода текущей версии Продукта.
Для создания нового полуформализованного документа нужно внести изменения
в таблицу. Описание полей таблицы /TRL/XDE_NONF_TY можно найти в разделе Таблица для настройки полуформализованных документов.
Для ведения настроек полуформализованных документов используется ракурс ведения таблицы /TRL/XDE_NONF_TY (транзакция SM30),
который позволяет добавлять новые записи или изменять старые.
Возможны следующие настройки полуформализованных документов:
Создание новых записей полуформализованных документов в разрезе операторов;
Изменение названия используемой ABAP структуры для создания атрибутов;
Изменение названия метода для обработки данных по текущему типу полуформализованного документа;
Поскольку для разных операторов один и тот же документ в SAP может иметь разные имена
(поле OED_NONF_NAME), то ключевыми полями являются SAP_NONF_TYP (связь с
/TRL/XDE_SHIP_TY-SAP_NONF_TYP) и идентификатор оператора ID_OED.
Важно
Если в таблице /TRL/XDE_NONF_TY для выбранного оператора не будет
найден искомый тип полуформализованного документа – документ будет отправлен как
обычный неформализованный документ.
Примечание
Если в таблице /TRL/XDE_NONF_TY по кастомной настройке «SETTINGS_SET» не будет
найден полуформализованный документ - поиск будет выполнен с пустой настройкой (задано по умолчанию).
Если тип полуформализиванного документа не будет найден и в этом случае - документ будет проложен как неформализованный.
Поле OED_NONF_NAME содержит имя полуформализованного документа на стороне
оператора. Именно это значение попадает в поле CUSTOM_TYPE при отправке
полуформализованного документа.
Поле DDIC_STR_NAME содержит имя глобальной плоской (без вложенных структур и таблиц)
ABAP структуры, что используется для передачи атрибутов с определенными
именами. Каждое поле такой структуры будет являться именем атрибута. Для того, чтобы
корректно передавать атрибуты в формате JSON, в котором важен регистр букв, реализована
следующая логика: при преобразовании данных в JSON используется метод CONVERSATE
класса /TRL/XDE_CL_HALFNONF_PROC, который сначала переводит имя поля структуры в нижний
регистр, а затем переводит в верхний регистр те буквы в имени поля, перед которыми
стоит знак нижнего подчеркивания.
Таким образом, поле _CONTRACT_PRICE (см. рисунок выше) будет преобразован в ContractPrice.
Поле METH_NAME - метод, который можно создать в пользовательском классе и который
будет вызван динамически в функциональном модуле, созданном для работы с
полуформализованными документами /TRL/XDE_OUT_HALF_GET_DATA. Метод должен иметь
определенный интерфейс. Метод используется для того, чтобы заполнить атрибуты полуформализованного
документа. Описание данного класса приведено в разделе Класс для получения и обработки данных полуформализованных документов.
Имя параметра |
Вид |
Тип |
Описание |
|---|---|---|---|
IS_HEADER |
Importing |
/TRL/XDE_HEADER |
Заголовок элемента ЭДО |
IT_DOCUMENTS |
Importing |
/TRL/XDE_T_DOCUMENTS |
Список документов |
IS_CERT |
Importing |
/TRL/XDE_S_SAP_DOC_TYPE_CERT |
Набор сертификатов |
IS_NONF_TY |
Importing |
/TRL/XDE_NONF_TY |
Данные полуформализ. документа |
ES_RETURN |
Exporting |
/TRL/XDE_RETURN |
Код и текст сообщения |
CR_DATA |
Changing |
DATA |
Данные в любом виде |
По умолчанию классом-обработчиком в настройках, в таблице /TRL/XDE_CUST, стоит
класс /TRL/XDE_CL_HALFNONF_DOCS. Чтобы изменить класс-обработчик, необходимо
открыть ракурс ведения таблицы /TRL/XDE_CUST и установить необходимый класс в
настройку по имени HALFNONF_CLASS, в которой по умолчанию хранится класс
/TRL/XDE_CL_HALFNONF_DOCS.
Настройка созданного полуформализованного документа¶
Для создания нового вида документа SAP необходимо сделать соответствующие настройки в таблице /TRL/XDE_SHIP_TY.
Для ведения данной таблицы существует ракурс ведения /TRL/XDE_SHIP_TY (транзакция SM30).
При этом необходимо указать в качестве OED_DOC_TYPE (Операторский тип документа)
значение «NONF» (Неформализованный документ), а в качестве SAP_DOC_TYPE (Тип
документа SAP) - любое название, отличающееся от «NONF».
В поле SAP_NONF_TYP необходимо указать имя полуформализованного документа.
Через поле SAP_NONF_TYP осуществляется
связь с таблицей /TRL/XDE_NONF_TY и проверка данного поля в методе CHECK_HALFNONF.
Кроме того, необходимо добавить данный новый вид документа в таблицу
/TRL/XDE_SOUT_OB, связав таким образом вид документа с бизнес-объектом.
Для этого можно воспользоваться транзакцией SM30 и ракурсом /TRL/XDE_SOUT_OB.
Изменения в карточке документа¶
При отправке/получении полуформализованного документа создаются записи в таблице
/TRL/XDE_NONF_AT, если для данного полуформализованного документа имеются атрибуты
(наличие или отсутствие атрибутов зависит от регламента передачи полуформализованных документов оператором).
Таким образом, при переходе к карточке документа с главного экрана журналов xDE,
можно увидеть новую вкладку «Атрибуты».
Вкладка «Атрибуты» появляется только для полуформализованных документов, причем если
для данного документа нет атрибутов, т.е. отсутствуют записи в таблице /TRL/XDE_NONF_AT,
то вкладка будет отображаться, но данных на вкладке не будет.