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:
Group one: no “Contact Support” button
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.
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.
Then you could observe the response in Chrome. The corresponding field is “isEmbReportingActive“.
Search the source code by specifying it as keyword, then I find the place of code where this flag is evaluated:
In line 2801, the json response is parsed by framework:
Here I find what I am looking for. The “Contact Support” button is enabled only both of the two prerequisites are fulfilled:
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.
2. The value of isEmbReportingActive returned by mentioned BAdI implementation must be true.