天天看點

SAP Fiori裡Contact Support的按鈕渲染邏輯

I was once confused about why I could see “Contact Support” button in error popup window in some system but in some other system it is gone. See the following two groups of screenshot for example:

SAP Fiori裡Contact Support的按鈕渲染邏輯

Group one: no “Contact Support” button

SAP Fiori裡Contact Support的按鈕渲染邏輯

Group two: “Contact Support” button available

This blogs contains my debugging detail to figure out what controls the availability of this button.

When Fiori launchpad is opened there is one http request below which asks for a series of configuration information from backend. Among them there is Contact Support enablement setting.

SAP Fiori裡Contact Support的按鈕渲染邏輯

https://:/sap/bc/ui2/start_up?sap-language=EN&sap-client=001&shellType=FLP&depth=0

The visibility of this button is controlled in the backend. You can create your own BAdI implementation on enhancement spot /UI2/BADI_EMB_SUPP to use your own logic to determine the button display. More detail about this enhancement spot could be found in note 2111116 – Enable own support-message-system for Fiori Embedded Support. You can refer to below screenshot about how the BAdI implementation is called in the runtime.

SAP Fiori裡Contact Support的按鈕渲染邏輯

Then you could observe the response in Chrome. The corresponding field is “isEmbReportingActive“.

SAP Fiori裡Contact Support的按鈕渲染邏輯

Search the source code by specifying it as keyword, then I find the place of code where this flag is evaluated:

SAP Fiori裡Contact Support的按鈕渲染邏輯

In line 2801, the json response is parsed by framework:

SAP Fiori裡Contact Support的按鈕渲染邏輯

Here I find what I am looking for. The “Contact Support” button is enabled only both of the two prerequisites are fulfilled:

SAP Fiori裡Contact Support的按鈕渲染邏輯

(1) the enabled field of sap-ushell-config.services.SupportTicket.config should NOT be false. It is ok to have it as undefined, as example below.

SAP Fiori裡Contact Support的按鈕渲染邏輯

(2) The value of isEmbReportingActive returned by mentioned BAdI implementation must be true.