三種動態控制SAP CRM WebClient UI assignment block顯示與否的方法

i042416發表於2020-08-06

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.

三種動態控制SAP CRM WebClient UI assignment block顯示與否的方法

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.

三種動態控制SAP CRM WebClient UI assignment block顯示與否的方法

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.

三種動態控制SAP CRM WebClient UI assignment block顯示與否的方法

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.

三種動態控制SAP CRM WebClient UI assignment block顯示與否的方法

Implement DO_CONFIG_DETERMINATION:

三種動態控制SAP CRM WebClient UI assignment block顯示與否的方法

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.

三種動態控制SAP CRM WebClient UI assignment block顯示與否的方法

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

三種動態控制SAP CRM WebClient UI assignment block顯示與否的方法

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

三種動態控制SAP CRM WebClient UI assignment block顯示與否的方法

then find the business function status in SFW5:

三種動態控制SAP CRM WebClient UI assignment block顯示與否的方法

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

要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":

三種動態控制SAP CRM WebClient UI assignment block顯示與否的方法


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2709636/,如需轉載,請註明出處,否則將追究法律責任。

相關文章