SAPPER SETTINGS - Настройки загрузки — различия между версиями

Материал из razgovorov.ru
Перейти к: навигация, поиск
(FILE)
(FILE)
Строка 74: Строка 74:
 
** POSITION_NUMBER_INCREASE - инкремент позиции
 
** POSITION_NUMBER_INCREASE - инкремент позиции
 
** RESULT - поле получения результата выполнения (номера документа)
 
** RESULT - поле получения результата выполнения (номера документа)
*** [имя] - переменная API2_PACKET, в которую кладется результат
+
*** [имя]
 +
**** переменная 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
 
*** [тип] - тип переменной значения результата
 
*** [тип] - тип переменной значения результата
 
*** [значение] - переменная с результатом
 
*** [значение] - переменная с результатом
Строка 82: Строка 89:
 
*** CTU_PARAMS_CATTMODE - режим CATT
 
*** CTU_PARAMS_CATTMODE - режим CATT
 
*** CTU_PARAMS_DEFSIZE - стандартный размер экрана  
 
*** CTU_PARAMS_DEFSIZE - стандартный размер экрана  
*** CTU_PARAMS_RACOMMIT - COMMIT WORK
+
*** CTU_PARAMS_RACOMMIT - COMMIT WORK останавливает или не останавливает работы
*** CTU_PARAMS_NOBINPT - управление переменной пакетного ввода
+
*** CTU_PARAMS_NOBINPT - управление переменной пакетного ввода (заполнять по умолчанию)
*** CTU_PARAMS_NOBIEND - управление переменной пакетного ввода
+
*** CTU_PARAMS_NOBIEND - управление переменной пакетного ввода (заполнять после обработки)
 
** [массив заполнения входных данных]
 
** [массив заполнения входных данных]
 
*** BAPI  
 
*** BAPI  
Строка 158: Строка 165:
 
     ]
 
     ]
 
   }
 
   }
 +
</source>
 +
</div>
 +
</div>
 +
<br>
 +
<div style="border: 1px dashed;">
 +
пример FILE для создания заказа на закупку через BATCH, вызывается транзакция ME21N с опциями запуска, результат возвращается в сообщении с описанным типом
 +
<div class="mw-collapsible mw-collapsed" style="overflow: hidden;">
 +
<br>
 +
<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"
 +
              },
 +
              {
 +
                "Имя": "MSGTYP_MSGID_MSGNR",
 +
                "Значение": "S|MEPO|013|MSGV2"
 +
              }
 +
            ]
 +
          },
 +
          {
 +
            "Имя": "BATCH",
 +
            "Тип": "",
 +
            "Подтип": "",
 +
            "Значение": []
 +
          }
 +
        ]
 +
}
 
</source>
 
</source>
 
</div>
 
</div>

Версия 10:16, 16 марта 2018

Настройка загрузки

На основании входящего электронного документа в SAP можно создать документ, используя:

  • метод создания с помощью пакетного ввода (BATCH IPNUT)
  • BAPI

Настройки загрузки сгруппированы в файлы, которые начинаются с префикса UI_, после префикса следует идентификатор документа, к примеру, ЭДОНакл_1175010_5_01.

На данный момент поддерживается создание документов из электронных документов:

  • счет-фактура
  • накладная

Верхний уровень настройки имеет следующее представление:

  1. UPLOAD_DATA_XSLT – указание XSLT преобразования входящего XML в ABAP структуру, чаще всего используется "/SBIS/DOC301_XML_TO_ABAP"
  2. FILE – массив, содержащий перечень создаваемых документов

Внутри массива FILE может быть перечислено несколько создаваемых документов, которые будут отображаться в всплывающем меню.

контекстное меню загрузки в SAP

массив FILE со списком создаваемых документов


{
  "UPLOAD_DATA_XSLT": {
    "Значение": "/SBIS/DOC301_XML_TO_ABAP"
  },
  "FILE": {
    "Значение": [
      {
        "Имя": "MENU_CREATE_PURCHASE_ORDER_BATCH",
        "Значение": []
      },
      {
        "Имя": "MENU_CREATE_GOODS_RECEIPT_BATCH",
        "Значение": []
      },
      {
        "Имя": "MENU_CREATE_INCOMING_INVOICE_BATCH",
        "Значение": []
      },
      {
        "Имя": "MENU_CREATE_PURCHASE_ORDER_BAPI",
        "Значение": []
      },
      {
        "Имя": "MENU_CREATE_GOODS_RECEIPT_BAPI",
        "Значение": []
      }
    ]
  }
}

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
      • [тип] - тип переменной значения результата
      • [значение] - переменная с результатом
    • [набор параметров для запуска транзакции] - набор параметров структуры 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


{
        "Имя": "MENU_CREATE_PURCHASE_ORDER_BAPI",
        "Значение": [
          {
            "Имя": "DEFAULT",
            "Значение": "X"
          },
          {
            "Имя": "MENU_TEXT",
            "Значение": "Создать Заказ (BAPI)"
          },
          {
            "Имя": "DOC_TYPE",
            "Значение": "IC"
          },
          {
            "Имя": "UPLOAD_DATA_CLASS_NAME",
            "Значение": "/SBIS/CL_CREATE_SAP_DOCUMENTS"
          },
          {
            "Имя": "UPLOAD_DATA_METHOD_NAME",
            "Значение": "CREATE_BAPI_DOC"
          },
          {
            "Имя": "MISSED_FIELDS_FUNCTION_NAME",
            "Значение": "/SBIS/FM_CREATE_BAPI_PORDER",
            "Тип": "String"
          },
          {
            "Имя": "FACE_ROLE_TO_GET_BUKRS",
            "Значение": "Получатель"
          },
          {
            "Имя": "FACE_ROLE_TO_GET_LIFNR",
            "Значение": "Отправитель"
          },
          {
            "Имя": "TRANSACTION_NAME",
            "Значение": "BAPI_PO_CREATE1"
          },
          {
            "Имя": "POSITION_NUMBER_INCREASE",
            "Значение": "10"
          },
          {
            "Имя": "RESULT",
            "Значение": [
              {
                "Имя": "BELNR",
                "Тип": "BAPIMEPOHEADER-PO_NUMBER",
                "Значение": "EXPPURCHASEORDER"
              }
            ]
          },
          {
            "Имя": "BAPI",
            "Тип": "",
            "Подтип": "",
            "Значение": []
          }
        ]
      }
    ]
  }


пример FILE для создания заказа на закупку через BATCH, вызывается транзакция ME21N с опциями запуска, результат возвращается в сообщении с описанным типом


{
        "Имя": "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"
              },
              {
                "Имя": "MSGTYP_MSGID_MSGNR",
                "Значение": "S|MEPO|013|MSGV2"
              }
            ]
          },
          {
            "Имя": "BATCH",
            "Тип": "",
            "Подтип": "",
            "Значение": []
          }
        ]
}

BAPI

BATCH