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的按钮渲染逻辑
SAP Fiori里Contact Support的按钮渲染逻辑

Group one: no “Contact Support” button

SAP Fiori里Contact Support的按钮渲染逻辑
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.

要获取更多Jerry的原创文章,请关注公众号"汪子熙":
SAP Fiori里Contact Support的按钮渲染逻辑