Dear SAP Community Member,
In order to fully benefit from what the SAP Community has to offer, please register at:
Thank you,
The SAP Community team.
Skip to end of metadata
Go to start of metadata

Link: Add the following paper under

Summary: This paper illustrates how to dynamically navigate to "create activity" of transaction type '0010', using the class CL_CRM_UI_DESCRIPTOR_OBJ_SRV  and the method CREATE_UI_OBJECT_BASED.

About Author: I have been working in SAP CRM for past 6 years. I am currently working for IBM India Pvt. Ltd. My Key skills are BSP, CRM technical and WEB ui.

Create a component. Create a view without any Model and value nodes.

Attach the view to the window.

Create an inbound plug for the window.

Create an interface.

Attach the window and inbound plug to the interface.

Create target links and logical links.

Add the following code in the view layout

 Once you have added the link in the navigation profile of your business role.

You will get the following output.

After this is done , create an event handler of the name "create".

 Add the following code in the "create" event handler.

As you can see in the code below, we are using the class CL_CRM_UI_DESCRIPTOR_OBJ_SRV and method CREATE_UI_OBJECT_BASED.

We are passing the following parameters.


and OBJECT_ACTION = 'D'   ********* 'D' is for create.

Also we are creating a value node, to pass the value of the transaction type.
In our example the transaction type is '0010' 

We add the 2 entities

1) The dynamic navigation entity and

2) The value node entity to the navigation object.

Our Navigation profile needs to have the generic mapping entry shown in red.

At runtime webui picks the target id TBT110APPC and calls the inbound plug related to this target link.

Once you click on the button create now, it navigates to the Activity Creation Screen.

Following is the code witten in the event handler create.


  DATA: lr_nav_descr   TYPE REF TO if_bol_bo_property_access.
  DATA: lr_navigation  TYPE REF TO if_crm_ui_navigation_service.
  DATA: lr_col         TYPE REF TO cl_crm_bol_bo_col.
  DATA: lr_value_node  TYPE REF TO cl_bsp_wd_value_node.
  DATA: lr_data        TYPE REF TO data.

  FIELD-SYMBOLS <ref> TYPE crmst_order_create_btil.
  CREATE DATA lr_data TYPE crmst_order_create_btil.
  ASSIGN lr_data->* TO <ref>.
  <ref>-process_type = '0010'.

  CREATE OBJECT lr_value_node
      iv_data_ref = lr_data.

  CALL METHOD lr_value_node->if_bol_bo_property_access~set_property
      iv_attr_name = 'PROCESS_TYPE'
      iv_value     = <ref>-process_type.

    EXPORTING iv_ui_object_type   = 'BT126_APPT'
              iv_ui_object_action = 'D'
    RECEIVING rr_result           = lr_nav_descr ).
  CHECK lr_nav_descr IS BOUND.
  lr_navigation = cl_crm_ui_navigation_service=>get_instance( ).
  CHECK lr_navigation IS BOUND.
* Check whether navigation is supported
  IF lr_navigation->is_dynamic_nav_supported( lr_nav_descr ) NE abap_true.
    CREATE OBJECT lr_col.
    lr_col->if_bol_bo_col~add( iv_entity = lr_nav_descr ).
    lr_col->if_bol_bo_col~add( iv_entity = lr_value_node ).
    lr_navigation->navigate_dynamically( lr_col ).


  • No labels