СБИС Сапёр - user-exit — различия между версиями

Материал из razgovorov.ru
Перейти к: навигация, поиск
 
(не показано 8 промежуточных версий 2 участников)
Строка 1: Строка 1:
  
 
==Общая концепция==
 
==Общая концепция==
Служит для изменения или проверки отправляемых в СБИС или принимаемых из СБИС данных в системе SAP клиента. По умолчанию метод не вызывается и данные отправляются / принимаются как есть. Если активировать вызов и создать метод, то предоставляется возможность изменить данные пакета.
+
Служит для изменения или проверки отправляемых в СБИС или принимаемых из СБИС данных через СБИС Сапер в системе SAP клиента. По умолчанию метод не вызывается и данные отправляются / принимаются как есть. Если активировать вызов и создать метод, то предоставляется возможность изменить данные пакета.
  
=='UserExit_After_IfExchange_GetPacket'==
+
=="UserExit_After_IfExchange_GetPacket"==
 +
Предназначено для изменения или проверки отправляемых в СБИС документов
  
 
===Место вызова===
 
===Место вызова===
СБИС Сапер, метод /SBIS/IF_EXCHANGE->GET_PACKET
+
Вызывается из метода /SBIS/IF_EXCHANGE->GET_PACKET
  
 +
===Параметры вызова===
 +
Создаваемый метод может иметь произвольное название и должен быть вида static.
 +
 +
Входные параметры
 +
#IT_SETTINGS - таблица с текущими настройками типа /SBIS/T_SETTINGS
 +
#IV_INI_NAME - текущее имя раздела конфигурации типа /SBIS/ED_UUID
 +
#IV_SBIS_SERVER - индикатор текущего сервера СБИС типа CHAR01
 +
Изменяемые параметры
 +
#CS_API2_PACKET - пакет типа /SBIS/S_API2_PACKET
 +
 +
===Способ вызова===
 +
[[Файл:UserExit After IfExchange GetPacket Способ вызова.png|мини]]
 +
В настройках в разделе для построения списка необходимо указать имя класса и метода, который будет вызываться. Например, для класса ZCL_SBIS_SDK метода GET_LINKS_VBFA_SFAKT настройки будет выглядеть так:
 +
<source lang=ABAP>
 +
            "UserExit_After_IfExchange_GetPacket_Class": {
 +
                "Значение": "ZCL_SBIS_SDK"
 +
            },
 +
            "UserExit_After_IfExchange_GetPacket_Method": {
 +
                "Значение": "GET_LINKS_VBFA_SFAKT"
 +
            }
 +
</source>
 +
 +
 +
 +
==BAdI "/SBIS/AFTER_GET_PACKET"==
 +
Предназначено для изменения или проверки отправляемых в СБИС документов
 +
 +
===Место вызова===
 +
Вызывается из метода /SBIS/CL_EXCHANGE->GET_PACKET
 +
 +
===Параметры вызова===
 +
Входные параметры:
 +
#IV_SBIS_SERVER - индикатор текущего сервера СБИС
 +
#IV_INI_NAME - текущее имя раздела конфигурации
 +
#IT_SETTINGS - таблица с текущими настройками
 +
 +
Изменяемые параметры:
 +
#CS_API2_PACKET - структура отправляемого документа
 +
 +
===Способ вызова===
 +
Создать реализацию BAdI "/SBIS/AFTER_GET_PACKET" с помощью транзакции SE18 в точке расширения /SBIS/ES_SAPPER
 +
 +
 +
 +
==BAdI "/SBIS/AFTER_READ_CHANGE"==
 +
Предназначено для [https://sbis.ru/help/integration/api/all_methods/changeslist обработки событий] по документу для:
 +
* [https://sbis.ru/help/integration/api/sequence/loc_arh Загрузки документы в ИС]
 +
* [https://sbis.ru/help/integration/api/sequence/get_doc Проверки состояние исходящих документов]
 +
* [https://sbis.ru/help/integration/api/sequence/newdoc Проверки состояние входящих документов]
 +
 +
===Место вызова===
 +
Вызывается из метода  /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" '''''( Устарело )'''''==
 +
Предназначено для [https://sbis.ru/help/integration/api/all_methods/changeslist обработки событий] по документу для:
 +
* [https://sbis.ru/help/integration/api/sequence/loc_arh Загрузки документы в ИС]
 +
* [https://sbis.ru/help/integration/api/sequence/get_doc Проверки состояние исходящих документов]
 +
* [https://sbis.ru/help/integration/api/sequence/newdoc Проверки состояние входящих документов]
 +
 +
===Место вызова===
 +
Вызывается из метода  /SBIS/CL_EXCHANGE->READ_CHANGE
 +
 +
===Параметры вызова===
 +
Входные параметры:
 +
* IS_CLASS - класс способа обмена
 +
* IS_DOCUMENT - структура документа
 +
 +
===Способ вызова===
 +
Создать реализацию BAdI "/SBIS/BADI" с помощью транзакции SE18 в точке расширения /SBIS/ES_SAPPER
 +
 +
 +
 +
==BAdI "/SBIS/AFTER_READ_CHANGES"==
 +
Предназначено для вызова алгоритмов после [https://sbis.ru/help/integration/api/all_methods/changeslist обработки всех событий]
 +
 +
===Место вызова===
 +
Вызывается из метода /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|мини]]
 +
# Создать реализацию BAdI "/SBIS/AFTER_SEND_PACKET" с помощью транзакции SE18 в точке расширения /SBIS/ES_SAPPER.
 +
# В настройках в разделе для построения списка необходимо указать для параметра "BADI_AFTER_SEND_PACKET" значение фильтра запускаемой реализации BAdI
 +
<source lang=ABAP>
 +
            "BADI_AFTER_SEND_PACKET": {
 +
            "Значение": "LO_РеализацияУслуг"
 +
            }
 +
</source>
 +
 +
 +
 +
==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" настройка будет выглядеть вот так:
 +
<source lang=ABAP>
 +
            {
 +
            "Имя": "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"
 +
            }
 +
            ]
 +
            }
 +
            ]
 +
            }
 +
            ]
 +
            }
 +
</source>
 +
 +
 +
 +
=="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" настройка будет выглядеть вот так:
 +
<source lang=ABAP>
 +
            {
 +
            "Имя": "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"
 +
            }
 +
            ]
 +
            }
 +
            ]
 +
            }
 +
            ]
 +
            }
 +
</source>
  
 
[[Категория:SAP]]
 
[[Категория:SAP]]
 
[[Категория:SAPPER]]
 
[[Категория:SAPPER]]

Текущая версия на 05:34, 31 июля 2023

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

Служит для изменения или проверки отправляемых в СБИС или принимаемых из СБИС данных через СБИС Сапер в системе 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"
						            }
					            ]
				            }
			            ]
		            }
	            ]
            }