Настройка и работа с полуформализованными документами¶
Обмен полуформализованными документами осуществляется на уровне 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
,
то вкладка будет отображаться, но данных на вкладке не будет.