Текущее время: Пт, мар 29 2024, 02:16

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: SRM7.1: Обработка событий
СообщениеДобавлено: Чт, июн 09 2011, 08:07 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, фев 18 2008, 11:25
Сообщения: 100
Через конфигурацию WDCC_FPM_OIF_RFQ_PR_PU компонента FPM_OIF_COMPONENT, добавил кнопку Print с выпадающим списком. Для каждой строки прописываю событие, по которому необходимо выводить разные формы в RFx. Обработку осуществляю в post-расширении action-метода вьюхи CNR_VIEW - ONACTIONBUTTON_PRESSED. Этот то момент мне и не нравится. К тому же в нем события имеют названия: PRINT_ITEM_1, PRINT_ITEM_2.... не смотря на то, что я их именовал совершенно иначе, что неменуемо приведет к проблема, при необходимости добавить новую форму где-нибудь в середине списка.
Вопрос: как и где правильно обрабатывать пользовательские события возникающие при нажатии кнопок, определенных в конфигурациях компонента FPM_OIF_COMPONENT.
Спасибо!


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SRM7.1: Обработка событий
СообщениеДобавлено: Чт, июн 23 2011, 06:46 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 03 2010, 11:15
Сообщения: 78
мы делали следующим образом. создали свой компонент веб-экрана, с интерфейсами /SAPSRM/WDI_L_FCP_TE, /SAPSRM/WDI_L_FPC_CA_DTLS, /SAPSRM/WDI_L_FPC_GENERAL, IF_FPM_FLOORPLAN_COMP, IF_FPM_UI_BUILDING_BLOCK. его же и использовали при создании UIBB, который разместили на всех вкладках (чтобы отлавливать нажатие кнопок на всех вкладках). в CC есть метод PROCESS_EVENT. вот в нем и отлавливаем нажатия кнопок
Code:
CASE io_event->mv_event_id.
WHEN 'ZBUTTON_1'.
...
WHEN 'ZBUTTON_N'.
ENDCASE.

вариант для реализации не самый красивый, но по крайней мере он работает.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: SRM7.1: Обработка событий  Тема решена
СообщениеДобавлено: Пт, июн 24 2011, 16:34 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Ср, ноя 01 2006, 22:58
Сообщения: 794
Откуда: Заарбрюкен
Пол: Мужской
Есть еще вариант.

Ищете в вашей конфигурации управляющий компонент.
Изображение

Изображение

Идете в его конфигурацию и ищете класс-обработчик.
Изображение

В вашем случае /SAPSRM/CL_FPM_OVRIDE_OIF_RFQ - он обрабатывает только общие события FPM (сменить вкладку, открыть,закрыть и т.д.)
Идете в класс. и обращаете внимание на метод INIT_OBJECTS - который создает экземпляр специального обработчика (на события бизнес объекта). У меня /SAPSRM/CL_CH_WD_IDEN_MAP_RFQ. А у него есть замечательный метод /SAPSRM/IF_CLL_IDENT_MAPPER~HANDLE_EVENT.

Соответсвенно классы наследуются, методы переобъявляются ну и все прелести ООП.

А можете глянуть в сторону BADI /SAPSRM/IF_EX_BDI_PDO_ACT_PROC. Правда я не уверен, что он вызывается.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SRM7.1: Обработка событий
СообщениеДобавлено: Пн, июл 04 2011, 15:03 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, фев 18 2008, 11:25
Сообщения: 100
Почитал гайд по FPM, да коллега подсказал, в итоге сделали вывод такой.
Для обработки событий есть куча методов в интерфейсах IF_FPM_UI_BUILDING_BLOCK, IF_FPM_OIF_CONF_EXIT для работы с событиями. Свой компонент не обязательно создавать, а можно эти интерфесй добавлять в существующие САПовские компоненты и там их имплементировать. Мне показался этот способ самым корректным. Добавлил в компонент /SAPSRM/WDC_FPM_OIF_CONF.
Таким образом получается объеденил 2 ваших ответа.
Спасибо ВАМ!


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SRM7.1: Обработка событий
СообщениеДобавлено: Пт, дек 02 2011, 17:36 
Специалист
Специалист

Зарегистрирован:
Пн, фев 11 2008, 16:17
Сообщения: 122
Пол: Мужской
Добрый день.

Столкнулся с аналогичной проблемой.
Несмотря на достаточно подробное обсуждение в данной теме, разобраться не смог, опыта работы с FPM нет :(

Мне так же неоходимо добавить кнопку на один из экранов стандартного WDA приложения HCM_ECM_PLANNING_UI_GAF.
Собственно, кнопку я добавил через стандартный же конфигуратор ECM_AC_PLANNING_UI_GAF.
Там же присвоил ей ИД FPM события.

Не могу понять, где это событие можно поймать теперь и куда добавлять его обработчик?
Возможно ли это сделать так же через конфигуратор и если да, то как?

Очень надеюсь на Вашу помощь.
Заранее благодарен.

_________________
С Уважением, Danila


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SRM7.1: Обработка событий
СообщениеДобавлено: Пн, дек 05 2011, 19:14 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Ср, ноя 01 2006, 22:58
Сообщения: 794
Откуда: Заарбрюкен
Пол: Мужской
Danila написал:
Мне так же неоходимо добавить кнопку на один из экранов стандартного WDA приложения HCM_ECM_PLANNING_UI_GAF.
Собственно, кнопку я добавил через стандартный же конфигуратор ECM_AC_PLANNING_UI_GAF.


Это что за модуль? В SRM такого нет.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB