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

Материал из razgovorov.ru
Перейти к: навигация, поиск

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

На основании входящего электронного документа в 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
          • 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


{
        "Имя": "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