Удаление отправки¶
*"----------------------------------------------------------------------
*"*"Локальный интерфейс:
*" IMPORTING
*" VALUE(IV_RECORD_ID) TYPE /TRL/XDE_HEADER-RECORD_ID
*" VALUE(IV_COMMENT) TYPE STRING OPTIONAL
*" VALUE(IV_UNAME) TYPE SYUNAME DEFAULT SY-UNAME
*" VALUE(IV_ONLY_CHECK) TYPE XFELD OPTIONAL
*" EXPORTING
*" VALUE(ES_RETURN) TYPE /TRL/XDE_RETURN
*" VALUE(EV_COMMENT) TYPE STRING
*"----------------------------------------------------------------------
Функциональный модуль /TRL/XDE_API_SHIPM_DELETE
предназначен для удаления отправки. При удалении отправка остается в системе, ей присваивается статус «D» - «Удалена».
Параметр |
Описание |
---|---|
|
|
|
Уникальный идентификатор удаляемой отправки. |
|
Комментарий – причина удаления. |
|
Пользователь системы SAP, выполнивший удаление отправки. |
|
Если параметр равен «X», то выполняется проверка возможности удаления отправки, при этом непосредственно удаление не выполняется. |
|
|
|
Код и описание ошибки в случае, если операцию выполнить не удалось. |
|
Если |
Устанавливается блокировка по номеру GUID. Для режима проверки блокировка не ставится.
Если блокировку поставить не удалось, поле es_return-code
заполняется значением «1011» (Ошибка блокирования записи).
В поле es_return-text
попадет текущее системное сообщение, на этом работа ФМ заканчивается.
Данные по отправлению получаются с помощью ФМ /TRL/XDE_GET_SHIPMENTS
.
Если результат работы ФМ /TRL/XDE_GET_SHIPMENTS
не успешен, в поле es_return-code
записывается значение «1106» (Невозможно найти отправление).
В поле es_return-text
попадает текст «Внутренняя ошибка. Не удалось найти объект «Отправление»». После этого вызывается подпрограмма, которая снимает блокировку. На этом работа ФМ заканчивается.
Выполняется проверка полномочий с помощью метода CHECK_XDE_FUNCTION
класса /TRL/XDE_CL_AUTHORITY
.
Если результат работы метода не успешен, в поле es_return-code
записывается значение «1013» (Проверка не пройдена).
В поле es_return-text
попадает текст «Нет полномочий на выполнение операции». После этого вызывается подпрограмма, которая снимает блокировку. На этом работа ФМ заканчивается.
Вызывается метод GET_STATE_SETTINGS
, который достает настройки статусов из таблиц /TRL/XDE_STATE
и /TRL/XDE_STATE_T
.
Важно
В выборке учитывается язык входа в систему и значение настройки SETTINGS_SET
из таблицы /TRL/XDE_CUST
.
Если в результате работы метода данных по статусу не найдено и флаг возможности удаления не равен «X»,
в поле es_return-code
попадает значение «9999» (Критическая ошибка).
В поле es_return-text
попадает текст «В статусе & операция невозможна».
После этого вызывается подпрограмма снятия блокировки. На этом работа ФМ заканчивается.
Вызывается метод GET_PERMISSION_TYPE
, который выполняет проверку по таблице условий в соответствии с конкретным действием (удаление).
Для этого выполняется выборка из настроечной таблицы /TRL/XDE_CONDIT
.
Далее вызывается ФМ /TRL/XDE_GET_STATUS_ALL
, который получает все статусы отправления, при этом может отсортировать их с помощью настраиваемого ФМ.
Далее в цикле по всем полученным статусам ищется такая запись, для которой код статуса отправки будет равен коду статуса отправки из таблицы условий /TRL/XDE_CONDIT
по выбранному действию (удаление).
Если в результате выполнения метода получается тип доступа на операцию = 02 (запрещена) или 03 (невозможна), то в поле es_return-code
попадает значение «9999» (Критическая ошибка).
В поле es_return-text
попадает текст «Операция невозможна». После этого вызывается подпрограмма для снятия блокировок, работа ФМ на этом заканчивается.
После этого, если был установлен режим проверки, ФМ прекращает работу. В противном случае запускается ФМ /TRL/XDE_DSP_COMMENT_DLG
, который выводит для пользователя диалоговое окно для ввода комментария.
Если пользователь нажимает кнопку «Отмена», в поле es_return-text
попадает текст «Действие отменено пользователем».
В поле es_return-code
попадает значение «2209» (Действие отменено пользователем). Вызывается подпрограмма, которая снимает блокировки, и работа ФМ заканчивается.
Извлекаются данные из настройки «STATUS_G_DELETED» и вызывается ФМ /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
возникли какие-либо особые ситуации, поле es_return-code
заполняется значением «9999» (Критическая ошибка).
Если текущее системное сообщение имеется, оно выводится в поле es_return-text
, в противном случае выводится сообщение «Не удалось обновить статус отправления. Обратитесь в службу поддержки».
После этого вызывается подпрограмма снятия блокировки, работа ФМ на этом заканчивается.
Данная API-функция подразумевает возможность расширения для заказчика.
Важно
При использовании явных или неявных операторов COMMIT WORK
и ROLLBACK WORK
в расширениях корректная работа API-функций не гарантируется!
Функциональный модуль сортировки статусов¶
Имя функционального модуля сортировки статусов находится в таблице /TRL/XDE_CUST
по имени настройки «FM_SORT_STATUS_NEW».

Если удалить настройку, ошибка не возникнет.
Если заполнить некорректно, вызова ФМ не произойдет.
Правила для ФМ из этой настройки касаются интерфейса ФМ, см. в таблице ниже.
Наименование параметра |
Тип |
Название словарного типа или класс |
---|---|---|
|
||
|
Тип |
|
|
Тип |
|
|
||
|
Тип |
|
Функциональный модуль обработки события смены статуса¶
Имя функционального модуля обработки события смены статуса отправления содержится в таблице /TRL/XDE_CUST
по имени настройки «FM_SET_EVENT».
Данный ФМ вызывается при изменении статуса отправления.

Правила для ФМ из этой настройки касаются интерфейса ФМ, см. в таблице ниже.
Наименование параметра |
Тип |
Название словарного типа или класс |
---|---|---|
|
||
|
Тип |
|
|
Тип |
|
|
||
|
Тип |
|
Функциональный модуль для обработки после выставления статуса¶
Имя функционального модуля для обработки после выставления статуса содержится в таблице /TRL/XDE_STATE
, поле FMAST
.

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