Home
/
CRM - Navigating to your custom BSP component
/
SAP CRM
/
sap crm tutorial
/
SAP CRM tutorials
/
CRM - Navigating to your custom BSP component
CRM - Navigating to your custom BSP component
Summary
You have created a custom BSP component. Now you would like to enable dynamic navigation to your component via links or other ways. This wiki will show you how...
Author(s):
Arun prakash Karuppanan
Company: Accenture Created on: 18 March 2010 Author(s) Bio Arun Prakash is a senior programmer with Accenture, working on CRM implementations.
Navigation to components in CRM WEB UI can be entity based or BOR based or UI object based. You may have a
custom BSP component and might want to enable navigation to this component. Obviously, BOR based and entity based navigations are out of question. And we are not speaking about navigation links. This is more dynamic that doesn't require messing with the run time repository. You should first "expose" your component. For this follow step 1 from the wiki Add custom BSP component as a link in a Work center. Search for this wiki if the link becomes invalid. We can now proceed. Step1 - Create a custom UI object
Go to the IMG node "Define UI Object Types" as shown below
Add a new entry as shown below. Now, you have created a new UI object "ZCUSTUIOBJ" Step 2 - Maintain entry in Component repository
Go to the IMG node "Define Work Area Component Repository" as shown below
Maintain a new entry for your custom BSP component.
Specify an inbound plug for the new entry. Put the newly create UI object here and choose appropriate actions.
Step 3 - Enabling navigation for selected profiles
Go to the IMG node "Define Navigation bar Profile" as shown below
Select the desired business profile and click on "Define Generic OP mapping" Maintain a new entry taking care to use the same object actions. Step 4 - Coding part
You have to use this coding snippet in your event handlers or outbound plugs. If your window is not at the top level, you may have to delegate its outbound plug to a parent window plug and make necessary adjustments.
DATA: lv_descriptor_object TYPE REF TO if_bol_bo_property_access, lr_navigation TYPE REF TO if_crm_ui_navigation_service, lr_data_collection TYPE REF TO if_bol_bo_col, lr_window type ref to cl_bsp_wd_window. lr_navigation = cl_crm_ui_navigation_service=>get_instance( ). CALL METHOD CL_CRM_UI_DESCRIPTOR_OBJ_SRV=>CREATE_UI_OBJECT_BASED EXPORTING IV_UI_OBJECT_TYPE = 'ZCUSTUIOBJ' IV_UI_OBJECT_ACTION = 'B' IV_COMPONENT = 'ZMULTI_CU_DEMO' RECEIVING RR_RESULT = lv_descriptor_object. IF lv_descriptor_object IS BOUND AND lr_navigation->is_dynamic_nav_supported( lv_descriptor_object ) = abap_true. create object lr_data_collection type cl_crm_bol_bo_col. *Use lr_data_collection to pass data to the called component, prepare it as per your need *It will be collected by the inbound plug of the called component's window lr_window ?= me->view_manager->get_window_controller( ). lr_window->call_outbound_plug( iv_outbound_plug = 'DOCFLOW' iv_data_collection = lr_data_collection ). ENDIF. |
Post a Comment