SAPPER SETTINGS - Настройки загрузки — различия между версиями
(→BAPI) |
(→BAPI) |
||
Строка 282: | Строка 282: | ||
** Fmfield - поле | ** Fmfield - поле | ||
** Fmtable - таблица | ** Fmtable - таблица | ||
+ | ** Field - поле | ||
+ | ** String - строка | ||
* [подтип] - подтип параметра | * [подтип] - подтип параметра | ||
** Export - входная структура для BAPI | ** Export - входная структура для BAPI | ||
Строка 297: | Строка 299: | ||
*** Export | *** Export | ||
*** Import | *** Import | ||
− | ** [формат] - использовать форматирование | + | ** [формат] - использовать форматирование (/SBIS/CL_MAPPING->CONVERT_FIELD_TYPE) |
Для каждого BAPI требуется описать маппинг всех необходимых входных и выходных структур в массиве BAPI. Рассмотрим на примере BAPI_PO_CREATE1. | Для каждого BAPI требуется описать маппинг всех необходимых входных и выходных структур в массиве BAPI. Рассмотрим на примере BAPI_PO_CREATE1. | ||
Строка 304: | Строка 306: | ||
В нашем примере требуется описать маппинг для входных структуры POHEADER, POHEADERX, NO_PRICE_FROM_PO, POITEM, POITEMX, POSCHEDULE, POSCHEDULEX и выходных EXPPURCHASEORDER, RETURN. | В нашем примере требуется описать маппинг для входных структуры POHEADER, POHEADERX, NO_PRICE_FROM_PO, POITEM, POITEMX, POSCHEDULE, POSCHEDULEX и выходных EXPPURCHASEORDER, RETURN. | ||
+ | |||
+ | <div style="border: 1px dashed;"> | ||
+ | пример заполнения POHEADER, POHEADERX, NO_PRICE_FROM_PO, POITEM, POITEMX, POSCHEDULE, POSCHEDULEX, EXPPURCHASEORDER, RETURN для BAPI BAPI_PO_CREATE1 создание заказа на закупку | ||
+ | <div class="mw-collapsible mw-collapsed" style="overflow: hidden;"> | ||
+ | <br> | ||
+ | <source lang=JSON> | ||
+ | { | ||
+ | { | ||
+ | "Имя": "POHEADER", | ||
+ | "Тип": "Fmstructure", | ||
+ | "Подтип": "Export", | ||
+ | "Формат": "BAPIMEPOHEADER", | ||
+ | "Значение": [ | ||
+ | { | ||
+ | "Имя": "COMP_CODE", | ||
+ | "Значение": "IR_INPUT_DATA->BUKRS", | ||
+ | "Тип": "Field", | ||
+ | "Подтип": "Export", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "DOC_TYPE", | ||
+ | "Значение": "NB", | ||
+ | "Тип": "String", | ||
+ | "Подтип": "Export", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "VENDOR", | ||
+ | "Значение": "IR_INPUT_DATA->LIFNR", | ||
+ | "Тип": "Field", | ||
+ | "Подтип": "Export", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "DOC_DATE", | ||
+ | "Значение": "IR_INPUT_DATA->DATE", | ||
+ | "Тип": "Field", | ||
+ | "Подтип": "Export", | ||
+ | "Формат": "DATE" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "PURCH_ORG", | ||
+ | "Значение": "IR_INPUT_DATA->EKORG", | ||
+ | "Тип": "Field", | ||
+ | "Подтип": "Export", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "PUR_GROUP", | ||
+ | "Значение": "IR_INPUT_DATA->EKGRP", | ||
+ | "Тип": "Field", | ||
+ | "Подтип": "Export", | ||
+ | "Формат": "" | ||
+ | } | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "POHEADERX", | ||
+ | "Тип": "Fmstructure", | ||
+ | "Подтип": "Export", | ||
+ | "Формат": "BAPIMEPOHEADERX", | ||
+ | "Значение": [ | ||
+ | { | ||
+ | "Имя": "COMP_CODE", | ||
+ | "Значение": "X", | ||
+ | "Тип": "String", | ||
+ | "Подтип": "Export", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "DOC_TYPE", | ||
+ | "Значение": "X", | ||
+ | "Тип": "String", | ||
+ | "Подтип": "Export", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "VENDOR", | ||
+ | "Значение": "X", | ||
+ | "Тип": "String", | ||
+ | "Подтип": "Export", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "DOC_DATE", | ||
+ | "Значение": "X", | ||
+ | "Тип": "String", | ||
+ | "Подтип": "Export", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "PURCH_ORG", | ||
+ | "Значение": "X", | ||
+ | "Тип": "String", | ||
+ | "Подтип": "Export", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "PUR_GROUP", | ||
+ | "Значение": "X", | ||
+ | "Тип": "String", | ||
+ | "Подтип": "Export", | ||
+ | "Формат": "" | ||
+ | } | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "NO_PRICE_FROM_PO", | ||
+ | "Тип": "Fmfield", | ||
+ | "Подтип": "Export", | ||
+ | "Формат": "CHAR01", | ||
+ | "Значение": [ | ||
+ | { | ||
+ | "Имя": "*", | ||
+ | "Значение": "X", | ||
+ | "Тип": "String", | ||
+ | "Подтип": "Export", | ||
+ | "Формат": "" | ||
+ | } | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "POITEM", | ||
+ | "Тип": "Fmtable", | ||
+ | "Подтип": "Table", | ||
+ | "Формат": "BAPIMEPOITEM", | ||
+ | "Значение": [ | ||
+ | { | ||
+ | "Имя": "POITEM", | ||
+ | "Тип": "IR_INPUT_DATA->ITEMS", | ||
+ | "Подтип": "", | ||
+ | "Формат": "BAPIMEPOITEM", | ||
+ | "Значение": [ | ||
+ | { | ||
+ | "Имя": "PO_ITEM", | ||
+ | "Значение": "GV_ITEMS_POS", | ||
+ | "Тип": "Classfield", | ||
+ | "Подтип": "", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "MATERIAL", | ||
+ | "Значение": "ID", | ||
+ | "Тип": "Field", | ||
+ | "Подтип": "", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "PLANT", | ||
+ | "Значение": "WERKS", | ||
+ | "Тип": "Field", | ||
+ | "Подтип": "", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "STGE_LOC", | ||
+ | "Значение": "LGORT", | ||
+ | "Тип": "Field", | ||
+ | "Подтип": "", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "QUANTITY", | ||
+ | "Значение": "AMOUNT", | ||
+ | "Тип": "Field", | ||
+ | "Подтип": "", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "NET_PRICE", | ||
+ | "Значение": "PRICE", | ||
+ | "Тип": "Field", | ||
+ | "Подтип": "", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "NO_ROUNDING", | ||
+ | "Значение": "X", | ||
+ | "Тип": "String", | ||
+ | "Подтип": "", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "TAX_CODE", | ||
+ | "Значение": "MWSKZ", | ||
+ | "Тип": "Field", | ||
+ | "Подтип": "", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "VAL_TYPE", | ||
+ | "Значение": "", | ||
+ | "Тип": "String", | ||
+ | "Подтип": "", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "UNLIMITED_DLV", | ||
+ | "Значение": "X", | ||
+ | "Тип": "String", | ||
+ | "Подтип": "", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "IR_IND", | ||
+ | "Значение": "X", | ||
+ | "Тип": "String", | ||
+ | "Подтип": "", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "GR_IND", | ||
+ | "Значение": "X", | ||
+ | "Тип": "String", | ||
+ | "Подтип": "", | ||
+ | "Формат": "" | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "POITEMX", | ||
+ | "Тип": "Fmtable", | ||
+ | "Подтип": "Table", | ||
+ | "Формат": "BAPIMEPOITEMX", | ||
+ | "Значение": [ | ||
+ | { | ||
+ | "Имя": "POITEMX", | ||
+ | "Тип": "IR_INPUT_DATA->ITEMS", | ||
+ | "Подтип": "", | ||
+ | "Формат": "BAPIMEPOITEMX", | ||
+ | "Значение": [ | ||
+ | { | ||
+ | "Имя": "PO_ITEM", | ||
+ | "Значение": "GV_ITEMS_POS", | ||
+ | "Тип": "Classfield", | ||
+ | "Подтип": "", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "MATERIAL", | ||
+ | "Значение": "X", | ||
+ | "Тип": "String", | ||
+ | "Подтип": "", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "PLANT", | ||
+ | "Значение": "X", | ||
+ | "Тип": "String", | ||
+ | "Подтип": "", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "STGE_LOC", | ||
+ | "Значение": "X", | ||
+ | "Тип": "String", | ||
+ | "Подтип": "", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "QUANTITY", | ||
+ | "Значение": "X", | ||
+ | "Тип": "String", | ||
+ | "Подтип": "", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "NET_PRICE", | ||
+ | "Значение": "X", | ||
+ | "Тип": "String", | ||
+ | "Подтип": "", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "NO_ROUNDING", | ||
+ | "Значение": "X", | ||
+ | "Тип": "String", | ||
+ | "Подтип": "", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "TAX_CODE", | ||
+ | "Значение": "X", | ||
+ | "Тип": "String", | ||
+ | "Подтип": "", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "VAL_TYPE", | ||
+ | "Значение": "X", | ||
+ | "Тип": "String", | ||
+ | "Подтип": "", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "UNLIMITED_DLV", | ||
+ | "Значение": "X", | ||
+ | "Тип": "String", | ||
+ | "Подтип": "", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "IR_IND", | ||
+ | "Значение": "X", | ||
+ | "Тип": "String", | ||
+ | "Подтип": "", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "GR_IND", | ||
+ | "Значение": "X", | ||
+ | "Тип": "String", | ||
+ | "Подтип": "", | ||
+ | "Формат": "" | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "POSCHEDULE", | ||
+ | "Тип": "Fmtable", | ||
+ | "Подтип": "Table", | ||
+ | "Формат": "BAPIMEPOSCHEDULE", | ||
+ | "Значение": [ | ||
+ | { | ||
+ | "Имя": "POSCHEDULE", | ||
+ | "Тип": "IR_INPUT_DATA->ITEMS", | ||
+ | "Подтип": "Table", | ||
+ | "Формат": "BAPIMEPOSCHEDULE", | ||
+ | "Значение": [ | ||
+ | { | ||
+ | "Имя": "PO_ITEM", | ||
+ | "Значение": "GV_ITEMS_POS", | ||
+ | "Тип": "Classfield", | ||
+ | "Подтип": "", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "SCHED_LINE", | ||
+ | "Значение": "1", | ||
+ | "Тип": "String", | ||
+ | "Подтип": "", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "DEL_DATCAT_EXT", | ||
+ | "Значение": "D", | ||
+ | "Тип": "String", | ||
+ | "Подтип": "", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "DELIVERY_DATE", | ||
+ | "Значение": "DATE", | ||
+ | "Тип": "Field", | ||
+ | "Подтип": "", | ||
+ | "Формат": "" | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "POSCHEDULEX", | ||
+ | "Тип": "Fmtable", | ||
+ | "Подтип": "Table", | ||
+ | "Формат": "BAPIMEPOSCHEDULX", | ||
+ | "Значение": [ | ||
+ | { | ||
+ | "Имя": "POSCHEDULEX", | ||
+ | "Тип": "IR_INPUT_DATA->ITEMS", | ||
+ | "Подтип": "Table", | ||
+ | "Формат": "BAPIMEPOSCHEDULX", | ||
+ | "Значение": [ | ||
+ | { | ||
+ | "Имя": "PO_ITEM", | ||
+ | "Значение": "GV_ITEMS_POS", | ||
+ | "Тип": "Classfield", | ||
+ | "Подтип": "", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "SCHED_LINE", | ||
+ | "Значение": "1", | ||
+ | "Тип": "String", | ||
+ | "Подтип": "", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "DEL_DATCAT_EXT", | ||
+ | "Значение": "X", | ||
+ | "Тип": "String", | ||
+ | "Подтип": "", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "DELIVERY_DATE", | ||
+ | "Значение": "X", | ||
+ | "Тип": "String", | ||
+ | "Подтип": "", | ||
+ | "Формат": "" | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "EXPPURCHASEORDER", | ||
+ | "Тип": "Fmfield", | ||
+ | "Подтип": "Import", | ||
+ | "Формат": "BAPIMEPOHEADER-PO_NUMBER", | ||
+ | "Значение": [] | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "RETURN", | ||
+ | "Тип": "Fmtable", | ||
+ | "Подтип": "Table", | ||
+ | "Формат": "BAPIRET2", | ||
+ | "Значение": "" | ||
+ | } | ||
+ | } | ||
+ | </source> | ||
+ | </div> | ||
+ | </div> | ||
===BATCH=== | ===BATCH=== |
Версия 11:05, 16 марта 2018
Содержание
Настройка загрузки
На основании входящего электронного документа в SAP можно создать документ, используя:
- метод создания с помощью пакетного ввода (BATCH IPNUT)
- BAPI
Настройки загрузки сгруппированы в файлы, которые начинаются с префикса UI_, после префикса следует идентификатор документа, к примеру, ЭДОНакл_1175010_5_01.
На данный момент поддерживается создание документов из электронных документов:
- счет-фактура
- накладная
Верхний уровень настройки имеет следующее представление:
- UPLOAD_DATA_XSLT – указание XSLT преобразования входящего XML в ABAP структуру, чаще всего используется "/SBIS/DOC301_XML_TO_ABAP"
- FILE – массив, содержащий перечень создаваемых документов
Внутри массива FILE может быть перечислено несколько создаваемых документов, которые будут отображаться в всплывающем меню.
массив FILE со списком создаваемых документов
FILE
Массив FILE содержит список создаваемых документов и имеет структуру:
- [имя] - идентификатор пункта меню загрузки
- [значение] - набор настроек для загрузки
- DEFAULT - значение по умолчанию для создания документа по кнопке Загрузить в SAP на экране отображения пакетов документов
- MENU_TEXT - отображаемое имя в списке контекстного меню
- DOC_TYPE - тип документа из справочника типов документов DOC_TYPE
- UPLOAD_DATA_CLASS_NAME - наименование класса создания документов
- UPLOAD_DATA_METHOD_NAME - указание метода класса создания документов:
- CREATE_BAPI_DOC - создание документа используя BAPI
- CREATE_BATCH_DOC - создание документа используя пакетный ввод
- MISSED_FIELDS_FUNCTION_NAME - указание ФМ для вызова экрана заполнения дополнительных полей, например, экран сопоставления номенклатуры
- FACE_ROLE_TO_GET_BUKRS - сторона обмена содержащая данные для БЕ
- FACE_ROLE_TO_GET_LIFNR - сторона обмена содержащая данные для поставщика
- TRANSACTION_NAME - наименование транзакции или BAPI
- POSITION_NUMBER_INCREASE - инкремент позиции
- RESULT - поле получения результата выполнения (номера документа)
- [имя] - переменная или указание на сообщение:
- переменная API2_PACKET, в которую кладется результат - для BAPI
- MSGTYP_MSGID_MSGNR - для BATCH. Требуется указать сообщение в [значении], в котором вернется результат (может быть несколько вариантов):
- PURCHASE ORDER msgtyp='S' msgid='06' msgnr='017' msgv2=ebeln
- PURCHASE ORDER msgtyp='S' msgid='MEPO' msgnr='013' msgv2=ebeln
- GOODS RECEIPT msgtyp='S' msgid='MIGO' msgnr='012' msgv1=mblnr
- INVOICE msgtyp='S' msgid='M8' msgnr='388' msgv1=belnr
- INVOICE msgtyp='S' msgid='M8' msgnr='391' msgv1=belnr
- INVOICE msgtyp='S' msgid='M8' msgnr='399' msgv1=belnr
- INVOICE msgtyp='S' msgid='M8' msgnr='437' msgv1=belnr
- INVOICE msgtyp='S' msgid='M8' msgnr='438' msgv1=belnr
- [тип] - тип переменной значения результата
- [значение] - переменная с результатом
- [имя] - переменная или указание на сообщение:
- [набор параметров для запуска транзакции] - набор параметров структуры CTU_PARAMS для запуска транзакции при использовании пакетного ввода
- CTU_PARAMS_DISMODE - режим запуска
- CTU_PARAMS_UPDMODE - режим обновления
- CTU_PARAMS_CATTMODE - режим CATT
- CTU_PARAMS_DEFSIZE - стандартный размер экрана
- CTU_PARAMS_RACOMMIT - COMMIT WORK останавливает или не останавливает работы
- CTU_PARAMS_NOBINPT - управление переменной пакетного ввода (заполнять по умолчанию)
- CTU_PARAMS_NOBIEND - управление переменной пакетного ввода (заполнять после обработки)
- [массив заполнения входных данных]
- BAPI
- BATCH
пример FILE для создания заказа на закупку через BAPI результат возвращается в BELNR из переменной EXPPURCHASEORDER с типом BAPIMEPOHEADER-PO_NUMBER
пример FILE для создания заказа на закупку через BATCH, вызывается транзакция ME21N с опциями запуска, результат возвращается в сообщении с описанным типом
BAPI
Структура массива значений BAPI:
- [имя] - имя параметра
- [тип] - типа параметра
- Fmstructure - структура
- Fmfield - поле
- Fmtable - таблица
- Field - поле
- String - строка
- [подтип] - подтип параметра
- Export - входная структура для BAPI
- Import - выходная структура для BAPI
- Table - таблица BAPI
- [формат] - указание на ABAP тип
- [массив значений]
- [имя] - имя поля структуры
- [значение] - значение
- [тип] - тип значения
- Field - поле
- String - строка
- Classfield - поле класса
- [подтип]
- Export
- Import
- [формат] - использовать форматирование (/SBIS/CL_MAPPING->CONVERT_FIELD_TYPE)
Для каждого BAPI требуется описать маппинг всех необходимых входных и выходных структур в массиве BAPI. Рассмотрим на примере BAPI_PO_CREATE1.
В нашем примере требуется описать маппинг для входных структуры POHEADER, POHEADERX, NO_PRICE_FROM_PO, POITEM, POITEMX, POSCHEDULE, POSCHEDULEX и выходных EXPPURCHASEORDER, RETURN.
пример заполнения POHEADER, POHEADERX, NO_PRICE_FROM_PO, POITEM, POITEMX, POSCHEDULE, POSCHEDULEX, EXPPURCHASEORDER, RETURN для BAPI BAPI_PO_CREATE1 создание заказа на закупку