三种动态控制SAP CRM WebClient UI assignment block显示与否的方法

时间:2022-07-22
本文章向大家介绍三种动态控制SAP CRM WebClient UI assignment block显示与否的方法,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Hi Friends, It is a common requirement that a certain assignment block in overview page should only be displayed under some condition, for example under control of a business switch.

Here are three ways which could control the visibility of one assignment block via code.

Approach1: dynamical view detachment

refine method DETACH_STATIC_OVW_VIEWS of the controller class of your overview page. All views put into internal table rt_viewid will be hidden by UI framework in the runtime. The code below just means you can evaluate some condition in line 3, and if the condition is met, the assignment block SearchResult will be hidden.

Approach2: dynamic UI configuration load

Create a new configuration within which only Search view is displayed. The configuration is bound to a certain UI object type.

Now we have two UI configurations. The standard configuration will display two assignment blocks by default, the configuration with UI object type = CRM_SMC will only display Search view.

Implement DO_CONFIG_DETERMINATION:

method DO_CONFIG_DETERMINATION.
  " IF search result view should be hidden
     me->set_config_keys( iv_object_type          = 'CRM_SMC'
                          iv_propagate_2_children = abap_false ).
  " ENDIF
  endmethod.​

Approach3: Control the visibility via business switch

This is a most elegant way, however it could only be used if you would like to control the visibility of your view via a business switch. When you are assigning your assignment view to the view area of Overview page in runtime repository, a business switch can be assigned as displayed in the picture below. If the switch is turned off, the related view will be automatically hidden by UI Framework.

After you have assigned a view to the view area of overview page, the switch ID is displayed after view name.

You could first find the related business function for switch CRM_SOC_SFWS_SMI_2 via tcode SFW1,

then find the business function status in SFW5:

If the business function is deactivated, the assignment block will also be hidden automatically.