Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
JerryWang
Advisor
Advisor
Requirement: hide the highlighted field in CRM Fiori Application "My Opportunity", account block, as highlighted below:



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:



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.


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.



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