SAPPER SETTINGS - Настройки загрузки — различия между версиями
(→FILE) |
|||
(не показано 19 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
− | + | =Настройка загрузки= | |
+ | На основании входящего электронного документа в SAP можно создать документ, используя: | ||
+ | * метод создания с помощью пакетного ввода (BATCH IPNUT) | ||
+ | * BAPI | ||
+ | |||
+ | Настройки загрузки сгруппированы в файлы, которые начинаются с префикса UI_, после префикса следует идентификатор документа, к примеру, ЭДОНакл_1175010_5_01. | ||
+ | |||
+ | На данный момент поддерживается создание документов из электронных документов: | ||
+ | * счет-фактура | ||
+ | * накладная | ||
Верхний уровень настройки имеет следующее представление: | Верхний уровень настройки имеет следующее представление: | ||
Строка 10: | Строка 19: | ||
<div style="border: 1px dashed;"> | <div style="border: 1px dashed;"> | ||
− | + | пример файла загрузки с массивом FILE со списком создаваемых документов | |
<div class="mw-collapsible mw-collapsed" style="overflow: hidden;"> | <div class="mw-collapsible mw-collapsed" style="overflow: hidden;"> | ||
<br> | <br> | ||
Строка 34: | Строка 43: | ||
{ | { | ||
"Имя": "MENU_CREATE_PURCHASE_ORDER_BAPI", | "Имя": "MENU_CREATE_PURCHASE_ORDER_BAPI", | ||
− | |||
− | |||
− | |||
− | |||
"Значение": [] | "Значение": [] | ||
} | } | ||
Строка 47: | Строка 52: | ||
</div> | </div> | ||
− | + | ==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 | ||
+ | |||
<div style="border: 1px dashed;"> | <div style="border: 1px dashed;"> | ||
− | + | пример FILE для создания заказа на закупку через BAPI результат возвращается в BELNR из переменной EXPPURCHASEORDER с типом BAPIMEPOHEADER-PO_NUMBER | |
<div class="mw-collapsible mw-collapsed" style="overflow: hidden;"> | <div class="mw-collapsible mw-collapsed" style="overflow: hidden;"> | ||
<br> | <br> | ||
<source lang=JSON> | <source lang=JSON> | ||
{ | { | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
"Имя": "MENU_CREATE_PURCHASE_ORDER_BAPI", | "Имя": "MENU_CREATE_PURCHASE_ORDER_BAPI", | ||
"Значение": [ | "Значение": [ | ||
Строка 79: | Строка 109: | ||
{ | { | ||
"Имя": "MENU_TEXT", | "Имя": "MENU_TEXT", | ||
− | "Значение": "Создать Заказ (BAPI)" | + | "Значение": "Создать Заказ (BAPI)" |
}, | }, | ||
{ | { | ||
"Имя": "DOC_TYPE", | "Имя": "DOC_TYPE", | ||
− | "Значение": "IC" | + | "Значение": "IC" |
}, | }, | ||
{ | { | ||
"Имя": "UPLOAD_DATA_CLASS_NAME", | "Имя": "UPLOAD_DATA_CLASS_NAME", | ||
− | "Значение": "/SBIS/CL_CREATE_SAP_DOCUMENTS" | + | "Значение": "/SBIS/CL_CREATE_SAP_DOCUMENTS" |
}, | }, | ||
{ | { | ||
"Имя": "UPLOAD_DATA_METHOD_NAME", | "Имя": "UPLOAD_DATA_METHOD_NAME", | ||
− | "Значение": "CREATE_BAPI_DOC" | + | "Значение": "CREATE_BAPI_DOC" |
}, | }, | ||
{ | { | ||
"Имя": "MISSED_FIELDS_FUNCTION_NAME", | "Имя": "MISSED_FIELDS_FUNCTION_NAME", | ||
− | "Значение": "/SBIS/FM_CREATE_BAPI_PORDER", | + | "Значение": "/SBIS/FM_CREATE_BAPI_PORDER", |
"Тип": "String" | "Тип": "String" | ||
}, | }, | ||
{ | { | ||
"Имя": "FACE_ROLE_TO_GET_BUKRS", | "Имя": "FACE_ROLE_TO_GET_BUKRS", | ||
− | "Значение": "Получатель" | + | "Значение": "Получатель" |
}, | }, | ||
{ | { | ||
"Имя": "FACE_ROLE_TO_GET_LIFNR", | "Имя": "FACE_ROLE_TO_GET_LIFNR", | ||
− | "Значение": "Отправитель" | + | "Значение": "Отправитель" |
}, | }, | ||
{ | { | ||
"Имя": "TRANSACTION_NAME", | "Имя": "TRANSACTION_NAME", | ||
− | "Значение": "BAPI_PO_CREATE1" | + | "Значение": "BAPI_PO_CREATE1" |
}, | }, | ||
{ | { | ||
"Имя": "POSITION_NUMBER_INCREASE", | "Имя": "POSITION_NUMBER_INCREASE", | ||
− | "Значение": "10" | + | "Значение": "10" |
}, | }, | ||
{ | { | ||
− | "Имя": "RESULT", | + | "Имя": "RESULT", |
"Значение": [ | "Значение": [ | ||
{ | { | ||
Строка 134: | Строка 164: | ||
] | ] | ||
} | } | ||
− | |||
</source> | </source> | ||
</div> | </div> | ||
</div> | </div> | ||
− | + | <br> | |
− | + | <div style="border: 1px dashed;"> | |
− | + | пример FILE для создания заказа на закупку через BATCH, вызывается транзакция ME21N с опциями запуска, результат возвращается в сообщении с описанным типом | |
+ | <div class="mw-collapsible mw-collapsed" style="overflow: hidden;"> | ||
+ | <br> | ||
<source lang=JSON> | <source lang=JSON> | ||
{ | { | ||
− | + | "Имя": "MENU_CREATE_PURCHASE_ORDER_BATCH", | |
− | + | "Значение": [ | |
− | + | { | |
− | + | "Имя": "DEFAULT", | |
− | + | "Значение": "" | |
− | }, | + | }, |
− | { | + | { |
− | + | "Имя": "MENU_TEXT", | |
− | + | "Значение": "Создать Заказ (ПакВвод)" | |
− | + | }, | |
− | + | { | |
− | + | "Имя": "DOC_TYPE", | |
− | }, | + | "Значение": "IC" |
− | { | + | }, |
− | + | { | |
− | + | "Имя": "UPLOAD_DATA_CLASS_NAME", | |
− | + | "Значение": "/SBIS/CL_CREATE_SAP_DOCUMENTS" | |
− | + | }, | |
− | + | { | |
− | } | + | "Имя": "UPLOAD_DATA_METHOD_NAME", |
− | + | "Значение": "CREATE_BATCH_DOC" | |
− | + | }, | |
− | + | { | |
− | + | "Имя": "MISSED_FIELDS_FUNCTION_NAME", | |
− | + | "Значение": "/SBIS/FM_CREATE_BATCH_PORDER", | |
− | + | "Тип": "String" | |
− | + | }, | |
− | + | { | |
− | "Имя": " | + | "Имя": "FACE_ROLE_TO_GET_BUKRS", |
− | " | + | "Значение": "Получатель" |
− | " | + | }, |
− | + | { | |
− | + | "Имя": "FACE_ROLE_TO_GET_LIFNR", | |
− | + | "Значение": "Отправитель" | |
− | + | }, | |
− | + | { | |
− | + | "Имя": "CTU_PARAMS_DISMODE", | |
− | + | "Значение": "E" //остановить создание, если есть ошибка и показать экран | |
− | + | }, | |
− | + | { | |
− | + | "Имя": "CTU_PARAMS_UPDMODE", | |
− | + | "Значение": "S" //синхронное выполнение (COMMIT AND WAIT) | |
− | + | }, | |
− | + | { | |
− | + | "Имя": "CTU_PARAMS_CATTMODE", | |
− | + | "Значение": " " //не используя CATT | |
− | + | }, | |
− | + | { | |
− | + | "Имя": "CTU_PARAMS_DEFSIZE", | |
− | + | "Значение": "" //текущий размер экрана | |
− | + | }, | |
− | + | { | |
− | + | "Имя": "CTU_PARAMS_RACOMMIT", | |
− | + | "Значение": "X" //COMMIT WORK не останавливает обработки | |
− | + | }, | |
− | + | { | |
− | + | "Имя": "CTU_PARAMS_NOBINPT", | |
− | + | "Значение": " " //системное поле sy-binpt не заполнено | |
− | + | }, | |
− | + | { | |
− | + | "Имя": "CTU_PARAMS_NOBIEND", | |
− | + | "Значение": " " //системное поле sy-binpt не заполняется после конца обработки | |
− | + | }, | |
− | + | { | |
− | + | "Имя": "TRANSACTION_NAME", | |
− | + | "Значение": "ME21N" //транзакция | |
− | + | }, | |
− | + | { | |
− | + | "Имя": "POSITION_NUMBER_INCREASE", | |
− | + | "Значение": "10" //инкремент позиции | |
− | + | }, | |
− | + | { | |
− | + | "Имя": "RESULT", //для пакетного ввода результат лежит в разных системных сообщениях, здесь мы указываем тип, ид, номер и сообщение | |
− | + | "Значение": [ | |
− | + | { | |
− | + | "Имя": "MSGTYP_MSGID_MSGNR", | |
− | + | "Значение": "S|06|017|MSGV2" | |
− | |||
− | |||
− | |||
− | |||
}, | }, | ||
{ | { | ||
− | "Имя": "POHEADERX", | + | "Имя": "MSGTYP_MSGID_MSGNR", |
− | "Тип": "Fmstructure", | + | "Значение": "S|MEPO|013|MSGV2" |
− | "Подтип": "Export", | + | } |
− | "Формат": " | + | ] |
− | "Значение": [ | + | }, |
− | { | + | { |
− | "Имя": "COMP_CODE", | + | "Имя": "BATCH", |
− | "Значение": " | + | "Тип": "", |
− | "Тип": " | + | "Подтип": "", |
− | "Подтип": "Export", | + | "Значение": [] |
− | "Формат": "" | + | } |
+ | ] | ||
+ | } | ||
+ | </source> | ||
+ | </div> | ||
+ | </div> | ||
+ | |||
+ | ===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. | ||
+ | |||
+ | [[Файл:BAPI_PO_CREATE1_0.png]] | ||
+ | [[Файл:BAPI_PO_CREATE1_1.png]] | ||
+ | [[Файл:BAPI_PO_CREATE1_2.png]] | ||
+ | |||
+ | В нашем примере требуется описать маппинг для входных структуры 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", | "Имя": "DOC_TYPE", | ||
− | "Значение": " | + | "Значение": "NB", |
"Тип": "String", | "Тип": "String", | ||
"Подтип": "Export", | "Подтип": "Export", | ||
Строка 247: | Строка 333: | ||
{ | { | ||
"Имя": "VENDOR", | "Имя": "VENDOR", | ||
− | "Значение": " | + | "Значение": "IR_INPUT_DATA->LIFNR", |
− | "Тип": " | + | "Тип": "Field", |
"Подтип": "Export", | "Подтип": "Export", | ||
"Формат": "" | "Формат": "" | ||
Строка 254: | Строка 340: | ||
{ | { | ||
"Имя": "DOC_DATE", | "Имя": "DOC_DATE", | ||
− | "Значение": " | + | "Значение": "IR_INPUT_DATA->DATE", |
− | "Тип": " | + | "Тип": "Field", |
"Подтип": "Export", | "Подтип": "Export", | ||
− | "Формат": "" | + | "Формат": "DATE" |
}, | }, | ||
{ | { | ||
"Имя": "PURCH_ORG", | "Имя": "PURCH_ORG", | ||
− | "Значение": " | + | "Значение": "IR_INPUT_DATA->EKORG", |
− | "Тип": " | + | "Тип": "Field", |
"Подтип": "Export", | "Подтип": "Export", | ||
"Формат": "" | "Формат": "" | ||
Строка 268: | Строка 354: | ||
{ | { | ||
"Имя": "PUR_GROUP", | "Имя": "PUR_GROUP", | ||
− | "Значение": " | + | "Значение": "IR_INPUT_DATA->EKGRP", |
− | "Тип": " | + | "Тип": "Field", |
"Подтип": "Export", | "Подтип": "Export", | ||
"Формат": "" | "Формат": "" | ||
Строка 276: | Строка 362: | ||
}, | }, | ||
{ | { | ||
− | "Имя": " | + | "Имя": "POHEADERX", |
− | "Тип": " | + | "Тип": "Fmstructure", |
"Подтип": "Export", | "Подтип": "Export", | ||
− | "Формат": " | + | "Формат": "BAPIMEPOHEADERX", |
"Значение": [ | "Значение": [ | ||
{ | { | ||
− | "Имя": " | + | "Имя": "COMP_CODE", |
"Значение": "X", | "Значение": "X", | ||
"Тип": "String", | "Тип": "String", | ||
"Подтип": "Export", | "Подтип": "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", | "Тип": "Field", | ||
"Подтип": "", | "Подтип": "", | ||
Строка 359: | Строка 460: | ||
}, | }, | ||
{ | { | ||
− | "Имя": " | + | "Имя": "STGE_LOC", |
− | "Значение": "", | + | "Значение": "LGORT", |
− | "Тип": " | + | "Тип": "Field", |
"Подтип": "", | "Подтип": "", | ||
"Формат": "" | "Формат": "" | ||
}, | }, | ||
{ | { | ||
− | "Имя": " | + | "Имя": "QUANTITY", |
− | "Значение": " | + | "Значение": "AMOUNT", |
− | "Тип": " | + | "Тип": "Field", |
"Подтип": "", | "Подтип": "", | ||
"Формат": "" | "Формат": "" | ||
}, | }, | ||
{ | { | ||
− | "Имя": " | + | "Имя": "NET_PRICE", |
− | "Значение": " | + | "Значение": "PRICE", |
− | "Тип": " | + | "Тип": "Field", |
"Подтип": "", | "Подтип": "", | ||
"Формат": "" | "Формат": "" | ||
}, | }, | ||
{ | { | ||
− | "Имя": " | + | "Имя": "NO_ROUNDING", |
"Значение": "X", | "Значение": "X", | ||
"Тип": "String", | "Тип": "String", | ||
"Подтип": "", | "Подтип": "", | ||
"Формат": "" | "Формат": "" | ||
− | } | + | }, |
− | + | { | |
− | + | "Имя": "TAX_CODE", | |
− | + | "Значение": "MWSKZ", | |
− | + | "Тип": "Field", | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | { | ||
− | "Имя": " | ||
− | "Значение": " | ||
− | "Тип": " | ||
"Подтип": "", | "Подтип": "", | ||
"Формат": "" | "Формат": "" | ||
}, | }, | ||
{ | { | ||
− | "Имя": " | + | "Имя": "VAL_TYPE", |
− | "Значение": " | + | "Значение": "", |
"Тип": "String", | "Тип": "String", | ||
"Подтип": "", | "Подтип": "", | ||
Строка 417: | Строка 502: | ||
}, | }, | ||
{ | { | ||
− | "Имя": " | + | "Имя": "UNLIMITED_DLV", |
"Значение": "X", | "Значение": "X", | ||
"Тип": "String", | "Тип": "String", | ||
Строка 424: | Строка 509: | ||
}, | }, | ||
{ | { | ||
− | "Имя": " | + | "Имя": "IR_IND", |
"Значение": "X", | "Значение": "X", | ||
"Тип": "String", | "Тип": "String", | ||
Строка 431: | Строка 516: | ||
}, | }, | ||
{ | { | ||
− | "Имя": " | + | "Имя": "GR_IND", |
"Значение": "X", | "Значение": "X", | ||
"Тип": "String", | "Тип": "String", | ||
"Подтип": "", | "Подтип": "", | ||
"Формат": "" | "Формат": "" | ||
− | }, | + | } |
+ | ] | ||
+ | } | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "POITEMX", | ||
+ | "Тип": "Fmtable", | ||
+ | "Подтип": "Table", | ||
+ | "Формат": "BAPIMEPOITEMX", | ||
+ | "Значение": [ | ||
+ | { | ||
+ | "Имя": "POITEMX", | ||
+ | "Тип": "IR_INPUT_DATA->ITEMS", | ||
+ | "Подтип": "", | ||
+ | "Формат": "BAPIMEPOITEMX", | ||
+ | "Значение": [ | ||
{ | { | ||
− | "Имя": " | + | "Имя": "PO_ITEM", |
− | "Значение": " | + | "Значение": "GV_ITEMS_POS", |
− | "Тип": " | + | "Тип": "Classfield", |
"Подтип": "", | "Подтип": "", | ||
"Формат": "" | "Формат": "" | ||
}, | }, | ||
{ | { | ||
− | "Имя": " | + | "Имя": "MATERIAL", |
"Значение": "X", | "Значение": "X", | ||
"Тип": "String", | "Тип": "String", | ||
Строка 452: | Строка 553: | ||
}, | }, | ||
{ | { | ||
− | "Имя": " | + | "Имя": "PLANT", |
"Значение": "X", | "Значение": "X", | ||
"Тип": "String", | "Тип": "String", | ||
Строка 459: | Строка 560: | ||
}, | }, | ||
{ | { | ||
− | "Имя": " | + | "Имя": "STGE_LOC", |
"Значение": "X", | "Значение": "X", | ||
"Тип": "String", | "Тип": "String", | ||
Строка 466: | Строка 567: | ||
}, | }, | ||
{ | { | ||
− | "Имя": " | + | "Имя": "QUANTITY", |
"Значение": "X", | "Значение": "X", | ||
"Тип": "String", | "Тип": "String", | ||
Строка 473: | Строка 574: | ||
}, | }, | ||
{ | { | ||
− | "Имя": " | + | "Имя": "NET_PRICE", |
"Значение": "X", | "Значение": "X", | ||
"Тип": "String", | "Тип": "String", | ||
Строка 480: | Строка 581: | ||
}, | }, | ||
{ | { | ||
− | "Имя": " | + | "Имя": "NO_ROUNDING", |
"Значение": "X", | "Значение": "X", | ||
"Тип": "String", | "Тип": "String", | ||
"Подтип": "", | "Подтип": "", | ||
"Формат": "" | "Формат": "" | ||
− | + | }, | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{ | { | ||
− | "Имя": " | + | "Имя": "TAX_CODE", |
− | "Значение": " | + | "Значение": "X", |
− | "Тип": " | + | "Тип": "String", |
"Подтип": "", | "Подтип": "", | ||
"Формат": "" | "Формат": "" | ||
}, | }, | ||
{ | { | ||
− | "Имя": " | + | "Имя": "VAL_TYPE", |
− | "Значение": " | + | "Значение": "X", |
+ | "Тип": "String", | ||
+ | "Подтип": "", | ||
+ | "Формат": "" | ||
+ | }, | ||
+ | { | ||
+ | "Имя": "UNLIMITED_DLV", | ||
+ | "Значение": "X", | ||
"Тип": "String", | "Тип": "String", | ||
"Подтип": "", | "Подтип": "", | ||
Строка 517: | Строка 609: | ||
}, | }, | ||
{ | { | ||
− | "Имя": " | + | "Имя": "IR_IND", |
− | "Значение": " | + | "Значение": "X", |
"Тип": "String", | "Тип": "String", | ||
"Подтип": "", | "Подтип": "", | ||
Строка 524: | Строка 616: | ||
}, | }, | ||
{ | { | ||
− | "Имя": " | + | "Имя": "GR_IND", |
− | "Значение": " | + | "Значение": "X", |
− | "Тип": " | + | "Тип": "String", |
"Подтип": "", | "Подтип": "", | ||
"Формат": "" | "Формат": "" | ||
Строка 535: | Строка 627: | ||
}, | }, | ||
{ | { | ||
− | "Имя": " | + | "Имя": "POSCHEDULE", |
"Тип": "Fmtable", | "Тип": "Fmtable", | ||
"Подтип": "Table", | "Подтип": "Table", | ||
− | "Формат": " | + | "Формат": "BAPIMEPOSCHEDULE", |
"Значение": [ | "Значение": [ | ||
{ | { | ||
− | "Имя": " | + | "Имя": "POSCHEDULE", |
"Тип": "IR_INPUT_DATA->ITEMS", | "Тип": "IR_INPUT_DATA->ITEMS", | ||
"Подтип": "Table", | "Подтип": "Table", | ||
− | "Формат": " | + | "Формат": "BAPIMEPOSCHEDULE", |
"Значение": [ | "Значение": [ | ||
{ | { | ||
Строка 562: | Строка 654: | ||
{ | { | ||
"Имя": "DEL_DATCAT_EXT", | "Имя": "DEL_DATCAT_EXT", | ||
− | "Значение": " | + | "Значение": "D", |
"Тип": "String", | "Тип": "String", | ||
"Подтип": "", | "Подтип": "", | ||
Строка 569: | Строка 661: | ||
{ | { | ||
"Имя": "DELIVERY_DATE", | "Имя": "DELIVERY_DATE", | ||
− | "Значение": " | + | "Значение": "DATE", |
− | "Тип": " | + | "Тип": "Field", |
"Подтип": "", | "Подтип": "", | ||
"Формат": "" | "Формат": "" | ||
Строка 579: | Строка 671: | ||
}, | }, | ||
{ | { | ||
− | "Имя": " | + | "Имя": "POSCHEDULEX", |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
"Тип": "Fmtable", | "Тип": "Fmtable", | ||
"Подтип": "Table", | "Подтип": "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=== | |
− | + | ||
− | + | Структура пакетного ввода состоит из набора массивов последовательно заполняемых экранов транзакции: | |
− | + | * [массив значений] - набор структур экранов | |
− | + | ** [имя] - название блока | |
− | + | ** [тип] - тип обработки блока: | |
− | + | **: Header - /SBIS/CL_MAPPING->PARSE_BATCH_HEADER | |
− | + | **: Items - /SBIS/CL_MAPPING->PARSE_BATCH_ITEMS | |
− | + | ** [массив значение блока] - маппинг структуры экрана | |
− | + | *** [имя] - имя поля | |
− | + | *** [значение] - значение поля | |
− | + | *** [тип] - тип поля: | |
− | + | ***: String - фиксированная строка | |
− | + | ***: Field - поле | |
− | + | ***: ClassField - поле класса | |
− | + | *** [подтип] - подтип: | |
− | + | ***: Bdcdynpro | |
− | + | ***: Bdcfield | |
− | + | *** [формат] - использовать форматирование (/SBIS/CL_MAPPING->CONVERT_FIELD_TYPE) или использовать логические переходы между блоками: | |
− | + | ***: IF | |
− | + | ***: ENDIF | |
− | + | ***: IFNOT | |
− | + | ||
− | + | <div style="border: 1px dashed;"> | |
− | + | пример заполнения вызова транзакции ME21N для создания заказа на закупку с помощью пакетного ввода | |
− | + | <div class="mw-collapsible mw-collapsed" style="overflow: hidden;"> | |
− | + | <br> | |
− | + | <source lang=JSON> | |
− | + | { | |
− | + | { | |
− | + | "Имя": "HEADER", | |
− | + | "Тип": "Header", | |
− | + | "Значение": [ | |
− | + | { | |
− | + | "Имя": "SAPLMEGUI", | |
− | + | "Значение": "0014", | |
− | + | "Тип": "String", | |
− | + | "Подтип": "Bdcdynpro", | |
− | + | "Формат": "" | |
− | + | }, | |
− | + | { | |
− | + | "Имя": "BDC_OKCODE", | |
− | + | "Значение": "/00", | |
− | + | "Тип": "String", | |
− | + | "Подтип": "Bdcfield", | |
− | + | "Формат": "" | |
− | + | }, | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{ | { | ||
− | + | "Имя": "BDC_CURSOR", | |
− | + | "Значение": "MEPO_TOPLINE-BEDAT", | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | "Имя": "BDC_CURSOR", | ||
− | "Значение": "MEPO_TOPLINE-BEDAT", | ||
"Тип": "String", | "Тип": "String", | ||
"Подтип": "Bdcfield", | "Подтип": "Bdcfield", | ||
Строка 1399: | Строка 1461: | ||
] | ] | ||
} | } | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
} | } | ||
</source> | </source> |
Текущая версия на 07:56, 19 марта 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 создание заказа на закупку
BATCH
Структура пакетного ввода состоит из набора массивов последовательно заполняемых экранов транзакции:
- [массив значений] - набор структур экранов
- [имя] - название блока
- [тип] - тип обработки блока:
- Header - /SBIS/CL_MAPPING->PARSE_BATCH_HEADER
- Items - /SBIS/CL_MAPPING->PARSE_BATCH_ITEMS
- [массив значение блока] - маппинг структуры экрана
- [имя] - имя поля
- [значение] - значение поля
- [тип] - тип поля:
- String - фиксированная строка
- Field - поле
- ClassField - поле класса
- [подтип] - подтип:
- Bdcdynpro
- Bdcfield
- [формат] - использовать форматирование (/SBIS/CL_MAPPING->CONVERT_FIELD_TYPE) или использовать логические переходы между блоками:
- IF
- ENDIF
- IFNOT
пример заполнения вызова транзакции ME21N для создания заказа на закупку с помощью пакетного ввода