Изменение статуса отправки

*"--------------------------------------------------------------------
*"*"Локальный интерфейс:
*"  IMPORTING
*"     REFERENCE(IV_RECORD_ID) TYPE  /TRL/XDE_HEADER-RECORD_ID
*"     REFERENCE(IV_STATE) TYPE  /TRL/XDE_HEADER-STATE OPTIONAL
*"     REFERENCE(IV_ERROR_DETAILS) TYPE  /TRL/XDE_STATUS-ERROR_DETAILS
*"         OPTIONAL
*"     REFERENCE(IV_EVENT_ID) TYPE  /TRL/XDE_STATUS-EVENT_ID OPTIONAL
*"     REFERENCE(IV_OED_DATE) TYPE  /TRL/XDE_STATUS-OED_DATE OPTIONAL
*"     REFERENCE(IV_OED_TIME) TYPE  /TRL/XDE_STATUS-OED_TIME OPTIONAL
*"     REFERENCE(IV_ST_DOC) TYPE  /TRL/XDE_STATUS-ST_DOC OPTIONAL
*"     REFERENCE(IV_SENDERNAME) TYPE  /TRL/XDE_STATUS-SENDERNAME
*"         OPTIONAL
*"     REFERENCE(IV_SENDERCOMPANY) TYPE  /TRL/XDE_STATUS-SENDERCOMPANY
*"         OPTIONAL
*"     REFERENCE(IV_COMMENT) TYPE  STRING OPTIONAL
*"  EXPORTING
*"     REFERENCE(ES_HEADER) TYPE  /TRL/XDE_HEADER
*"     REFERENCE(ES_STATUS) TYPE  /TRL/XDE_STATUS
*"  EXCEPTIONS
*"      NOT_FOUND
*"      NOT_PREVIOUS_STATUS_FOUND
*"      BLOCKED
*"--------------------------------------------------------------------

Функциональный модуль /TRL/XDE_API_SHIPM_SET_STATUS предназначен для изменения статуса отправки.

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

Параметр

Описание

IMPORTING

IV_RECORD_ID

Уникальный идентификатор отправки.

IV_STATE

Новый статус отправки.

IV_ERROR_DETAILS

Описание ошибки (для статуса E).

IV_EVENT_ID

ID события в системе ОЭД.

IV_OED_DATE

Дата выставления события в системе ОЭД.

VI_OED_TIME

Время выставления события в системе ОЭД.

IV_ST_DOC

Название статуса.

IV_SENDERNAME

Имя отправителя.

IV_SENDERCOMPANY

Компания отправителя.

IV_COMMENT

Комментарий пользователя.

EXPORTING

ES_HEADER

Данные заголовка отправки.

ES_STATUS

Данные статуса.

EXCEPTIONS

NOT_FOUND

Отправка не найдена.

NOT_PREVIOUS_STATUS_FOUND

Не найден текущий статус.

BLOCKED

Отправка блокирована.

Установка блокировки по номеру отправления.

  • Если возникнет ошибка – будет вызвана особая ситуация BLOCKED с текущим системным сообщением.

Вызов ФМ /TRL/XDE_SET_STATUS_FOR_SHIPM, который добавляет статус для отправки. Внутри выполняются проверки, что для данной отправки можно установить такой статус, проверяются уровни статусов, сохраняется комментарий и обновляются таблицы /TRL/XDE_HEADER, /TRL/XDE_HDR_ATR, /TRL/XDE_STATUS, /TRL/XDE_SIGN.

  • Если в ходе выполнения ФМ /TRL/XDE_SET_STATUS_FOR_SHIPM возникли какие-либо особые ситуации – выдаем текущее системное сообщение.

Снимаем блокировки.

Проверяем работу ФМ на наличие ошибок. Далее, в зависимости от кода SY-SUBRC вызываются особые ситуации NOT_FOUND, NOT_PREVIOUS_STATUS_FOUND, NOT_FOUND с текущим системным сообщением.

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

Важно

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

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

Имя функционального модуля обработки события смены статуса отправления содержится в таблице /TRL/XDE_CUST по имени настройки FM_SET_EVENT. Данный ФМ вызывается при изменении статуса отправления.

Настройка FM_SET_EVENT

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

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

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

Тип

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

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

IS_HEADER

Тип

/TRL/XDE_HEADER

IS_STATUS

Тип

/TRL/XDE_STATUS

TABLES (таблицы)

IT_DOCUMENTS

Тип

/TRL/XDE_DOCUM

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

Имя функционального модуля сортировки статусов находится в таблице /TRL/XDE_CUST по имени настройки FM_SORT_STATUS_NEW.

Настройка FM_SORT_STATUS_NEW
  • Если настройку удалить – не возникнет ошибки.

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

Таблица 116 Параметры модуля сортировки статусов

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

Тип

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

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

IV_RECORD_ID

Тип

/TRL/XDE_ED_RECORD_ID_EXT

IT_STATUS

Тип

/TRL/XDE_T_STATUS

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

ET_STATUS

Тип

/TRL/XDE_T_STATUS