Текущее время: Вт, мар 19 2024, 09:25

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




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Navigational link creation
СообщениеДобавлено: Ср, май 14 2014, 10:15 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, мар 19 2012, 15:00
Сообщения: 76
Всем доброго времени суток! Пытаюсь создать в своем UI навигационную ссылку следующим путем
1. Создаю ракурс, который будет открываться по ссылке
Название: HEADER
Узел модели: header
BOL-сущность: BTAdminH
Ракурс формуляра(без кнопок)
Конигурируемо(Просмотр/изменение:режим)

На вкладке "Конфигурация" выбираю поля, которые должны будут отображаться (обработать-сохранить-актуализировать)

2. Создаю ракурс страницы обзора
Название: ContractOverView
Далее, на вкладке "Редактор динамического репозитория-ViewSets-ViewArea Overview Page" добавляю наш ракурс header, после чего, на вкладке "Редактор динамического репозитория-Windows-window ляля/MainWindow" добавляю ракурс страницы обзора ContractOverView. Затем, на вкладке "Браузер структуры компонентов-Ракурс ContractOverView-Конфигурация" я добавляю наш единственный компонент в область "Просмотренные блоки присвоения" (обработать-сохранить-актуализировать). Опция загрузки: Прям.

3. Создаю ссылочное поле в соответствующем ракурсе: Контекст-Узел контекст-Атрибуты-Выбираю необходимое поле-Генерировать P-GETTER. В нем:

Code:
method GET_P_OBJECT_ID.
  CASE IV_PROPERTY.
    WHEN IF_BSP_WD_MODEL_SETTER_GETTER=>fp_fieldtype.
      rv_value = cl_bsp_dlc_view_descriptor=>field_type_event_link.

    WHEN IF_BSP_WD_MODEL_SETTER_GETTER=>fp_onclick.
      rv_value = 'objectid'.

    WHEN OTHERS.
  ENDCASE.
endmethod.


Результат: Поле стало ссылкой

4. В этом же ракурсе создаю PLUG выход:

Code:
method OP_TOOVERVIEWPAGE.

  me->view_manager->navigate( EXPORTING
    outbound_plug = 'FromResultToOverview'
    source_rep_view = me->rep_view ).

endmethod.


В ракурсе ContractOverView создал PLUG вход, он пустой

Code:
method IP_FROMRESULT.
endmethod.


Далее, создаю контроллер клиента:
ID: FromResultToOvewview
Источник: Основной ракурс вывода
PLUG: TOOVERVIEWPAGE
Цель: ContractOverView
PLUG: FROMRESULT

Затем, в обработчике событий основного ракурса вывода создаю обработчик событий:
Code:
method EH_ONOBJECTID.
  op_tooverviewpage( ).
endmethod.


Сохраняю-Активирую-Тест и ... ничего. Может я что-то упустил(((

Я новичок в SAP CRM, поэтому не судите строго:)
Всем ответившим заранее спасибо!


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Navigational link creation
СообщениеДобавлено: Чт, май 15 2014, 11:42 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, апр 13 2007, 16:52
Сообщения: 381
Пол: Мужской
В CRM тестить отдельное приложение (тест в BSP_WD_CMPWB) достаточно бесперспективно.
Лучше встраивать свою новую компоненту в какую-нить бизнес-роль и оттуда уже смотреть на неё.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Navigational link creation
СообщениеДобавлено: Чт, май 15 2014, 12:29 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, мар 19 2012, 15:00
Сообщения: 76
Спасибо за ответ!
В данном случае, я думаю, все же это на скорость не влияет.
У меня есть все обходимые данные, чтобы ссылка работала даже при помощи теста.
Уверен, что я просто упускаю какую-то настройку. Собственно, поэтому и решил обратиться к более опытным в данной области специалистам.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Navigational link creation
СообщениеДобавлено: Чт, май 15 2014, 13:28 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, апр 13 2007, 16:52
Сообщения: 381
Пол: Мужской
Цитата:
Далее, создаю контроллер клиента:
ID: FromResultToOvewview
Источник: Основной ракурс вывода
PLUG: TOOVERVIEWPAGE
Цель: ContractOverView
PLUG: FROMRESULT

Что-то у вас путаница в терминах. Я так полагаю, что здесь вы создаёте навигационную ссылку, а не контроллер клиента.

Точку прерывания ставили в EH_ONOBJECTID ? Он вызывается вообще?

Уточню: у вас навигация межкомпонентная или внутри одной компоненты от ракурса к ракурсу? Полагаю внутри одной компоненты.

Почитайте вот это например: http://scn.sap.com/docs/DOC-27478 Очень подробно там всё разложено.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Navigational link creation
СообщениеДобавлено: Чт, май 15 2014, 14:33 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, мар 19 2012, 15:00
Сообщения: 76
Angie написал:
Цитата:
Далее, создаю контроллер клиента:
ID: FromResultToOvewview
Источник: Основной ракурс вывода
PLUG: TOOVERVIEWPAGE
Цель: ContractOverView
PLUG: FROMRESULT

Что-то у вас путаница в терминах. Я так полагаю, что здесь вы создаёте навигационную ссылку, а не контроллер клиента.

Точку прерывания ставили в EH_ONOBJECTID ? Он вызывается вообще?

Уточню: у вас навигация межкомпонентная или внутри одной компоненты от ракурса к ракурсу? Полагаю внутри одной компоненты.

Почитайте вот это например: http://scn.sap.com/docs/DOC-27478 Очень подробно там всё разложено.


Да, Вы правы, это навигационная ссылка. Думал об одном, а написал другое :) . Прошу прощения.
Точку ставил, не вызывается( Что, собственно, меня и смущало.
Да, внутри одной компоненты.
Спасибо за ссылку, я ее видел) Там вроде все те шаги, что я описываю, есть.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Navigational link creation  Тема решена
СообщениеДобавлено: Чт, май 15 2014, 14:44 
Начинающий
Начинающий

Зарегистрирован:
Чт, май 15 2014, 13:42
Сообщения: 2
Пол: Мужской
Посмотрите метод DO_HANDLE_EVENT. Прописан в нем вызов EH_ONOBJECTID? Поставьте точку прерывания в DO_HANDLE_EVENT.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Navigational link creation
СообщениеДобавлено: Чт, май 15 2014, 14:56 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, апр 13 2007, 16:52
Сообщения: 381
Пол: Мужской
Правильно говорят выше. А ещё могу угадать ошибку: имена событий регистрозависимые-то. У вас в get_p objectid, а событие небось создано что-нить типа OBJECTID.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Navigational link creation
СообщениеДобавлено: Пт, май 16 2014, 09:13 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, мар 19 2012, 15:00
Сообщения: 76
leoleek написал:
Посмотрите метод DO_HANDLE_EVENT. Прописан в нем вызов EH_ONOBJECTID? Поставьте точку прерывания в DO_HANDLE_EVENT.


Angie написал:
Правильно говорят выше. А ещё могу угадать ошибку: имена событий регистрозависимые-то. У вас в get_p objectid, а событие небось создано что-нить типа OBJECTID.


Да, там в методе DO_HANDLE_EVENT прописан вызов EH_ONOBJECTID:)
Angie, да, Вы правы насчет ошибки, правда только частично, оказалось в методе DO_HANDLE_EVENT objectid записан с большой буквы :shock: а в get_p objectid я записал как раз с маленькой.

Теперь вот запускаю и возникла такая ошибка:

    Класс особой ситуации CX_SY_REF_IS_INITIAL
    Имя ошибки
    Программа CL_O24VGQH89RL0GJ1YZXXKR14YCNYCP
    Include CL_O24VGQH89RL0GJ1YZXXKR14YCNYCM002
    Класс ABAP CL_O24VGQH89RL0GJ1YZXXKR14YCNY
    Метод _ONLAYOUT
    BSP-приложение ZTUTTEST1
    BSP-страница HEADER.HTM
    Строка 42
    Подробный текст Произведена попытка выполнить динамический вызов метода по начальной (NULL) ссылке на объект. Ссылка должна указывать на объект.


Может есть какие идеи по поводу нее?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Navigational link creation
СообщениеДобавлено: Пт, май 16 2014, 10:40 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, апр 13 2007, 16:52
Сообщения: 381
Пол: Мужской
Цитата:
DO_HANDLE_EVENT objectid записан с большой буквы :shock:

Как ввели в окошко создания event handler'а, так и записано. Чудес не бывает :)

Про ошибку с нулевой ссылкой.
Смотрите, что у вас написано в строке 42 страницы HEADER.HTM ракурса ZTUTTEST1/HEADER

PS: А вы говорите, что у вас всё есть, чтобы работать в standalone тесте...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Navigational link creation
СообщениеДобавлено: Пт, май 16 2014, 10:42 
Начинающий
Начинающий

Зарегистрирован:
Чт, май 15 2014, 13:42
Сообщения: 2
Пол: Мужской
Цитата:
Может есть какие идеи по поводу нее?


Какие могут быть идеи? Проверять ссылку на непустоту перед вызовом метода)


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Navigational link creation
СообщениеДобавлено: Пт, май 16 2014, 11:17 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, мар 19 2012, 15:00
Сообщения: 76
Angie написал:
Цитата:
DO_HANDLE_EVENT objectid записан с большой буквы :shock:

Как ввели в окошко создания event handler'а, так и записано. Чудес не бывает :)

Про ошибку с нулевой ссылкой.
Смотрите, что у вас написано в строке 42 страницы HEADER.HTM ракурса ZTUTTEST1/HEADER

PS: А вы говорите, что у вас всё есть, чтобы работать в standalone тесте...


leoleek написал:
Цитата:
Может есть какие идеи по поводу нее?


Какие могут быть идеи? Проверять ссылку на непустоту перед вызовом метода)


Да, Angie, Вы правы, в SAPе точно чудес не бывает) Хотя, я вот заметил, у меня то атрибуты в узле пропадают иногда, то окошки разные не отображаются, что лечится только новым открытием UI-Компонента.

насчет HEADER.HTM, я при создании Ракурса HEADER лишнюю галочку оказывается поставил, поменял:

Code:

<chtmlb:config displayMode = "<%= controller->view_group_context->is_view_in_display_mode( controller ) %>"
               mode        = "RUNTIME"
               xml         = "<%= controller->configuration_descr->get_config_data( ) %>" />

на:

<chtmlb:config mode = "RUNTIME"
               xml  = "<%= controller->configuration_descr->get_config_data( ) %>" />



И все заработало.
В общем, спасибо за помощью :pivo:

Прошу прощения, если задавал глупые вопросы. Продукт для меня новый, осваиваюсь :oops:


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Navigational link creation
СообщениеДобавлено: Пт, май 16 2014, 15:20 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, апр 13 2007, 16:52
Сообщения: 381
Пол: Мужской
Всегда пожалуйста.


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

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


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

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


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

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