Фунциональное описание API для обмена приглашениями

Доступ к функционалу обмена приглашениями реализован в классе /TRL/XDE_CL_INVITATION_API. Создание инстанции класса необходимо для использования методов API. Конструктор инстанции класса не имеет параметров.

Порядок действий для следующих вариантов обработки:

  • Действие над существующими приглашениями
    1. Сформировать таблицу типа /TRL/XDE_CL_INVITATION_API => MTY_T_INVITATION.

    2. Передать её в API метод PROCESS_INVITATIONS с нужным вариантом действия над приглашениями (параметр IV_ACTION).

    3. Выполнить COMMIT_DB_CHANGES для актуализации статусов.

  • Отправка новых приглашений
    1. Вызвать метод FORM_LIST с необходимыми ограничениями.

    2. Нужные записи полученной таблицы привести к /TRL/XDE_CL_INVITATION_API => MTY_T_INVITATION.

    3. Передать подготовленную таблицу в метод PROCESS_INVITATIONS с кодом действия /TRL/XDE_CL_INVITATION_API => GC_SEND_ACTION.

    4. Выполнить COMMIT_DB_CHANGES для актуализации статусов.

  • Обновление данных по приглашениям
    1. Вызвать метод COMMON_REFRESH с необходимыми ограничениями.

    2. Выполнить COMMIT_DB_CHANGES для актуализации статусов.

Описание констант

Константы действий над приглашениями из домена /TRL/XDE_DM_INVITE_ACTION

  • /TRL/XDE_CL_INVITATION_API=>GC_ACCEPT_ACTION

    Значение ‘ACCEPT’ – Принятие приглашения

  • /TRL/XDE_CL_INVITATION_API=>GC_BREAK_ACTION

    Значение ‘BREAK’ – Прекращение отношений партнерства с контрагентом

  • /TRL/XDE_CL_INVITATION_API=>GC_FRIEND_ACTION

    Значение ‘FRIEND’ – Состояние установленных отношений партнерства с контрагентом. По умолчанию связан со статусом CV и используется в стандартной поставке для синхронизации отсутствующих ящиков в /TRL/XDE_OED_BX и /TRL/XDE_BOX_ID.

  • /TRL/XDE_CL_INVITATION_API=>GC_REJECT_ACTION

    Значение ‘REJECT’ – Отклонение приглашения

  • /TRL/XDE_CL_INVITATION_API=>GC_REVOKE_ACTION

    Значение ‘REVOKE’ – Отзыв приглашения

  • /TRL/XDE_CL_INVITATION_API=>GC_SEND_ACTION

    Значение ‘SEND’ – Отправка нового приглашения

Константы статусов отношений партнерства между контрагентами

  • /TRL/XDE_CL_INVITATION_API=>GC_STS_CD

    Значение – ‘CD’

  • /TRL/XDE_CL_INVITATION_API=>GC_STS_CDI

    Значение – ‘CDI’

  • /TRL/XDE_CL_INVITATION_API=>GC_STS_CDO

    Значение – ‘CDO’

  • /TRL/XDE_CL_INVITATION_API=>GC_STS_CX

    Значение – ‘CX’

Константы для ограничения выборок при обновлении статусов

  • /TRL/XDE_CL_INVITATION_API=>GC_LIMIT_LIFNR

    Значение – ‘L’

  • /TRL/XDE_CL_INVITATION_API=>GC_LIMIT_KUNNR

    Значение – ‘K’

  • /TRL/XDE_CL_INVITATION_API=>GC_LIMIT_ALL

    Значение – ‘A’

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

Метод подтверждения изменений в БД

COMMIT_DB_CHANGES

Метод выполняет COMMIT WORK AND WAIT и не имеет параметров.

Обновление отношений партнерства по всем операторам

COMMON_REFRESH

Таблица 308 IMPORTING параметры

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

Тип

Необяз.

Ст. знач.

Описание

IT_INVITATIONS

MTY_T_INVITATION

X

Таблица с данными контрагента для обмена приглашениями

IT_ID_OED

/TRL/XDE_T_RANGE

X

RANGE ID_OED для ограничения обновления

IT_LIFNR

/TRL/XDE_T_RANGE

X

RANGE LIFNR для ограничения обновления

IT_KUNNR

/TRL/XDE_T_RANGE

X

RANGE KUNNR для ограничения обновления

IT_BUKRS

/TRL/XDE_T_RANGE

X

RANGE BUKRS для ограничения обновления

IV_LIMIT

CHAR1

X

«A»

Параметр ограничения выборки

Таблица 309 EXPORTING параметры

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

Тип

Описание

ET_TAB

/TRL/XDE_T_INVITE_MAIN_ALV

Набор данных по обмену приглашениями

Метод выполняет полное или частичное обновление статусов по приглашениям, в зависимости от входных параметров.

Если есть ограничения IT_LIFNR или IT_KUNNR, то сначала выбираются данные по этим контрагентам в стандартных SAP таблицах LFA1 и KNA1. Используются как фильтры по ИНН и КПП после получения статусов отношений партнерства от операторов.

Если после получений статусов отношений партнерства соответствующая запись по ИНН, КПП, идентификатору ящика существует в /TRL/XDE_DEB_REL, то выполняется обновление такой строки, при различиях в статусах.

Если после получения статусов отношений партнерства соответствующая запись по ИНН, КПП, идентификатору ящика в /TRL/XDE_DEB_REL отсутствует, то такую запись необходимо вставить в таблицу.

В выходную таблицу ET_TAB попадают все строки из /TRL/XDE_DEB_REL с ограничением по входным параметрам и соответствующие им данные о дебиторе/кредиторе, взятые из KNA1/LFA1 по ИНН, КПП, БЕ.

Для того, чтобы после установления отношений партнерства между контрагентами можно было сразу обмениваться документами, в методе предусмотрен функционал по автоматическому добавлению данных ящика и соответствующего дебитора/кредитора в настроечные таблицы xDE продукта, а именно: /TRL/XDE_OED_BX, /TRL/XDE_BOX_ID. При включенной настройке UTD_INTEGRATION_INV в /TRL/XDE_CUST происходит синхронизация с таблицами UTD. В случае, если ящики уже настроены для такого дебитора/кредитора, добавление не выполняется. Функционал проверки наличия и добавления ящиков срабатывает только на статус отношений партнерства, в стандартной статусной схеме – «CV».

Конструктор

CONSTRUCTOR

Конструктор инстанции.

Без параметров.

В конструкторе выполняется подготовка общих данных для работы с приглашениями, это:

данные из /TRL/XDE_INV_STS, /TRL/XDE_INV_CON, а также создание объекта по работе с /TRL/XDE_DEB_REL.

Сформировать список контрагентов для обмена приглашениями

FORM_LIST

Таблица 310 IMPORTING параметры

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

Тип

Необяз.

Ст. знач.

Описание

IT_ID_OED

/TRL/XDE_T_RANGE

X

RANGE ID_OED для ограничения обновления

IT_LIFNR

/TRL/XDE_T_RANGE

X

RANGE LIFNR для ограничения обновления

IT_KUNNR

/TRL/XDE_T_RANGE

X

RANGE KUNNR для ограничения обновления

IT_BUKRS

/TRL/XDE_T_RANGE

X

RANGE BUKRS для ограничения обновления

IV_LIMIT

CHAR1

X

«A»

Параметр ограничения выборки

Таблица 311 EXPORTING параметры

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

Тип

Описание

ET_TAB

/TRL/XDE_T_INVITE_MAIN_ALV

Набор данных по обмену приглашениями

Метод формирует список контрагентов для обмена приглашениями.

Входные параметры позволяют ограничить выбор списка контрагентов, созданных в системе по следующим параметрам:

  • Оператор ЭДО – IT_ID_OED

  • Кредитор – IT_LIFNR

  • Дебитор – IT_KUNNR

  • БЕ – IT_BUKRS

Параметр IV_LIMIT позволят ограничить выборку по следующим параметрам:

  • Дебиторы – значение /TRL/XDE_CL_INVITATION_API=>GC_LIMIT_KUNNR

  • Кредиторы - /TRL/XDE_CL_INVITATION_API=>GC_LIMIT_LIFNR

  • Без ограничений - /TRL/XDE_CL_INVITATION_API=>GC_LIMIT_ALL

В выходную таблицу ET_INVITES собираются строки из настроенных в SAP-системе дебиторов и кредиторов, с которыми на текущий момент не установлены отношения партнерства (отсутствуют записи в таблице /TRL/XDE_DEB_REL). Попадают в ET_INVITES также те дебиторы и кредиторы, с которыми ранее были установлены отношения партнерства, но на текущий момент приглашения отозваны, ошибочны, или отношения партнерства прекращены, в стандартном наборе статусов – «CX», «E».

Получение таблицы отношений партнерства между контрагентами

GET_DEB_REL_LINES

Таблица 312 IMPORTING параметры

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

Тип

Необяз.

Описание

IT_BOX_ID

/TRL/XDE_T_RANGE

X

Диапазон значений

IT_INN

/TRL/XDE_T_RANGE

X

Диапазон значений

IT_KPP

/TRL/XDE_T_RANGE

X

Диапазон значений

IT_BUKRS

/TRL/XDE_T_RANGE

X

Диапазон значений

IV_ID_OED

/TRL/XDE_T_RANGE

X

Диапазон значений

IT_STATUS

/TRL/XDE_T_RANGE

X

Диапазон значений

Таблица 313 RETURNING параметры

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

Тип

Описание

RT_DEB_REL

/TRL/XDE_T_DEB_REL

Записи таблицы отношений партнерства между контрагентами

Метод позволяет получить строки таблицы /TRL/XDE_DEB_REL.

Ограничения, возможные для выборки:

  • По ящику SAP системы – IT_BOX_ID

  • По ИНН – IT_INN

  • По КПП – IT_KPP

  • По балансовой единице – IT_BUKRS

  • По идентификатору оператора ЭДО – IT_ID_OED

  • По статусу отношений партнерства – IT_STATUS

Получение истории статусов для приглашения

GET_HISTORY

Таблица 314 IMPORTING параметры

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

Тип

Необяз.

Описание

IS_ALV

/TRL/XDE_S_INVITE_MAIN_ALV

X

Строка с данными об отношениях партнерства

Таблица 315 EXPORTING параметры

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

Тип

Описание

ET_HISTORY_ALV

/TRL/XDE_T_INVITE_MAIN_ALV

Набор данных по обмену приглашениями

Метод возвращает историю изменения статусов для конкретного отношения партнерства.

Во входной структуре IS_ALV обязательно должны быть заполнены поля:

  • Идентификатор оператора - ID_OED

  • ИНН - STCD1

  • КПП - STCD3

Выходная таблица ET_HISTORY_ALV содержит строки со всей историей изменения статусов для переданного контрагента и заполненными полями:

  • Статус – STATUS

  • Идентификатор оператора - ID_OED

  • ИНН - STCD1

  • КПП - STCD3

  • Текст статуса – TEXT

Таблица выдается уже отсортированной по статусам, где последний полученный статус находится в конце таблицы.

Получение текста статуса по коду

GET_STATUS_TEXT

Таблица 316 IMPORTING параметры

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

Тип

Необяз.

Описание

IV_STATUS

/TRL/XDE_ED_INVITE_STATUS

Код статуса отношений партнерства между контрагентами

Таблица 317 RETURNING параметры

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

Тип

Описание

RV_TEXT

/TRL/XDE_ED_INVITE_STATUS_TEXT

Описание кода статуса отношений партнерства между контрагентами

Метод возвращает описание статуса отношений партнерства между контрагентами по коду статуса.

Обработка приглашений

PROCESS_INVITATIONS

Таблица 318 IMPORTING параметры

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

Тип

Необяз.

Описание

IV_ACTION

/TRL/XDE_ED_INVITE_ACTION

Код действия для операции над приглашением

IT_INVITATIONS

MTY_T_INVITATION

Таблица приглашений

Таблица 319 EXPORTING параметры

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

Тип

Описание

ET_DEB_REL

/TRL/XDE_T_DEB_REL

Записи таблицы отношений партнерства между контрагентами

ET_RETURN

MTY_T_RETURN

Таблица с сообщениями о возникших ошибках

Метод выполняет обработку операций над набором приглашений, переданных в таблице IT_INVITATIONS.

Для определения действия над приглашениями необходимо передать параметр IV_ACTION, значение можно взять из констант API класса. Все строки таблицы IT_INVITATIONS будут обработаны этим действием.

Таблица IT_INVITATIONS должна содержать заполненные значения для каждого приглашения:

  • Балансовая единица

  • Оператор, через которого будет осуществляться обмен

  • ИНН контрагента для обмена

  • КПП контрагента для обмена

  • E-MAIL контрагента для обмена

Важно

На текущий момент обязательность/необязательность заполнения поля с адресом электронной почты зависит от оператора ЭДО (например, для оператора Такском-Файлер поле обязательно для заполнения).

Во время работы какой-либо операции над приглашением будет вызвано получение последнего актуального для каждой обрабатываемой строки IT_INVITATIONS. Таким образом, даже если обработка приглашений завершилась неудачей, необходимо выполнить COMMIT WORK после метода PROCESS_INVITATIONS, чтобы актуальные статусы по каждому из приглашений были актуализированы в /TRL/XDE_DEB_REL.