Текущее время: Пн, июл 21 2025, 14:40

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: cl_gui_alv_tree_simple - как поймать промежуточные суммы?
СообщениеДобавлено: Вт, ноя 14 2006, 09:17 
Менеджер
Менеджер

Зарегистрирован:
Вт, дек 06 2005, 17:52
Сообщения: 559
Необходимо в сабже поймать событие подсчета промежуточных сумм и подставить свое значение. В АЛВ это возможно, а здесь?

По поиску нашел похожую тему, где автор предполагал наследовать класс и переопределить метод CALCULATE_SUBTREE. Но он же protected, и значит, это невозможно?

Может, кто-то уже решал подобную проблему?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 14 2006, 09:31 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, апр 07 2005, 05:27
Сообщения: 621
Откуда: Москва
Пол: Мужской
Я немного не в курсе, но в нормальном объектно-ориентированном подходе любой потомок класса может переопределять protected методы родителя. Со стороны эти методы конечно не вызвать, но переопределить в любом потомке можно.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 14 2006, 09:34 
Менеджер
Менеджер

Зарегистрирован:
Вт, дек 06 2005, 17:52
Сообщения: 559
Виноват, неточно хелп понял. Можно, разумеется. Один вариант решения есть.
Вот только - точно ли он единственный? Может, все-таки можно событие где-нить перехватить? (надежда умирает последней).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 14 2006, 10:13 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, апр 07 2005, 05:27
Сообщения: 621
Откуда: Москва
Пол: Мужской
Ээээ... а зачем по-другому?

Так у тебя будет один потомок с кодом обработки. А с hook-ом у тебя будет то же самое, тот же самый на 95% код, но класс-обработчик будешь прилинковывать извне после создания базового класса. Разница мизерная.


Поясню псевдокодом.

1 вариант
Code:
my_sub_class PARENT cl_gui
   METHOD calc_sub_tree
       result = 666
   ENDMETHOD
endclass

... и далее в коде:

my_obj = CREATE my_class


2 вариант
Code:
my_sub_class EVENT calc_sub_tree_event
   METHOD calc_sub_tree
       result = 666
   ENDMETHOD
endclass

... и далее в коде:

my_obj = CREATE cl_gui
my_handler = CREATE my_sub_class
my_obj.set_hanler my_handler FOR EVENT calc_sub_tree_event.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 14 2006, 10:30 
Менеджер
Менеджер

Зарегистрирован:
Вт, дек 06 2005, 17:52
Сообщения: 559
Ага, проблема только в том, что я методы в SAP не переопределял ни разу.

Вот пробую, пока получается не очень. В САПовском хелпе пример на методе без параметров, а я не могу сообразить, куда их впихнуть.

Цитата:
class zcl_gui_alv_tree_simple_sub definition inheriting from cl_gui_alv_tree_simple.
protected section.

methods calculate_subtree redefinition.

endclass.


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

Цитата:
class zcl_gui_alv_tree_simple_sub implementation.

method calculate_subtree.

call method super->calculate_subtree
importing
i_node_key.

endmethod.

endclass.
[/quote]


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

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


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

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


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

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