on 2009 Oct 12 11:04 AM
Hello,
I've created a custom component showing some data of an erp sales order, and I want navigate to it clicking on erp order history.
I tried with some coding.
view_manager->navigate(..)
view_manager->navigate(
SOURCE_REP_VIEW = me->rep_view
OUTBOUND_PLUG = 'ywcrmerphistory'
DATA_COLLECTION = lr_data_collection ).
I've created a new outbound plug and set up a navigation link on the repository.xml file but this is, as far as I know, a navigation intra-view and even if navigation worked, it seems that underlaying component still remains the same ICCMP_ERP_ORDER. In brief no real cross component navigation is performed.
link id
lr_nav_srv = cl_crm_ui_navigation_service=>get_instance( me ).
lr_nav_srv->navigate( iv_link_id = 'YWERPHIST'
iv_data_collection = lr_data_collection ).
First I have created a new target to my new component and then I have created YWERPHIST link id in customizing UIFramework->Tech. role .def. -> Define navigation bar profile -> Defilne logical links, assigning the new link to my new target.
With this option no navigation is performed, since I get an exception navigation rejected.
window navigation
lr_window ?= me->view_manager->get_window_controller( ).
lr_window->call_outbound_plug( iv_outbound_plug = 'ywcrmerphistory'
iv_data_collection = iv_data_collection ).
I've created an outbound plug in the main window and I tried to navigate through it but no navigation was performed. Navigation was still rejected, and an exception was raised.
How can I implement cross component navigation to my custom new component from an existing one, so that I have all the back functionality on?
Thank you very much for your help!
Cheers
Luca
Request clarification before answering.
Hello,
First define the component Interface in your y-component. Add your MainWindow as Interfaceview. Also create in- and outboundplugs in your mainwindow and add them to the component interface.
Then you need to define your y-component as component usage in the standard component. Add the Interfaceview, add the in- and outboundplugs.
Now assign the Interfaceview to the MainWindow of the Standard Component (all in Runtime Repository)
Now you can create a navigational Link from the Outboundplug of your choice to the interfaceview and the inboundplug you created and published via the interface.
Let me know if this helped.
Regards,
Katrin
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Katrin,
thanks for your reply. Then, what do you mean with "Now assign the Interfaceview to the MainWindow of the Standard Component (all in Runtime Repository)". This seems like an view navigation. My requirements are to navigate to my Z component from ICCMP_ERP_ORDER, "freezing" objects of ICCMP_ERP_ORDER correctly in order to get back to it.
In the meantime I tried to create, in customizing, a work center for my component, rather than a link, and try to display it in the navigation bar: my component displays correctly, I can navigate to it, and the back functionality works smooth (I can see in the back dropdown button also the entry for ICCMP_ERP_ORDER). But if I navigate my code I don't have any entry in the back dropdown, and objects in context of erp sales order get dirty. Any idea?
Thanks!! Cheers
Luca
I guess you could call this an 'in view navigation'.
My requirement was to display additional attributes to a certain object via one click actions. With the navigation I described above, I opened my own component, whose context nodes were bound to the context nodes of the SAP Standard component. I then implemented a back button (the one with the green "checked" Icon) to navigate back to the Standard Component and because of the context node binding, all the data that was there previously was still there...
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.