Фунциональное описание API для обмена приглашениями¶
Доступ к функционалу обмена приглашениями реализован в классе /TRL/XDE_CL_INVITATION_API. Создание инстанции класса необходимо для использования методов API. Конструктор инстанции класса не имеет параметров.
Порядок действий для следующих вариантов обработки:
- Действие над существующими приглашениями
Сформировать таблицу типа /TRL/XDE_CL_INVITATION_API => MTY_T_INVITATION.
Передать её в API метод PROCESS_INVITATIONS с нужным вариантом действия над приглашениями (параметр IV_ACTION).
Выполнить COMMIT_DB_CHANGES для актуализации статусов.
- Отправка новых приглашений
Вызвать метод FORM_LIST с необходимыми ограничениями.
Нужные записи полученной таблицы привести к /TRL/XDE_CL_INVITATION_API => MTY_T_INVITATION.
Передать подготовленную таблицу в метод PROCESS_INVITATIONS с кодом действия /TRL/XDE_CL_INVITATION_API => GC_SEND_ACTION.
Выполнить COMMIT_DB_CHANGES для актуализации статусов.
- Обновление данных по приглашениям
Вызвать метод COMMON_REFRESH с необходимыми ограничениями.
Выполнить 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
Имя параметра |
Тип |
Необяз. |
Ст. знач. |
Описание |
---|---|---|---|---|
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» |
Параметр ограничения выборки |
Имя параметра |
Тип |
Описание |
---|---|---|
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
Имя параметра |
Тип |
Необяз. |
Ст. знач. |
Описание |
---|---|---|---|---|
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» |
Параметр ограничения выборки |
Имя параметра |
Тип |
Описание |
---|---|---|
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
Имя параметра |
Тип |
Необяз. |
Описание |
---|---|---|---|
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 |
Диапазон значений |
Имя параметра |
Тип |
Описание |
---|---|---|
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
Имя параметра |
Тип |
Необяз. |
Описание |
---|---|---|---|
IS_ALV |
/TRL/XDE_S_INVITE_MAIN_ALV |
X |
Строка с данными об отношениях партнерства |
Имя параметра |
Тип |
Описание |
---|---|---|
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
Имя параметра |
Тип |
Необяз. |
Описание |
---|---|---|---|
IV_STATUS |
/TRL/XDE_ED_INVITE_STATUS |
Код статуса отношений партнерства между контрагентами |
Имя параметра |
Тип |
Описание |
---|---|---|
RV_TEXT |
/TRL/XDE_ED_INVITE_STATUS_TEXT |
Описание кода статуса отношений партнерства между контрагентами |
Метод возвращает описание статуса отношений партнерства между контрагентами по коду статуса.
Обработка приглашений¶
PROCESS_INVITATIONS
Имя параметра |
Тип |
Необяз. |
Описание |
---|---|---|---|
IV_ACTION |
/TRL/XDE_ED_INVITE_ACTION |
Код действия для операции над приглашением |
|
IT_INVITATIONS |
MTY_T_INVITATION |
Таблица приглашений |
Имя параметра |
Тип |
Описание |
---|---|---|
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.