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.
Showing results for 
Search instead for 
Did you mean: 
0 Kudos

In CRM Fiori there is a full screen application named My Task.

Note: This "full screen" has nothing to do with F11 in your browser.

My colleague today asked me one question: what is the usage of this attribute "fullScreenPageRoutes"?

If google this attribute as keyword, there are not so many useful result returned. How to do self study on this attribute via debugging?

Open Development tool and perform global search via Ctrl+Shift+F, click line 156 and set a breakpoint there. Refresh the application.

Debugger is triggered. We can find that the route information we set in Configuration.js are loaded and stored in variable oAppMeta accordingly.

Where does this oAppMeta come from? Click the blue callstack frame. Here a metadata instance is created with type "FS" ( fullscreen ), and the whole configuration data wrapped by { } is passed into function createMetaData as second argument, that is, oAppMeta within createMetaData function. 

Since the application has type "FS", so oMeta.routing is hard coded as below in ComponentBase-dbg.js. The routing object has attribute "routes" which is again an object which has another object attribute "fullScreen".

Then later when UI Component is being initialized, the merged route information is stored in private attribute _oRouter of application UI component in line 218.

The view marked with blue "" will be used in _routeMatched:

This is the reason why you can observe the load of corresponding xml file in Chrome network tab:

Since when I launch this Fiori application locally in my Tomcat with url: http://localhost:8090/cus.crm.mytasks/, no hash is appended after url, so route configuration with target view S2 is chosen:

The view hierarchy could be found below:

And if I change the attribute name deliberately, I can only see a blank screen:

Compare the new view hierarchy this time:

The reason is quite simple if we understand previous analysis. This time the route data provided by application fails to be merged, since line 261 expects attribute fullScreenPageroutes but I only have "fullScreenPageroutesAAAAA".

In console you can see warning message which complains application didn't provide any page to display.

Application descriptor

There is now new approach to define application specific configuration via descriptor file manifest.json. For details please refer to SAPUI5 walkthrough step10: Descriptor for applications.