SAPфорум.RU https://sapboard.ru/forum/ |
|
Navigational link creation https://sapboard.ru/forum/viewtopic.php?f=74&t=86844 |
Страница 1 из 1 |
Автор: | Benoni [ Ср, май 14 2014, 10:15 ] |
Заголовок сообщения: | Navigational link creation |
Всем доброго времени суток! Пытаюсь создать в своем 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, поэтому не судите строго:) Всем ответившим заранее спасибо! |
Автор: | Angie [ Чт, май 15 2014, 11:42 ] |
Заголовок сообщения: | Re: Navigational link creation |
В CRM тестить отдельное приложение (тест в BSP_WD_CMPWB) достаточно бесперспективно. Лучше встраивать свою новую компоненту в какую-нить бизнес-роль и оттуда уже смотреть на неё. |
Автор: | Benoni [ Чт, май 15 2014, 12:29 ] |
Заголовок сообщения: | Re: Navigational link creation |
Спасибо за ответ! В данном случае, я думаю, все же это на скорость не влияет. У меня есть все обходимые данные, чтобы ссылка работала даже при помощи теста. Уверен, что я просто упускаю какую-то настройку. Собственно, поэтому и решил обратиться к более опытным в данной области специалистам. |
Автор: | Angie [ Чт, май 15 2014, 13:28 ] |
Заголовок сообщения: | Re: Navigational link creation |
Цитата: Далее, создаю контроллер клиента: ID: FromResultToOvewview Источник: Основной ракурс вывода PLUG: TOOVERVIEWPAGE Цель: ContractOverView PLUG: FROMRESULT Что-то у вас путаница в терминах. Я так полагаю, что здесь вы создаёте навигационную ссылку, а не контроллер клиента. Точку прерывания ставили в EH_ONOBJECTID ? Он вызывается вообще? Уточню: у вас навигация межкомпонентная или внутри одной компоненты от ракурса к ракурсу? Полагаю внутри одной компоненты. Почитайте вот это например: http://scn.sap.com/docs/DOC-27478 Очень подробно там всё разложено. |
Автор: | Benoni [ Чт, май 15 2014, 14:33 ] |
Заголовок сообщения: | Re: Navigational link creation |
Angie написал: Цитата: Далее, создаю контроллер клиента: ID: FromResultToOvewview Источник: Основной ракурс вывода PLUG: TOOVERVIEWPAGE Цель: ContractOverView PLUG: FROMRESULT Что-то у вас путаница в терминах. Я так полагаю, что здесь вы создаёте навигационную ссылку, а не контроллер клиента. Точку прерывания ставили в EH_ONOBJECTID ? Он вызывается вообще? Уточню: у вас навигация межкомпонентная или внутри одной компоненты от ракурса к ракурсу? Полагаю внутри одной компоненты. Почитайте вот это например: http://scn.sap.com/docs/DOC-27478 Очень подробно там всё разложено. Да, Вы правы, это навигационная ссылка. Думал об одном, а написал другое . Прошу прощения. Точку ставил, не вызывается( Что, собственно, меня и смущало. Да, внутри одной компоненты. Спасибо за ссылку, я ее видел) Там вроде все те шаги, что я описываю, есть. |
Автор: | leoleek [ Чт, май 15 2014, 14:44 ] |
Заголовок сообщения: | Re: Navigational link creation |
Посмотрите метод DO_HANDLE_EVENT. Прописан в нем вызов EH_ONOBJECTID? Поставьте точку прерывания в DO_HANDLE_EVENT. |
Автор: | Angie [ Чт, май 15 2014, 14:56 ] |
Заголовок сообщения: | Re: Navigational link creation |
Правильно говорят выше. А ещё могу угадать ошибку: имена событий регистрозависимые-то. У вас в get_p objectid, а событие небось создано что-нить типа OBJECTID. |
Автор: | Benoni [ Пт, май 16 2014, 09:13 ] |
Заголовок сообщения: | Re: Navigational link creation |
leoleek написал: Посмотрите метод DO_HANDLE_EVENT. Прописан в нем вызов EH_ONOBJECTID? Поставьте точку прерывания в DO_HANDLE_EVENT. Angie написал: Правильно говорят выше. А ещё могу угадать ошибку: имена событий регистрозависимые-то. У вас в get_p objectid, а событие небось создано что-нить типа OBJECTID. Да, там в методе DO_HANDLE_EVENT прописан вызов EH_ONOBJECTID:) Angie, да, Вы правы насчет ошибки, правда только частично, оказалось в методе DO_HANDLE_EVENT objectid записан с большой буквы а в get_p objectid я записал как раз с маленькой. Теперь вот запускаю и возникла такая ошибка:
Имя ошибки Программа CL_O24VGQH89RL0GJ1YZXXKR14YCNYCP Include CL_O24VGQH89RL0GJ1YZXXKR14YCNYCM002 Класс ABAP CL_O24VGQH89RL0GJ1YZXXKR14YCNY Метод _ONLAYOUT BSP-приложение ZTUTTEST1 BSP-страница HEADER.HTM Строка 42 Подробный текст Произведена попытка выполнить динамический вызов метода по начальной (NULL) ссылке на объект. Ссылка должна указывать на объект. Может есть какие идеи по поводу нее? |
Автор: | Angie [ Пт, май 16 2014, 10:40 ] |
Заголовок сообщения: | Re: Navigational link creation |
Цитата: DO_HANDLE_EVENT objectid записан с большой буквы Как ввели в окошко создания event handler'а, так и записано. Чудес не бывает Про ошибку с нулевой ссылкой. Смотрите, что у вас написано в строке 42 страницы HEADER.HTM ракурса ZTUTTEST1/HEADER PS: А вы говорите, что у вас всё есть, чтобы работать в standalone тесте... |
Автор: | leoleek [ Пт, май 16 2014, 10:42 ] |
Заголовок сообщения: | Re: Navigational link creation |
Цитата: Может есть какие идеи по поводу нее? Какие могут быть идеи? Проверять ссылку на непустоту перед вызовом метода) |
Автор: | Benoni [ Пт, май 16 2014, 11:17 ] |
Заголовок сообщения: | Re: Navigational link creation |
Angie написал: Цитата: DO_HANDLE_EVENT objectid записан с большой буквы Как ввели в окошко создания 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( ) %>" /> И все заработало. В общем, спасибо за помощью Прошу прощения, если задавал глупые вопросы. Продукт для меня новый, осваиваюсь |
Автор: | Angie [ Пт, май 16 2014, 15:20 ] |
Заголовок сообщения: | Re: Navigational link creation |
Всегда пожалуйста. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |