Текущее время: Ср, июл 23 2025, 22:34

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: Доступ на атрибуты через интерфейс контроллер
СообщениеДобавлено: Вс, апр 15 2012, 16:41 
Ассистент
Ассистент

Зарегистрирован:
Чт, янв 20 2011, 15:17
Сообщения: 27
Здравствуйте,
скажите пожалуйста можно ли получить доступ из одного WD через интрефейс контроллер на атрибут другого веб динпро компонента, если да то как?
самое странное что в дебаге я могу видеть и менять нужный атрибут а в коде система его не видит
Code:
DATA: lr_session_state    TYPE REF TO cl_dpr_session_state,
        lr_cmp_usage        TYPE REF TO if_wd_component_usage,
        lr_intf_controller  TYPE REF TO iwci_dpr_res_main,
        lr_res_mains        TYPE REF TO if_wd_controller,
        ls_action TYPE dpr_ts_ui_action.

  DATA: lr_comp_api        TYPE REF TO if_wd_component,
        lr_window_manager  TYPE REF TO if_wd_window_manager,
        lv_title           TYPE string.

  lr_cmp_usage = wd_this->wd_cpuse_res_main( ).
  IF lr_cmp_usage->has_active_component( ) IS INITIAL.
    lr_cmp_usage->create_component( ).
  ENDIF.
  lr_intf_controller = wd_this->wd_cpifc_res_main( ).
   
* append the action   to a global table "MT_ACTIONS" in used component DPR_RES_MAIN
      ls_action-action_name =  cl_dpr_api_co=>sc_action_create.
*  APPEND ls_action TO LR_INTF_CONTROLLER->IG_COMPONENTCONTROLLER~MT_ACTIONS.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Доступ на атрибуты через интерфейс контроллер
СообщениеДобавлено: Пн, апр 16 2012, 09:25 
Специалист
Специалист

Зарегистрирован:
Ср, дек 22 2010, 19:49
Сообщения: 114
AWA написал(а):
Здравствуйте,
скажите пожалуйста можно ли получить доступ из одного WD через интрефейс контроллер на атрибут другого веб динпро компонента, если да то как?
самое странное что в дебаге я могу видеть и менять нужный атрибут а в коде система его не видит


А атрибут случайно не имеет статус видимости - private?

_________________
Человек готов работать 24 часа в сутки, лишь бы ничего не делать.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Доступ на атрибуты через интерфейс контроллер
СообщениеДобавлено: Пн, апр 16 2012, 14:50 
Ассистент
Ассистент

Зарегистрирован:
Чт, янв 20 2011, 15:17
Сообщения: 27
AWA написал(а):
атрибут случайно не имеет статус видимости - private?


Нет , атрибут Public


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Доступ на атрибуты через интерфейс контроллер
СообщениеДобавлено: Вт, апр 17 2012, 11:53 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Ср, ноя 01 2006, 22:58
Сообщения: 794
Откуда: Заарбрюкен
Пол: Мужской
У аттрибутов контроллера вроде как нет области видимости Private/Public. Он либо интерфейсный, либо нет.
Если я правильно понял, то попробуйте заменить это

LR_INTF_CONTROLLER->IG_COMPONENTCONTROLLER~MT_ACTIONS.

на это

LR_INTF_CONTROLLER->MT_ACTIONS.

Обычно, к подобным аттрибутам получают доступ методами контроллера, а не пишут напрямую.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Доступ на атрибуты через интерфейс контроллер
СообщениеДобавлено: Вт, апр 17 2012, 14:35 
Ассистент
Ассистент

Зарегистрирован:
Чт, янв 20 2011, 15:17
Сообщения: 27
Konstantin Anikeev написал:
LR_INTF_CONTROLLER->MT_ACTIONS.
.

не помогло, атрибут по прежнему не известен системе

Konstantin Anikeev написал:
У аттрибутов контроллера вроде как нет области видимости Private/Public

т.е. имеете ввиду что флаг Public надо понимать как Interface?

[url=http://www.fotolink.su/v.php?id=3b00143dbadaa34ac3dfa40fd6f21b13]
Изображение
438x218(280.22 kB)[/url]
Фотохостинг http://www.fotolink.su


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Доступ на атрибуты через интерфейс контроллер
СообщениеДобавлено: Вт, апр 17 2012, 15:21 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Ср, ноя 01 2006, 22:58
Сообщения: 794
Откуда: Заарбрюкен
Пол: Мужской
AWA написал(а):
т.е. имеете ввиду что флаг Public надо понимать как Interface?

Не, это я ступил. Я про Events подумал.

В вашем случае Public говорит о том, что компоненты доступны контроллеру View внутри него. В другом WebDynpro доступа к ним нет. Только через методы. Т.е. просто сделайте метод, который вернет ссылку на этот аттрибут.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Доступ на атрибуты через интерфейс контроллер
СообщениеДобавлено: Вт, апр 17 2012, 16:08 
Ассистент
Ассистент

Зарегистрирован:
Чт, янв 20 2011, 15:17
Сообщения: 27
оно и с методами таже засада, если делать в стандартном компоненте и менять его через енханцмент, то галочка интерфейс также не доступна для редоктирования


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Доступ на атрибуты через интерфейс контроллер
СообщениеДобавлено: Вт, апр 17 2012, 17:30 
Гуру-модератор
Гуру-модератор
Аватара пользователя

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

Что-то ничего кроме извращений в голову не приходит.
Если статический класс со ссылкой на аттрибут?
Ссылка присваивается при инициализации стандартного компонента как enhancement и используется потом из своего компонента.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Доступ на атрибуты через интерфейс контроллер
СообщениеДобавлено: Ср, апр 18 2012, 00:16 
Специалист
Специалист

Зарегистрирован:
Вт, июл 07 2009, 13:24
Сообщения: 235
а если такой вариант в вашем компоненте закладываете интерфейс событие событие ,
интегрируете Ваш компонент через нханцмент в стандартный и определяете для интерфей события - метод Event Handler,
и в нем меняете атрибут стандартного компонента (используете параметры если надо).


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Доступ на атрибуты через интерфейс контроллер
СообщениеДобавлено: Ср, апр 18 2012, 00:27 
Ассистент
Ассистент

Зарегистрирован:
Чт, янв 20 2011, 15:17
Сообщения: 27
DaV, спасибо за идею,
сделал как Вы предлогали , но к сожалению Even-Handler не отрабатывает,
попробовал для теста заложить Even-Handler в том же смом Контроллере , он тоже не отрабатывает. в чем тут может быть проблема?
Спасибо


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Доступ на атрибуты через интерфейс контроллер
СообщениеДобавлено: Ср, апр 18 2012, 04:01 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Ср, ноя 01 2006, 22:58
Сообщения: 794
Откуда: Заарбрюкен
Пол: Мужской
Так не сработает. Тут получается цепочка.
Ваш компонент (1) -> Стандартный -> Ваш (2).
По сути получается два разных объекта хоть и одного класса. Вешать обработчики друг на друга скорее всего не получится.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Доступ на атрибуты через интерфейс контроллер
СообщениеДобавлено: Ср, апр 18 2012, 09:51 
Ассистент
Ассистент

Зарегистрирован:
Чт, янв 20 2011, 15:17
Сообщения: 27
при нажатии на кнопку в своем веб динпро , надо добавить в таблицу ( атрибут стандартного компонента) одну строчку


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Доступ на атрибуты через интерфейс контроллер
СообщениеДобавлено: Ср, апр 18 2012, 13:08 
Гуру-модератор
Гуру-модератор
Аватара пользователя

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


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

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


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

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


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

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