Назначение компонентов интеграции ================================= Объекты словаря --------------- Таблица сопоставления документов xDE и SAP ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``/TRL/XDE_UTD_ID`` Таблица предназначена для сопоставления GUID отправки SAP и ключей документов в журналах ``J3RFUTDOUT``, ``J3RFUTDIN``. Предоставляет однозначное соответствие между документами. .. list-table:: **Описание полей таблицы /TRL/XDE_UTD_ID** :widths: 2 4 1 2 :header-rows: 1 * - Поле - Элемент данных - Ключ - Описание * - RECORD_ID - /TRL/XDE_ED_RECORD_ID_EXT - X - TerraLink xDE GUID отправки SAP * - **.INCLU-_DI** - **J_3RF_REGINV_KEY** - - **Составной ключ журнала электронных счетов-фактур** * - BUKRS_DI - BUKRS - - Балансовая единица * - GJAHR_IN_DI - GJAHR - - Финансовый год * - NUM_IN_DI - NUM10 - - Номер (10-значный) * - BELNR_ORIG_DI - J_3RFINV_ORIGS - - Номер исходного счета-фактуры * - GJAHR_ORIG_DI - J_3RFINV_ORIGY - - Год исходного счета-фактуры * - BELNR_CORR_DI - J_3RFINV_CORRS - - Номер корректировочного счета-фактуры * - GJAHR_CORR_DI - J_3RFINV_CORRY - - Год корректировочного счета-фактуры * - REVNO_DI - J_3RFINV_REVNO - - Номер исправления * - **.INCLU-_TG** - **J_3RF_RG_FILE_KEY** - - **Составной ключ журнала актов** * - **.INCLUDE** - **J_3RF_REGTORG_KEY** - - **Electronic Documents Journal Key** * - BUKRS - BUKRS - - Балансовая единица * - GJAHR - J_3RFTG_DOCJR_YEAR - - Год документа * - NUM - J_3RFTG_NUM - - Номер электронного документа * - **.INCLUDE** - **J_3RF_RG_FILE_DATA** - - **Electronic Documents Key Data** * - JTYPE - J_3RF_DI_JOURNAL_TYPE - - Вид документа * - DOC_TYPE - J_3RF_DI_DOCTYPE - - Вид документа электронного счета * - POS - J_3RF_RG_FILE_POS - - Позиция файла * - STATUS - /TRL/XDE_ED_STATUS - - TerraLink xDE Код статуса отправки * - VBELN - VBELN - - Номер документа сбыта В общем случае, при отправке документа или получении статуса по документу, в этой таблице находится нужный документ по соответствующему составному ключу журнала электронных документов и GUID отправки в xDE. .. important:: * Документы **СЧФ**, **СЧФДОП**, **КСЧФ**, **КСЧФДОП** хранятся в архиве SAP – ``J_3RFDI_ARC`` и для них заполняется ключ **J_3RF_REGINV_KEY**. * Документы **ДОП** хранятся в архиве – ``J_3RF_RGTORG_IFS`` и для них заполняется ключ **J_3RF_RG_FILE_KEY.** * Для **входящих документов** такого типа будут заполнены поля составного ключа **J_3RF_REGINV_KEY** – ``BUKRS_DI``, ``GJAHR_IN_DI``, ``NUM_IN_DI`` .. image:: media/image2.png :scale: 71 :align: center Для исходящих документов этих же типов будут заполнены поля **составного ключа J_3RF_REGINV_KEY** – BUKRS_DI, BELNR_ORIG_DI, GJAHR_ORIG_DI, REVNO_DI. Если фактура корректировочная, то дополнительно будут заполнены BELNR_CORR_DI и GJAHR_CORR_DI. Для документов типа ДОП заполняется другой ключ **J_3RF_RG_FILE_KEY** – поля BUKRS, GJAHR, NUM, JTYPE, DOC_TYPE, POS. В большинстве случаев однозначно документ можно определить по первой части ключа - **J_3RF_REGTORG_KEY.** .. image:: media/image3.png :scale: 100 % :align: center .. important:: Ключи J_3RF_REGINV_KEY и J_3RF_RG_FILE_KEY не могут быть заполнены одновременно. Таблица переключения доработок ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``/TRL/XDE_UTD_SW`` таблица имеет ракурс ведения и предназначена для включения и выключения определенных доработок. Указывается класс и метод, содержащий доработку, флаг управляет работой этого метода. В случае если флаг пуст, логика указанного метода выполнена не будет. .. image:: media/image4.png :scale: 100 % :align: center Структура для отображения статусов в журналах ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``/TRL/XDE_S_UTD_ADD_STATUS`` Структура содержит два поля: - код статуса отправки xDE; - наименование статуса отправки xDE. Предназначена для отображения статусов xDE в журналах ``J3RFUTDOUT``, ``J3RFUTDIN``. Статусы получаются из заголовка отправки xDE. Заполнение происходит в публичных методах ``UTDO_SELECT_DATA`` и ``UTDI_SELECT_DATA`` класса ``/TRL/XDE_CL_UTD_PROCESSING``. Для отображения статусов необходимо добавить APPEND структуры в стандартные структуры SAP и включить туда данную структуру в виде INCLUDE: - ``J_3RF_RG_FILE_DATA`` - ``J_3RF_RG_FILE_DATA`` Само заполнение любых доп. полей происходит в реализации расширения BADI ``J_3R_REGINV_BADI``. Таким образом, для корректного отображения статусов xDE необходимо в реализацию вышеуказанной BADI у заказчика добавить вызов static методов ``UTDO_SELECT_DATA`` и ``UTDI_SELECT_DATA`` класса ``/TRL/XDE_CL_UTD_PROCESSING`` в соответствующие методы BADI реализации. Библиотека классов ------------------ Класс реализации интеграции ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``/TRL/XDE_CL_UTD_PROCESSING`` Класс реализует работу интеграции xDE продукта и SAP UTD. Атрибуты класса ``/TRL/XDE_CL_UTD_PROCESSING``. .. raw:: latex \usepackage{pdflscape} \begin{landscape} .. list-table:: **Атрибуты класса /TRL/XDE_CL_UTD_PROCESSING** :widths: 4 1 1 4 4 :header-rows: 1 * - Атрибут - Вид - Видимость - Нач. Знач. - Описание * - MC_LOG_OBJ - Constant - Public - "RU_XMLINV" - Журнал приложений – имя объекта SLG * - MC_MSGID - Constant - Public - "/TRL/XDE_UTD" - Имя класса сообщений * - GO_SWITCH - Static Attribute - Public - - Объект локального класса * - MC_ENCODING - Constant - Private - "XML_ENCODING_FTS" - Имя настройки для получения кодировки * - MC_REGINV_KEY - Constant - Private - "J_3RF_REGINV_KEY" - Имя структуры ключа журнала счф * - MC_RG_FILE_KEY - Constant - Private - "J_3RF_REGTORG_KEY" - Имя структуры ключа журнала актов * - MC_SWITCH_SETTING_NAME - Constant - Private - "UTD_INTEGRATION" - Имя настройки /TRL/XDE_CU ST * - MC_XML_EXT - Constant - Private - "XML" - Расширение * - GRT_DOC_TAB - Static Attribute - Private - - Таблица документов для класса CL_J3RF_DIGINV_PROCESSOR * - GT_R_DOC_TYPES - Static Attribute - Private - - Набор типов документов * - GV_SKIP_CHECK - Static Attribute - Private - - Флаг отключения проверки при постановке в очередь отправки из UTD * - GV_STATE - Static Attribute - Private - - Не используется * - MV_DYN_PROG_NAME - Static Attribute - Private - - Имя ABAP-программы .. list-table:: **Методы класса /TRL/XDE_CL_UTD_PROCESSING** :class: longtable :widths: 3 1 1 3 :header-rows: 1 * - Метод - Вид - Видимость - Описание * - ADD_DOCUMENT_BY_DOC_TAB - Static Method - Public - Добавление документа после обработки в UTD * - CONV_DTYPE_TO_SRC_TYPE - Static Method - Public - XDE тип документа -> UTD тип документа * - CRUTCH_DOC_ORIG_NAME - Static Method - Public - Работа с атрибутом "НаимДокОпр" * - CRUTCH_IN_BUYTL_REPLACER - Static Method - Public - Замена местами отпр. и пол. в титуле получателя * - CRUTCH_IN_KORBUYTL_REPLACER - Static Method - Public - Замена местами отпр. и пол. в титуле КОРР получателя * - CRUTCH_UPD_PRANNUL_FILENAME - Static Method - Public - Изменение имени файла PRANNUL на реально отправленное * - GET_DOCUMENTS - Static Method - Public - Получение всех документов, ранее добавленных в рамках процесса * - GET_SKIP_FLAG - Static Method - Public - Получение флага пропуска проверки наличия в UTD при отправке * - INTEGRATION_SWITCH - Static Method - Public - Проверка параметра вкл./выкл. интеграции * - SM30_BOX_UPDATE - Static Method - Public - Обновление данных ящиков по данным /TRL/XDE_BOX_ID * - UTDI_SELECT_DATA - Static Method - Public - Вх. журнал доп. статусы * - UTDO_SELECT_DATA - Static Method - Public - Исх. журнал доп. статусы * - UTD_DOCUMENT_CHECK - Static Method - Public - Проверка наличия документа в журнале UTD * - UTD_RECEIVE - Static Method - Public - Получение документов * - UTD_SEND - Static Method - Public - Кнопка Отправить... * - UTD_SIGN - Static Method - Public - Кнопка Подписать... * - UPDATE_DB_TAB - Static Method - Protected - Обновить таблицу ``/TRL/XDE_UTD_ID`` * - ADD_DOCUMENT_BY_LINK - Static Method - Private - Добавление документа из архива в атрибут по ссылке LINK * - ADD_LOG_ENTRY - Static Method - Private - Добавление сообщения в лог RU_XMLINV * - ANNULMENT_REQ - Static Method - Private - Запрос на аннулирование * - BO_GET_PARTNERS - Static Method - Private - /TRL/XDE_API_BO_GET_PARTNERS * - CONV_DOC_TYPE_BY_REC_ID - Static Method - Private - Получение типа документа по RECORD_ID * - CONV_SRC_TYPE_TO_DTYPE - Static Method - Private - UTD тип документа -> XDE тип документа * - CRUTCH_UVTOUCH - Static Method - Private - Допобработка уведомления об уточнении * - DYNAMIC_COND_PREPARE - Static Method - Private - Подготовка динамического условия для выборки * - FIND_COMMENT - Static Method - Private - Поиск комментария в документе * - GET_ARC_KEY_STRUCT - Static Method - Private - Получение ключа архива документов SAP * - GET_BOX - Static Method - Private - Получение данных ящиков * - GET_CCODE_BY_FILENAME - Static Method - Private - Получение БЕ по имени файла * - GET_CODEPAGE - Static Method - Private - Получение кодировки документа XML * - GET_DOC_BY_FILENAME - Static Method - Private - Получение ключа документа в архивах по имени файла * - GET_OPERATOR_ID - Static Method - Private - Получение ИдОператора по XML * - GET_SHIPMENTS - Static Method - Private - Вызов /TRL/XDE_API_SHIPM_GET_DATA * - GET_VBELN - Static Method - Private - Поиск фактуры по ключу журналов UTDINV и TG * - POPUP_QUESTION - Static Method - Private - Вывод всплывающего окна * - READ_JOURNAL_LAST_STATUS - Static Method - Private - Получение последнего статуса замены оператора * - SELECT_DOCS - Static Method - Private - Выбор документов из /trl/xde_utd_id по ключу документа * - SET_SIGNER_IN_XML - Static Method - Private - Не используется * - SET_STATUS - Static Method - Private - R1->R * - SHIPM_OUT_ADD - Static Method - Private - Постановка в очередь отправки R1 * - SHIPM_SEND_AGAIN - Static Method - Private - Для статусов WV1->WV и WX1->WX * - SHIPM_SIGN_IN - Static Method - Private - Подтверждение/Отклонение аннулирования * - UPDATE_DB_KEY_PREPARE - Static Method - Private - Подготовка ключа для табл. /TRL/XDE_UTD_ID * - UPDATE_DB_UPDATE - Static Method - Private - Запись строки в табл. /TRL/XDE_UTD_ID * - UPDATE_DB_UTD_DOCS - Static Method - Private - Обновление статусов в журналах UTD .. raw:: latex \end{landscape} Группа функций -------------- Группа функций для работы с интеграцией ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``/TRL/FG_XDE_UDT`` - группа функций служит в качестве обёртки для класса /TRL/XDE_CL_UTD_PROCESSING и соответствующих методов этого класса. - ``/TRL/XDE_RECEIVE_FOR_UTD`` - /trl/xde_cl_utd_processing=>utd_receive .. note:: ФМ запустит метод utd_receive только в случае, если настройка UTD_INTEGRATION включена в /TRL/XDE_CUST - ``/TRL/XDE_SEND_FOR_UTD`` - /trl/xde_cl_utd_processing=>utd_send - ``/TRL/XDE_SIGN_FOR_UTD`` - /trl/xde_cl_utd_processing=>utd_sign ФМ проверки существования документа в стандартных журналах SAP ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``/TRL/XDE_UTD_DOCUMENT_CHECK`` Функциональный модуль предназначен для проверки уже существующего документа в UTD, при вызове диалога из GOS меню транзакции VF02/VF03. Если документ уже присутствует в SAP UTD, то отправку документа следует производить из журнала электронных счетов-фактур ``J3RFUTDOUT``, соответствующая ошибка будет выведена в диалоговом окне отправки документа тр. VF02/VF03. Для пропуска этой проверки в рамках работы с SAP UTD, при подписании документа и постановке в очередь отправки в xDE продукт, используется атрибут ``SKIP_CHECK`` класса ``/TRL/XDE_CL_UTD_PROCESSING``, и работа этого ФМ пропускается при работе с UTD. Классы сообщений ---------------- ``/TRL/XDE_UTD`` - Класс текстовых сообщений для записи корректных текстов в лог RU_XMLINV. Транзакции ---------- Автоматическое обновление ящиков дебиторов ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``/TRL/XDE_BOX_UPDATE`` Транзакция позволяет настроить ракурсы с ящиками операторов дебиторов и кредиторов автоматически. - xDE->SAP позволяет по настройкам /TRL/XDE_BOX_ID настроить все ракурсы SAP UTD - SAP->xDE позволяет настроить по ракурсам SAP UTD таблицу /TRL/XDE_BOX_ID .. image:: media/image5.png :scale: 70 % :align: center Синхронизация статусов документов ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``/TRL/XDE_DOCS_SYNC`` Транзакция предназначена для получения корректных статусов по отправлениям, в случае, если они отличаются от статусов в xDE продукте. Выбирать документы можно как по номерам xDE, так и по номерам документов UTD. .. image:: media/image6.png :scale: 72