Связывание отправки бизнес-объекта SAP

*"--------------------------------------------------------------------
*"*"Локальный интерфейс:
*"  IMPORTING
*"     REFERENCE(IV_RECORD_ID) TYPE  /TRL/XDE_ED_RECORD_ID_EXT
*"     REFERENCE(IS_OBJECT) TYPE  BORIDENT
*"     REFERENCE(IV_LINK_DOC) DEFAULT 'X'
*"     REFERENCE(IV_LINK_BO) DEFAULT 'X'
*"     REFERENCE(IV_HEADER_UPDATE) DEFAULT ''
*"     REFERENCE(IV_DELETE_LINK) DEFAULT ''
*"  EXPORTING
*"     REFERENCE(ES_RETURN) TYPE  /TRL/XDE_RETURN
*"--------------------------------------------------------------------

Функциональный модуль /TRL/XDE_API_SHIPM_LINK_TO_BO предназначен для связывания отправки бизнес-объекта SAP, а также для удаления связи.

Таблица 82 Описание интерфейса функционального модуля /TRL/XDE_API_SHIPM_LINK_TO_BO

Параметр

Описание

IMPORTING

IV_RECORD_ID

Уникальный идентификатор отправки, для которой выполняется поиск связанных отправок

IS_OBJECT

Идентификатор бизнес-объекта SAP

IV_LINK_DOC

Флаг: прикрепить документы отправки к бизнес-объекту SAP

IV_LINK_BO

Флаг: связать отправку с бизнес-объектом SAP

IV_HEADER_UPDATE

Флаг: обновить бизнес-объект SAP в заголовке отправки (таблица /TRL/XDE_HEADER)

IV_DELETE_LINK

Флаг: удалить существующую связь отправки и бизнес-объекта SAP

EXPORTING

ES_RETURN

Результат обработки

Функциональный модуль имеет несколько режимов.

Если выбран режим «Удалить связь» – проверяем, что заполнены данные по идентификатору отправления и ключу объекта.

  • Если эти данные не заполнены – происходит выход из ФМ без вывода ошибок.

Если при этом режиме также активен флаг «Обновление БО» – запускается ФМ /TRL/XDE_GET_SHIPMENTS, который находит данные по номеру отправления. После чего запускается цикл по найденным документам и для каждой записи вызывается функциональный модуль /TRL/XDE_DEL_DOC_FROM_BO, внутри которого вызывается настраиваемый ФМ для удаления связи между документом и бизнес-объектом SAP. Далее, если найденные данные совпадают по ключу и типу объекта – запускается ФМ /TRL/XDE_UPDATE_HEADER, который обновляет таблицу /TRL/XDE_HEADER, если это позволит настройка в таблице /TRL/XDE_STATE.

  • Если в ходе выполнения ФМ /TRL/XDE_UPDATE_HEADER возникла ошибка – поле es_return-code будет заполнено значением «9999».

После этого происходит удаление из таблицы /TRL/XDE_BO_LINK.

  • Если удаление не завершилось успехом – поле es_return-code заполняется значением «9999».

Если выбран режим «Связать объекты» - заполняется локальная структура на основе входных данных и происходит обновление таблицы /TRL/XDE_BO_LINK.

  • Если обновление не завершилось успехом – в es_return-code попадет значение «9999».

Если выбран режим «Связать документы» – вызывается ФМ /TRL/XDE_GET_SHIPMENTS, который находит данные из таблицы /TRL/XDE_DOCUM.

  • Если данных найдено не было – происходит выход из ФМ.

В цикле по выбранным данным – запускается ФМ /TRL/XDE_LINK_DOC_TO_BO. Этот ФМ соединяет документы с бизнес-объектом. Для этого вызывается настраиваемый ФМ.

  • Если ФМ не найден – в es_return_code попадет значение «9999».

Если выбран режим «Обновление БО» - запускается ФМ /TRL/XDE_HEADER, который обновляет таблицу /TRL/XDE_HEADER, если это позволит настройка в таблице /TRL/XDE_STATE.

  • Если в ходе выполнения ФМ /TRL/XDE_UPDATE_HEADER возникла ошибка – поле es_return-code будет заполнено значением «9999».

Данная API-функция подразумевает возможность расширения для заказчика.

Важно

При использовании явных или неявных операторов COMMIT WORK и ROLLBACK WORK в расширениях корректная работа API-функций не гарантируется!

Функциональный модуль для прикрепления документов к бизнес-объектам

Имя ФМ для прикрепления документов к бизнес-объектам хранится в таблице /TRL/XDE_AS_CUST поле FM_DOC_BO_LINK.

Настройка ``FM_DOC_BO_LINK``

Правила для ФМ из этой настройки касаются интерфейса ФМ, см. в таблице ниже.

Таблица 83 Параметры модуля для прикрепления документов к бизнес-объектам

Наименование параметра

Тип

Название словарного типа или класс

IMPORTING (попадают в ФМ)

IS_OBJECT

Тип

BORIDENT

I_LINK

Тип

/TRL/XDE_ED_LINK

I_ASTYPE

Тип

/TRL/XDE_ED_ASTYPE

I_FILENAME

Тип

/TRL/XDE_ED_ARC_FILE_NAME

I_RECORD_ID

Тип

/TRL/XDE_ED_RECORD_ID_EXT

EXPORTING (результаты ФМ на выходе)

ES_RETURN

Тип

/TRL/XDE_RETURN

Функциональный модуль может иметь и другие параметры, но они должны быть необязательными.

Функциональный модуль должен добавлять связь между документом (I_LINK) и бизнес-объектом SAP (IS_OBJECT) для типа архива (I_ASTYPE).

Функциональный модуль для удаления связи между документом и бизнес-объектом

Имя ФМ для удаления связи между документом и бизнес-объектом хранится в таблице /TRL/XDE_AS_CUST в поле FM_DOC_BO_DEL.

Настройка ``FM_DOC_BO_DEL``

Правила для ФМ из этой настройки касаются интерфейса ФМ, см. в таблице ниже.

Таблица 84 Параметры ФМ для удаления связи между документом и БО

Наименование параметра

Тип

Название словарного типа или класс

IS_OBJECT

BORIDENT

Идентификатор БО

IV_LINK

/TRL/XDE_DOCUM-LINK

Ссылка на документ в архиве

IV_ASTYPE

/TRL/XDE_ED_ASTYPE

Тип архива

IV_FILE_NAME

/TRL/XDE_DOCUM-FILE_NAME

Имя файла в архиве

IV_RECORD_ID

/TRL/XDE_ED_RECORD_ID_EXT

GUID отправки в SAP

ES_RETURN

/TRL/XDE_RETURN

Код и текст сообщения

В продукте xDE имеется ФМ /TRL/XDE_EXMPL_DEL_DOC_FROM_BO с данным интерфейсом, который можно использовать в качестве шаблона.