Настройка и работа с полуформализованными документами

Обмен полуформализованными документами осуществляется на уровне REST интеграции.

Создание нового полуформализованного документа

Для создания и настройки полуформализованных документов в системе SAP создана таблица /TRL/XDE_NONF_TY. Таблица является предзаполненной и содержит все типы полуформализованных документов в разрезе операторов, настроенные в xDE для SAP ERP на момент выхода текущей версии Продукта.

Для создания нового полуформализованного документа нужно внести изменения в таблицу. Описание полей таблицы /TRL/XDE_NONF_TY можно найти в разделе Таблица для настройки полуформализованных документов.

../../_images/pic3.png

Для ведения настроек полуформализованных документов используется ракурс ведения таблицы /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, который сначала переводит имя поля структуры в нижний регистр, а затем переводит в верхний регистр те буквы в имени поля, перед которыми стоит знак нижнего подчеркивания.

../../_images/pic4.png

Таким образом, поле _CONTRACT_PRICE (см. рисунок выше) будет преобразован в ContractPrice.

Поле METH_NAME - метод, который можно создать в пользовательском классе и который будет вызван динамически в функциональном модуле, созданном для работы с полуформализованными документами /TRL/XDE_OUT_HALF_GET_DATA. Метод должен иметь определенный интерфейс. Метод используется для того, чтобы заполнить атрибуты полуформализованного документа. Описание данного класса приведено в разделе Класс для получения и обработки данных полуформализованных документов.

Таблица 331 Описание параметров метода из поля METH_NAME

Имя параметра

Вид

Тип

Описание

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).

../../_images/pic1.png

При этом необходимо указать в качестве 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.

../../_images/pic2.png

Изменения в карточке документа

При отправке/получении полуформализованного документа создаются записи в таблице /TRL/XDE_NONF_AT, если для данного полуформализованного документа имеются атрибуты (наличие или отсутствие атрибутов зависит от регламента передачи полуформализованных документов оператором). Таким образом, при переходе к карточке документа с главного экрана журналов xDE, можно увидеть новую вкладку «Атрибуты».

../../_images/pic5.png

Вкладка «Атрибуты» появляется только для полуформализованных документов, причем если для данного документа нет атрибутов, т.е. отсутствуют записи в таблице /TRL/XDE_NONF_AT, то вкладка будет отображаться, но данных на вкладке не будет.