СБИС Сапёр - user-exit — различия между версиями
(не показаны 3 промежуточные версии 2 участников) | |||
Строка 3: | Строка 3: | ||
Служит для изменения или проверки отправляемых в СБИС или принимаемых из СБИС данных через СБИС Сапер в системе SAP клиента. По умолчанию метод не вызывается и данные отправляются / принимаются как есть. Если активировать вызов и создать метод, то предоставляется возможность изменить данные пакета. | Служит для изменения или проверки отправляемых в СБИС или принимаемых из СБИС данных через СБИС Сапер в системе SAP клиента. По умолчанию метод не вызывается и данные отправляются / принимаются как есть. Если активировать вызов и создать метод, то предоставляется возможность изменить данные пакета. | ||
− | == | + | =="UserExit_After_IfExchange_GetPacket"== |
+ | Предназначено для изменения или проверки отправляемых в СБИС документов | ||
===Место вызова=== | ===Место вызова=== | ||
Строка 9: | Строка 10: | ||
===Параметры вызова=== | ===Параметры вызова=== | ||
− | Создаваемый метод должен быть вида static. | + | Создаваемый метод может иметь произвольное название и должен быть вида static. |
Входные параметры | Входные параметры | ||
Строка 18: | Строка 19: | ||
#CS_API2_PACKET - пакет типа /SBIS/S_API2_PACKET | #CS_API2_PACKET - пакет типа /SBIS/S_API2_PACKET | ||
− | === | + | ===Способ вызова=== |
− | В | + | [[Файл:UserExit After IfExchange GetPacket Способ вызова.png|мини]] |
+ | В настройках в разделе для построения списка необходимо указать имя класса и метода, который будет вызываться. Например, для класса ZCL_SBIS_SDK метода GET_LINKS_VBFA_SFAKT настройки будет выглядеть так: | ||
<source lang=ABAP> | <source lang=ABAP> | ||
"UserExit_After_IfExchange_GetPacket_Class": { | "UserExit_After_IfExchange_GetPacket_Class": { | ||
Строка 26: | Строка 28: | ||
"UserExit_After_IfExchange_GetPacket_Method": { | "UserExit_After_IfExchange_GetPacket_Method": { | ||
"Значение": "GET_LINKS_VBFA_SFAKT" | "Значение": "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> | </source> |
Текущая версия на 05:34, 31 июля 2023
Содержание
- 1 Общая концепция
- 2 "UserExit_After_IfExchange_GetPacket"
- 3 BAdI "/SBIS/AFTER_GET_PACKET"
- 4 BAdI "/SBIS/AFTER_READ_CHANGE"
- 5 BAdI "/SBIS/BADI" ( Устарело )
- 6 BAdI "/SBIS/AFTER_READ_CHANGES"
- 7 BAdI "/SBIS/AFTER_SEND_PACKET
- 8 BAdI "/SBIS/EXECUTE_ACTION_EX"
- 9 "ENHANCEMENT_SHOW_WINDOW_BEFORE"
- 10 "ENHANCEMENT_SHOW_WINDOW_AFTER"
Общая концепция
Служит для изменения или проверки отправляемых в СБИС или принимаемых из СБИС данных через СБИС Сапер в системе SAP клиента. По умолчанию метод не вызывается и данные отправляются / принимаются как есть. Если активировать вызов и создать метод, то предоставляется возможность изменить данные пакета.
"UserExit_After_IfExchange_GetPacket"
Предназначено для изменения или проверки отправляемых в СБИС документов
Место вызова
Вызывается из метода /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
Способ вызова
В настройках в разделе для построения списка необходимо указать имя класса и метода, который будет вызываться. Например, для класса 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
Параметры вызова
Входные параметры:
- 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"
Предназначено для обработки событий по документу для:
- Загрузки документы в ИС
- Проверки состояние исходящих документов
- Проверки состояние входящих документов
Место вызова
Вызывается из метода /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" с помощью транзакции SE18 в точке расширения /SBIS/ES_SAPPER.
- В настройках в разделе для построения списка необходимо указать для параметра "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
Способ вызова
В настройках в разделе для загружаемого документа необходимо указать имя наименование точки прерывания и имя ФМ, который будет вызываться. Например, для ФМ "/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
Способ вызова
В настройках в разделе для загружаемого документа необходимо указать имя наименование точки прерывания и имя ФМ, который будет вызываться. Например, для ФМ "/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"
}
]
}
]
}
]
}