Hi,
A > ----------- Define Generic Outbound Plug Mappings is basically used for dynamic navigation using a Navigation descriptor which is the best way to navigate when it comes to cross comp nav.
If you are want to know specific to navigation descriptor object.
1. First thing need to do to expose the component2(main window) visible outside the component.
Go to runtime repository editor of ZCOMP2.
Edit mode
Right click on ComponentInterface ->
Add Interface View -> Window that should be visible outside.
2. To navigate to Component2 from Component1 , we need to do customizing in spro.
In SPRO go to:
Customer Relationship Management->UI Framework->Technical Role Definition->Define Work Area Component Repository which basically to create a new Target id.
Make a new entry:
Component Name: ZCOMP2
Window Name: ZCOMP2/MainWindow
Define Inbound-Plug:
Target ID ZCOMP2
Inbound Plug DEFAULT
Object Type ZCOMP2 (optional)
Object Action: Display(for example)
3. After that go to your called outbound plug (called by the action) whether it can be display , create or edit.
data: lr_window type ref to cl_bsp_wd_window,
lr_descriptor type ref to if_bol_bo_property_access,
lr_nav_srv type ref to if_crm_ui_navigation_service.
*Create descriptor
call method cl_crm_ui_descriptor_obj_srv=>create_ui_object_based
exporting
iv_ui_object_type = 'ZCOMP2'
iv_ui_object_action = 'B'
iv_component = 'ZCOMP2'
receiving
rr_result = lr_descriptor.
*if navigation is supported add descriptor object to the collection
lr_nav_srv = cl_crm_ui_navigation_service=>get_instance( me ).
if lr_nav_srv->is_dynamic_nav_supported( ir_descriptor_object = lr_descriptor ) eq abap_true.
iv_data_collection->insert( iv_bo = lr_descriptor iv_index = 1 ).
else.
return.
endif.
lr_nav_srv->navigate_dynamically( iv_data_collection ).
lr_window = me->view_manager->get_window_controller( ).
lr_window->call_outbound_plug( iv_outbound_plug = 'DEFAULT' iv_data_collection=iv_data_collection ).
*****************************************************************************************************
Standard Outbound Mapping you can check in spro navigation bar profile generic outbound mappings where you can customize and and maintain targets specific to your requirement.
Customer Relationship Management->Technical Role Definition->Define Navigation Bar Profile->
Select Profile and go to Define Generic Outbound Plug Mappings
here you can define your own navigation
Object_type
Object Action
TargetID etc.
and then use the above code for calling navigation descriptor object.
B >-------------------- Override Generic OP Mappings Per Component - you can check my below discussion
This is basically used to override the standard navigation which is defined in Outbound Plug Mappings and navigate to the page Override mapping defined in configuration which is per component
which basically requires Component Name
Object Type , Action , And Target ID ....
Navigation using a descriptor object
Let me know still u have any doubts.....
Regards,
Sumeet