Текущее время: Чт, июл 31 2025, 17:32

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


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: ABAP Web Dynpro: обновить VIEW по нажатию кнопки
СообщениеДобавлено: Ср, июл 08 2009, 13:36 
Специалист
Специалист

Зарегистрирован:
Ср, окт 04 2006, 09:08
Сообщения: 204
Есть abap web dynpro приложение, в нем view. Нужно чтобы при нажатии кнопки view обновлялся. Т.е. у него вызывался метод WDDOMODIFYVIEW.

В стандартном приложении я такое видел, но раскопать не смог т.к. WDDOMODIFYVIEW вызывается асинхронно (не напрямую по нажатию на кнопку, а позже по какому-то событию из очереди).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ABAP Web Dynpro: обновить VIEW по нажатию кнопки
СообщениеДобавлено: Ср, июл 08 2009, 19:21 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Ср, ноя 01 2006, 22:58
Сообщения: 794
Откуда: Заарбрюкен
Пол: Мужской
Нет такого понятия, как обновление View... Обновляйте контекст, привязанный к View - кначения подтянутся на view автоматом...
Или вам это для чего другого нужно?

Поясните WDA или WDJ...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ABAP Web Dynpro: обновить VIEW по нажатию кнопки
СообщениеДобавлено: Чт, июл 09 2009, 09:18 
Специалист
Специалист

Зарегистрирован:
Ср, окт 04 2006, 09:08
Сообщения: 204
Konstantin Anikeev написал:
Нет такого понятия, как обновление View... Обновляйте контекст, привязанный к View - кначения подтянутся на view автоматом...
Или вам это для чего другого нужно?

Поясните WDA или WDJ...


Это WD ABAP.

На примере простейшей программы WDDOMODIFYVIEW действительно автоматически вызывается по нажатию на кнопку без дополнительных усилий.

В моем же случае ситуация следующая: есть стандартная программа FPM_OIF_COMPONENT, в которую я через enhancement point добавил кнопку.
При нажатии на эту кнопку WDDOMODIFYVIEW не вызывается. А при нажатии на любую стандартную кнопку - вызывается. Не могу понять почему.

Вот я подумал: может есть способ заставить view обновиться (т.е. вызывать modifyview). Метод какой-нибудь или флаг "dirty" и т.п.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ABAP Web Dynpro: обновить VIEW по нажатию кнопки
СообщениеДобавлено: Чт, июл 09 2009, 11:15 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, янв 25 2005, 19:26
Сообщения: 67
Пол: Мужской
profiteer написал(а):
В моем же случае ситуация следующая: есть стандартная программа FPM_OIF_COMPONENT, в которую я через enhancement point добавил кнопку.
При нажатии на эту кнопку WDDOMODIFYVIEW не вызывается. А при нажатии на любую стандартную кнопку - вызывается. Не могу понять почему.

Вот я подумал: может есть способ заставить view обновиться (т.е. вызывать modifyview). Метод какой-нибудь или флаг "dirty" и т.п.


Насколько я понимаю, речь идет о приложении, реализованном с помощью Floor Plan Manager.
У меня руки пока не дошли изучить его как следует, но что-то мне подсказывает, что добавление кнопки в такое приложение можно сделать проще через FPM Toolbar, и фреймворк предусматривает также и реакцию на соотв. событие.
Вы Developer's Guide внимательно смотрели? - https://www.sdn.sap.com/irj/scn/go/port ... bf3452cc50

_________________
Come to Cookies! We Have Dark Sides!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ABAP Web Dynpro: обновить VIEW по нажатию кнопки
СообщениеДобавлено: Чт, июл 09 2009, 11:47 
Специалист
Специалист

Зарегистрирован:
Ср, окт 04 2006, 09:08
Сообщения: 204
imp написал:
profiteer написал(а):
В моем же случае ситуация следующая: есть стандартная программа FPM_OIF_COMPONENT, в которую я через enhancement point добавил кнопку.
При нажатии на эту кнопку WDDOMODIFYVIEW не вызывается. А при нажатии на любую стандартную кнопку - вызывается. Не могу понять почему.

Вот я подумал: может есть способ заставить view обновиться (т.е. вызывать modifyview). Метод какой-нибудь или флаг "dirty" и т.п.


Насколько я понимаю, речь идет о приложении, реализованном с помощью Floor Plan Manager.
У меня руки пока не дошли изучить его как следует, но что-то мне подсказывает, что добавление кнопки в такое приложение можно сделать проще через FPM Toolbar, и фреймворк предусматривает также и реакцию на соотв. событие.
Вы Developer's Guide внимательно смотрели? - https://www.sdn.sap.com/irj/scn/go/port ... bf3452cc50


Guide внимательно еще не смотрел.
Бегло смотрел и не понял - можно ли описанными там техниками менять стандартное приложение или там речь только о создании своих приложений.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ABAP Web Dynpro: обновить VIEW по нажатию кнопки
СообщениеДобавлено: Чт, июл 09 2009, 12:18 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Ср, ноя 01 2006, 22:58
Сообщения: 794
Откуда: Заарбрюкен
Пол: Мужской
Ну а вы у кнопки в Ereignis "onAction" чего-нить поставили?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ABAP Web Dynpro: обновить VIEW по нажатию кнопки
СообщениеДобавлено: Чт, июл 09 2009, 13:17 
Специалист
Специалист

Зарегистрирован:
Ср, окт 04 2006, 09:08
Сообщения: 204
Konstantin Anikeev написал:
Ну а вы у кнопки в Ereignis "onAction" чего-нить поставили?


Да, экшн у кнопки есть, она работает.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ABAP Web Dynpro: обновить VIEW по нажатию кнопки
СообщениеДобавлено: Чт, июл 09 2009, 14:02 
Гуру-модератор
Гуру-модератор
Аватара пользователя

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

Вот тут цитатку нашел...
Цитата:
Dynamic Modification of a View
Web Dynpro provides the wdDoModifyView Hook method in the controller implementation of the view. In this way you can add source text to the controller implementation of the view in order to program the parts of the user interface that are not yet known at design time. This could be for example configuration-driven parts of the user interface. The wdDoModifyView method is called for every view before it is displayed on the screen. The wdDoModifyView method was defined as a static method because you want to prevent the application development from routinely creating references to UI elements in class variables in order to access for example event handlers. It should only be used to modify a view and therefore should not contain any source text that references controllers. The method is used to modify UI elements of a view in order to enhance the possibilities for UI development at design time. For example, the Hook method is used if a UI element is to be rendered only at runtime.


Т.е. по идее метод вызывается один раз перед показом View... Т.е. если View не прятался, то может и не вызываться...

Можете еще вот тут глянуть... http://help.sap.com/saphelp_nw70/helpda ... ontent.htm


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ABAP Web Dynpro: обновить VIEW по нажатию кнопки
СообщениеДобавлено: Чт, июл 09 2009, 15:19 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, янв 25 2005, 19:26
Сообщения: 67
Пол: Мужской
В обычном случае (без FPM) WDDOMODIFYVIEW вызывается после каждого round-trip к серверу, независимо от того, скрывался он или нет. Любой Action вызывает round-trip - проверено.

Более того, я сделал View, на который разместил кнопку, сделал реализацию WDDOMODIFYVIEW и встроил его компонент в простенькое приложение с использованием FPM (созданное по вышеупомянотому гайду) - все работает.

Возможно, проблема в том, что кнопки, созданные в самом FPM, обрабатываются фреймворком как-то по-другому - поэтому я и посоветовал почитать в гайде. По идее, в нем описана общая схема реализации приложений с использованием FPM.

А какое стандартное приложение Вы меняете, если не секрет? Просто интересно посмотреть на "настоящую" реализацию FPM в стандарте. AFAIR, FPM появился только в NW 7.01, поэтому стандартных приложений с его использованием я еще не видел.

_________________
Come to Cookies! We Have Dark Sides!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ABAP Web Dynpro: обновить VIEW по нажатию кнопки
СообщениеДобавлено: Чт, июл 09 2009, 17:01 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 13:16
Сообщения: 1790
imp написал:
стандартных приложений с его использованием я еще не видел.

Сервисы самообслуживания?

_________________
/nex


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ABAP Web Dynpro: обновить VIEW по нажатию кнопки
СообщениеДобавлено: Чт, июл 09 2009, 21:00 
Специалист
Специалист

Зарегистрирован:
Ср, окт 04 2006, 09:08
Сообщения: 204
imp написал:
А какое стандартное приложение Вы меняете, если не секрет? Просто интересно посмотреть на "настоящую" реализацию FPM в стандарте. AFAIR, FPM появился только в NW 7.01, поэтому стандартных приложений с его использованием я еще не видел.


В SAP SRM 7.0 все основные приложения на FPM написаны.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ABAP Web Dynpro: обновить VIEW по нажатию кнопки
СообщениеДобавлено: Пт, июл 10 2009, 11:58 
Специалист
Специалист

Зарегистрирован:
Ср, окт 04 2006, 09:08
Сообщения: 204
imp написал:
В обычном случае (без FPM) WDDOMODIFYVIEW вызывается после каждого round-trip к серверу, независимо от того, скрывался он или нет. Любой Action вызывает round-trip - проверено.

Более того, я сделал View, на который разместил кнопку, сделал реализацию WDDOMODIFYVIEW и встроил его компонент в простенькое приложение с использованием FPM (созданное по вышеупомянотому гайду) - все работает.

Возможно, проблема в том, что кнопки, созданные в самом FPM, обрабатываются фреймворком как-то по-другому - поэтому я и посоветовал почитать в гайде. По идее, в нем описана общая схема реализации приложений с использованием FPM.

А какое стандартное приложение Вы меняете, если не секрет? Просто интересно посмотреть на "настоящую" реализацию FPM в стандарте. AFAIR, FPM появился только в NW 7.01, поэтому стандартных приложений с его использованием я еще не видел.


Все, нашел в чем проблема. WDDOMODIFYVIEW действительно вызывался, просто в нем по определенному флагу приложения не вызывался нужный мне метод.

Спасибо за идею!


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

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


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

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


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

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