SAPPER SETTINGS - Настройки загрузки — различия между версиями
(→FILE) |
(→FILE) |
||
(не показано 5 промежуточных версий этого же участника) | |||
Строка 43: | Строка 43: | ||
{ | { | ||
"Имя": "MENU_CREATE_PURCHASE_ORDER_BAPI", | "Имя": "MENU_CREATE_PURCHASE_ORDER_BAPI", | ||
− | |||
− | |||
− | |||
− | |||
"Значение": [] | "Значение": [] | ||
} | } | ||
Строка 66: | Строка 62: | ||
** UPLOAD_DATA_CLASS_NAME - наименование класса создания документов | ** UPLOAD_DATA_CLASS_NAME - наименование класса создания документов | ||
** UPLOAD_DATA_METHOD_NAME - указание метода класса создания документов: | ** UPLOAD_DATA_METHOD_NAME - указание метода класса создания документов: | ||
− | ** | + | **: CREATE_BAPI_DOC - создание документа используя BAPI |
− | ** | + | **: CREATE_BATCH_DOC - создание документа используя пакетный ввод |
** MISSED_FIELDS_FUNCTION_NAME - указание ФМ для вызова экрана заполнения дополнительных полей, например, экран сопоставления номенклатуры | ** MISSED_FIELDS_FUNCTION_NAME - указание ФМ для вызова экрана заполнения дополнительных полей, например, экран сопоставления номенклатуры | ||
** FACE_ROLE_TO_GET_BUKRS - сторона обмена содержащая данные для БЕ | ** FACE_ROLE_TO_GET_BUKRS - сторона обмена содержащая данные для БЕ | ||
Строка 75: | Строка 71: | ||
** RESULT - поле получения результата выполнения (номера документа) | ** 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 |
*** [тип] - тип переменной значения результата | *** [тип] - тип переменной значения результата | ||
*** [значение] - переменная с результатом | *** [значение] - переменная с результатом | ||
Строка 96: | Строка 92: | ||
*** CTU_PARAMS_NOBIEND - управление переменной пакетного ввода (заполнять после обработки) | *** CTU_PARAMS_NOBIEND - управление переменной пакетного ввода (заполнять после обработки) | ||
** [массив заполнения входных данных] | ** [массив заполнения входных данных] | ||
− | ** | + | **: BAPI |
− | ** | + | **: BATCH |
<div style="border: 1px dashed;"> | <div style="border: 1px dashed;"> | ||
Строка 279: | Строка 275: | ||
* [имя] - имя параметра | * [имя] - имя параметра | ||
* [тип] - тип параметра | * [тип] - тип параметра | ||
− | * | + | *: Fmstructure - структура |
− | * | + | *: Fmfield - поле |
− | * | + | *: Fmtable - таблица |
− | * | + | *: Field - поле |
− | * | + | *: String - строка |
* [подтип] - подтип параметра | * [подтип] - подтип параметра | ||
− | * | + | *: Export - входная структура для BAPI |
− | * | + | *: Import - выходная структура для BAPI |
− | * | + | *: Table - таблица BAPI |
* [формат] - указание на ABAP тип | * [формат] - указание на ABAP тип | ||
* [массив значений] | * [массив значений] | ||
Строка 293: | Строка 289: | ||
** [значение] - значение | ** [значение] - значение | ||
** [тип] - тип значения | ** [тип] - тип значения | ||
− | ** | + | **: Field - поле |
− | ** | + | **: String - строка |
− | ** | + | **: Classfield - поле класса |
** [подтип] | ** [подтип] | ||
− | ** | + | **: Export |
− | ** | + | **: Import |
** [формат] - использовать форматирование (/SBIS/CL_MAPPING->CONVERT_FIELD_TYPE) | ** [формат] - использовать форматирование (/SBIS/CL_MAPPING->CONVERT_FIELD_TYPE) | ||
Строка 743: | Строка 739: | ||
** [имя] - название блока | ** [имя] - название блока | ||
** [тип] - тип обработки блока: | ** [тип] - тип обработки блока: | ||
− | ** | + | **: 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) или использовать логические переходы между блоками: | *** [формат] - использовать форматирование (/SBIS/CL_MAPPING->CONVERT_FIELD_TYPE) или использовать логические переходы между блоками: | ||
− | *** | + | ***: IF |
− | *** | + | ***: ENDIF |
− | *** | + | ***: IFNOT |
<div style="border: 1px dashed;"> | <div style="border: 1px dashed;"> |
Текущая версия на 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 для создания заказа на закупку с помощью пакетного ввода