Получение дочерних отправок для заданной отправки

*"----------------------------------------------------------------------
*"*"Локальный интерфейс:
*"  IMPORTING
*"     REFERENCE(IV_RECORD_ID) TYPE  /TRL/XDE_HEADER-RECORD_ID
*"     REFERENCE(IV_REL_TYPE) TYPE  /TRL/XDE_SHIP_RL-RTYPE DEFAULT 'RSC'
*"     REFERENCE(IV_MAX_LEVEL) TYPE  INT3 DEFAULT '1'
*"  EXPORTING
*"     REFERENCE(ET_CHILDREN) TYPE  /TRL/XDE_T_RECORD_ID
*"  CHANGING
*"     VALUE(CV_LEVEL) TYPE  INT3 OPTIONAL
*"  EXCEPTIONS
*"      NOTHING_FOUND
*"      LEVEL_ERROR
*"----------------------------------------------------------------------

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

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

Параметр

Описание

IMPORTING

IV_RECORD_ID

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

IV_REL_TYPE

Тип связи между отправками.

IV_MAX_LEVEL

Максимальная глубина поиска. Если указано значение больше 0, то выполняется рекурсивный поиск («дочерние к дочерним»).

EXPORTING

ET_CHILDREN

Список дочерних отправок.

CHANGING

CV_LEVEL

Для внутреннего использования.

EXCEPTIONS

NOTHING_FOUND

Дочерние отправки не найдены.

LEVEL_ERROR

Для внутреннего использования.

Функциональный модуль является рекурсивным, поэтому сначала чистится выходная таблица et_children и проверяется, что параметр cv_level меньше или равен максимальному iv_max_level.

Затем выбираются данные из таблицы /TRL/XDE_SHIP_RL и для каждой записи также рекурсивно запускается ФМ /TRL/XDE_API_SHIPM_GET_CHILD. Если в ходе выполнения данного ФМ находятся данные, то они добавляются к найденным ранее.