Hi, Using Navigation Descriptor object. a) Get instance of the BOL core and Activity root object. lr_core = cl_crm_bol_core=>get_instance( ). lr_activity = lr_core->get_root_entity( iv_object_name = 'BTOrder' iv_object_guid = lv_activity_guid ). CHECK lr_activity IS BOUND. Assumption:- Activity GUID has been fetched in variable “lv_activity_guid” b) Create an object for navigation. CREATE OBJECT lr_coll_for_navigate TYPE cl_crm_bol_bo_col. c) Add the Activity entity to the navigation collection. lr_coll_for_navigate->add( iv_entity = lr_activity iv_set_focus = abap_true ). d) Get Activity object type. lv_object_type = cl_crm_uiu_ibase_tool=>get_bt_ui_object_type( lr_activity ). Assumption:- The BOL entity for Activity has already been fetched in variable “lr_activity” e) Create the navigation descriptor. cl_crm_ui_descriptor_obj_srv=>create_ui_object_based( EXPORTING iv_ui_object_type = lv_object_type iv_ui_object_action = lc_action RECEIVING rr_result = lr_nav_descr ). CHECK lr_nav_descr IS NOT INITIAL. f) Insert the navigation descriptor in navigation collection at position 1. lr_coll_for_navigate->insert( iv_bo = lr_nav_descr iv_index = 1 ). g) Register the current page in history so that we can navigate back to it. RAISE EVENT history_trigger . h) Call outbound plug for navigation and pass the navigation collection. op_toactivity( lr_coll_for_navigate ). Regards, Sumeet i) Get instance of the navigation service and navigate to the component dynamically along with collection. DATA: lr_nav_serv TYPE REF TO if_crm_ui_navigation_service. lr_nav_serv = cl_crm_ui_navigation_service=>get_instance( ). lr_nav_serv->navigate_dynamically( iv_data_collection = iv_data_collection ).
↧