Текущее время: Пн, июл 21 2025, 19: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 часа


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

Сейчас этот форум просматривают: Yandex [Bot]


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

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