使用擴充套件技術將SAP Fiori應用隱藏動態建立的UI欄位

i042416發表於2020-09-10

Requirement: hide the highlighted field in CRM Fiori Application “My Opportunity”, account block, as highlighted below:


使用擴充套件技術將SAP Fiori應用隱藏動態建立的UI欄位


The approach introduced in this  document will not work, since the ui element to be hidden in this example is not statically defined in xml view, but dynamically created by JavaScript in controller code:


使用擴充套件技術將SAP Fiori應用隱藏動態建立的UI欄位


For the detail steps how we can figure this out, please refer to approach introduced in document  How to find UI element binding path which is not statically defined in XML view.

Due to the fact of field dynamic creation, in the runtime, when the viewModification declaration in our extension component is executed, the controller of ui detail view is not instantiated yet, thus all the UI elements are not available at this time.


使用擴充套件技術將SAP Fiori應用隱藏動態建立的UI欄位


Instead, we have to find a proper position where the code extension is possible, and the instance of the UI element which we want to hide is available and accessible.

By going through all available extension hook in controller source code ( naming convention extHook… ), it is identified that the hook extHookGetDataForDetailScreen could be used. This hook will be called once the batch odata request to retrieve data for detail view display is returned from CRM backend.

The idea of hook implementation is get the to-be-hide UI element instance and call its method setVisible to hide it. This hook is done in your extension controller.


使用擴充套件技術將SAP Fiori應用隱藏動態建立的UI欄位


The whole source code of this extension project could be found in github:  github.com/i042416/test


使用擴充套件技術將SAP Fiori應用隱藏動態建立的UI欄位


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

使用擴充套件技術將SAP Fiori應用隱藏動態建立的UI欄位


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

相關文章