СБИС Сапёр - user-exit

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

Общая концепция

Служит для изменения или проверки отправляемых в СБИС или принимаемых из СБИС данных через СБИС Сапер в системе SAP клиента. По умолчанию метод не вызывается и данные отправляются / принимаются как есть. Если активировать вызов и создать метод, то предоставляется возможность изменить данные пакета.

"UserExit_After_IfExchange_GetPacket"

Предназначено для изменения или проверки отправляемых в СБИС документов

Место вызова

Вызывается из метода /SBIS/IF_EXCHANGE->GET_PACKET

Параметры вызова

Создаваемый метод может иметь произвольное название и должен быть вида static.

Входные параметры

  1. IT_SETTINGS - таблица с текущими настройками типа /SBIS/T_SETTINGS
  2. IV_INI_NAME - текущее имя раздела конфигурации типа /SBIS/ED_UUID
  3. IV_SBIS_SERVER - индикатор текущего сервера СБИС типа CHAR01

Изменяемые параметры

  1. CS_API2_PACKET - пакет типа /SBIS/S_API2_PACKET

Способ вызова

UserExit After IfExchange GetPacket Способ вызова.png

В настройках в разделе для построения списка необходимо указать имя класса и метода, который будет вызываться. Например, для класса ZCL_SBIS_SDK метода GET_LINKS_VBFA_SFAKT настройки будет выглядеть так:

            "UserExit_After_IfExchange_GetPacket_Class": {
                "Значение": "ZCL_SBIS_SDK"
            },
            "UserExit_After_IfExchange_GetPacket_Method": {
                "Значение": "GET_LINKS_VBFA_SFAKT"
            }


BAdI "/SBIS/AFTER_GET_PACKET"

Предназначено для изменения или проверки отправляемых в СБИС документов

Место вызова

Вызывается из метода /SBIS/CL_EXCHANGE->GET_PACKET

Параметры вызова

Входные параметры:

  1. IV_SBIS_SERVER - индикатор текущего сервера СБИС
  2. IV_INI_NAME - текущее имя раздела конфигурации
  3. IT_SETTINGS - таблица с текущими настройками

Изменяемые параметры:

  1. CS_API2_PACKET - структура отправляемого документа

Способ вызова

Создать реализацию BAdI "/SBIS/AFTER_GET_PACKET" с помощью транзакции SE18 в точке расширения /SBIS/ES_SAPPER


BAdI "/SBIS/AFTER_READ_CHANGE"

Предназначено для обработки событий по документу для:

Место вызова

Вызывается из метода /SBIS/CL_EXCHANGE->READ_CHANGE

Параметры вызова

Фильтр:

  • PREFIX - вид электронного документооборота:
    • значение "" или "EDM" - ЭДО
    • значение "REPORT" - КЭДО
  • EVENT_NAME - Название события
  • ROUTE_NAME - Название регламента

Входные параметры:

  • IR_CL_EXCHANGE - класс способа обмена
  • IS_DOCUMENT- структура документ

Способ вызова

Создать реализацию BAdI "/SBIS/AFTER_READ_CHANGE" с помощью транзакции SE18 в точке расширения /SBIS/ES_SAPPER


BAdI "/SBIS/BADI" ( Устарело )

Предназначено для обработки событий по документу для:

Место вызова

Вызывается из метода /SBIS/CL_EXCHANGE->READ_CHANGE

Параметры вызова

Входные параметры:

  • IS_CLASS - класс способа обмена
  • IS_DOCUMENT - структура документа

Способ вызова

Создать реализацию BAdI "/SBIS/BADI" с помощью транзакции SE18 в точке расширения /SBIS/ES_SAPPER


BAdI "/SBIS/AFTER_READ_CHANGES"

Предназначено для вызова алгоритмов после обработки всех событий

Место вызова

Вызывается из метода /SBIS/CL_EXCHANGE->READ_CHANGES

Параметры вызова

Входные параметры:

  • IO_EXCHANGE - класс способа обмена

Способ вызова

Создать реализацию BAdI "/SBIS/AFTER_READ_CHANGES" с помощью транзакции SE18 в точке расширения /SBIS/ES_SAPPER


BAdI "/SBIS/AFTER_SEND_PACKET

Предназначено для вызова алгоритмов после отправки документа

Место вызова

Вызывается из метода /SBIS/CL_EXCHANGE_EXTSDK2-> WRITE_DOCS_EX_ASYNC_PROC_ANS

Параметры вызова

Фильтр:

  • AFTER_SEND_PACKET - значение для фильтрации запускаемых алгоритм в зависимости от настроек

Входные параметры:

  • IR_CL_EXCHANGE - класс способа обмена
  • IS_PACKET - структура отправленного документа
  • IT_SETTINGS - таблица с текущими настройками

Способ вызова

BAdI -SBIS-AFTER SEND PACKET Способ вызова.png
  1. Создать реализацию BAdI "/SBIS/AFTER_SEND_PACKET" с помощью транзакции SE18 в точке расширения /SBIS/ES_SAPPER.
  2. В настройках в разделе для построения списка необходимо указать для параметра "BADI_AFTER_SEND_PACKET" значение фильтра запускаемой реализации BAdI
            "BADI_AFTER_SEND_PACKET": {
            	"Значение": "LO_РеализацияУслуг"
            }


BAdI "/SBIS/EXECUTE_ACTION_EX"

Предназначено для вызова алгоритмов до и после перевода документа на этап

Место вызова

Вызывается из метода /SBIS/CL_EXCHANGE->EXECUTE_ACTION

Параметры вызова

Метод ENHANCEMENT_BEFORE

  • Входные параметры:
    • IO_EXCHANGE - класс способа обмена
  • Изменяемые параметры:
    • CS_DOCUMENT - структура документа

Метод ENHANCEMENT_AFTER

  • Входные параметры:
    • IO_EXCHANGE - класс способа обмена
  • Изменяемые параметры:
    • CS_DOCUMENT - структура документа

Способ вызова

Создать реализацию BAdI "/SBIS/EXECUTE_ACTION_EX" с помощью транзакции SE18 в точке расширения /SBIS/ES_SAPPER


"ENHANCEMENT_SHOW_WINDOW_BEFORE"

Предназначено для вызова алгоритмов до появления экрана загрузки документа

Место вызова

Вызывается из метода /SBIS/CL_CREATE_SAP_DOCUMENTS=>CALL_WINDOW

Параметры вызова

Входные параметры:

  • IO_EXCHANGE - класс способа обмена типа /SBIS/IF_EXCHANGE
  • IT_SETTINGS - таблица с текущими настройками типа /SBIS/T_SETTINGS
  • IT_MATERIALS - таблица сопоставленной номенклатуры типа /SBIS/T_MATERIALS
  • IS_ATTACHMENT - структура загружаемое вложение типа /SBIS/S_API2_ATTACHMENT
  • IS_PACKET - структура загружаемый документ типа /SBIS/S_API2_PACKET

Изменяемые параметры:

  • CS_XML_DATA - структура xml документа типа /SBIS/S_FULL_ATTACHMENT

Способ вызова

ENHANCEMENT SHOW WINDOW BEFORE Способ вызова.png

В настройках в разделе для загружаемого документа необходимо указать имя наименование точки прерывания и имя ФМ, который будет вызываться. Например, для ФМ "/SBIS/FM_EI_SWB_DOC_PURCHASING" настройка будет выглядеть вот так:

            {
	            "Имя": "MISSED_FIELDS_FUNCTION",
	            "Значение": [
		            {
			            "Имя": "MISSED_FIELDS_FUNCTION_NAME",
			            "Значение": "/SBIS/FM_CREATE_SAP_DOC"
		            },
		            {
			            "Имя": "ENHANCEMENT_SHOW_WINDOW_BEFORE",
			            "Значение": [
				            {
					            "Имя": "ENHANCEMENT_1",
					            "Значение": [
						            {
							            "Имя": "FUNCTION_NAME",
							            "Значение": "/SBIS/FM_EI_SWB_DOC_PURCHASING"
						            }
					            ]
				            }
			            ]
		            }
	            ]
            }


"ENHANCEMENT_SHOW_WINDOW_AFTER"

Предназначено для вызова алгоритмов после экрана загрузки документов.

Место вызова

Вызывается из метода /SBIS/CL_CREATE_SAP_DOCUMENTS=>CALL_WINDOW

Параметры вызова

Входные параметры:

  • IO_EXCHANGE - класс способа обмена типа /SBIS/IF_EXCHANGE
  • IT_SETTINGS - таблица с текущими настройками типа /SBIS/T_SETTINGS
  • IT_MATERIALS - таблица сопоставленной номенклатуры типа /SBIS/T_MATERIALS
  • IS_ATTACHMENT - структура загружаемое вложение типа /SBIS/S_API2_ATTACHMENT
  • IS_PACKET - структура загружаемый документ типа /SBIS/S_API2_PACKET

Изменяемые параметры:

  • CS_XML_DATA - структура xml документа типа /SBIS/S_FULL_ATTACHMENT

Способ вызова

ENHANCEMENT SHOW WINDOW AFTER Способ вызова.png

В настройках в разделе для загружаемого документа необходимо указать имя наименование точки прерывания и имя ФМ, который будет вызываться. Например, для ФМ "/SBIS/FM_EI_SWA_DOC_PURCHASING" настройка будет выглядеть вот так:

            {
	            "Имя": "MISSED_FIELDS_FUNCTION",
	            "Значение": [
		            {
			            "Имя": "MISSED_FIELDS_FUNCTION_NAME",
			            "Значение": "/SBIS/FM_CREATE_SAP_DOC"
		            },
		            {
			            "Имя": "ENHANCEMENT_SHOW_WINDOW_AFTER",
			            "Значение": [
				            {
					            "Имя": "ENHANCEMENT_1",
					            "Значение": [
						            {
							            "Имя": "FUNCTION_NAME",
							            "Значение": "/SBIS/FM_EI_SWA_DOC_PURCHASING"
						            }
					            ]
				            }
			            ]
		            }
	            ]
            }