cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

sap.ushell.Container.getServices undefined while calling CrossApplicationNavigation

8,751

I am facing issue in calling sap.ushell.Container.getServices("CrossApplicationNavigation") from a SAPUI5 application deployed in BTP Cloud Foundry and accessed through SAP BTP Launchpad service.

I understand, as it is being called from Fiori launchpad, all modules within sap.ushell library should work.

Error coming in Console is below

Current sap.ushell content is -

Expected sap.ushell content is -

Index.html -

<code><html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv='Content-Type' content='text/html;charset=UTF-8'>
<meta http-equiv="X-Xss-Protection" content="1; mode=block">
<meta http-equiv="X-Content-Type-Options" content="nosniff">
    
<title>OpenText Vendor Invoice Management</title>
<script src="https://ui5.sap.com/1.84.18/resources/sap-ui-core.js" 
    id="sap-ui-bootstrap" 
   data-sap-ui-frameOptions="allow"
    data-sap-ui-resourceroots='{"otbcwui": "./otbcwui/"}'
    data-sap-ui-xx-bindingSyntax="complex"
            data-sap-ui-compatVersion="edge"
            data-sap-ui-oninit="module:sap/ui/core/ComponentSupport"
            data-sap-ui-async="true"
            data-sap-ui-preload="async"         
    data-sap-ui-libs="sap.m, sap.ushell, sap.f, sap.ui.commons, sap.suite.ui.commons, sap.f,  sap.ui.export"
    data-sap-ui-theme="sap_fiori_3">
    
</script>

<script>
    sap.ui.getCore().attachInitEvent(function() {
        jQuery.sap.registerModulePath("ot.approve.requests03", ".");
        var oComp = sap.ui.getCore().createComponent({
            name: "ot.approve.requests03",
            id: "OtBcComp",
            height: "100%"
        });
        var oComponentContainer = new sap.ui.core.ComponentContainer({
            component: oComp
        });
        oComponentContainer.placeAt("content");
    });
</script>

</head>
<body class="sapUiBody" role="application">
    <div id="content"></div>
</body>
</html>

Manifest.json - dependency also declared

    "sap.ui5": {
        "dependencies": {
            "minUI5Version": "1.52.0",
            "libs": {
                "sap.ui.core": {},
                "sap.m": {},
                "sap.ui.layout": {},
                "sap.ushell": {},
                "sap.collaboration": {},
                "sap.ui.comp": {},
                "sap.uxap": {}
            }
        },
         "services": {
			"ShellUIService": {
				"factoryName": "sap.ushell.ui5service.ShellUIService"
			}
		},
   },
"sap.platform.cf": {
	   "ui5VersionNumber": "1.84.18"
    }
}<br>
View Entire Topic
0 Likes

Hi anubhpan,

I think you are running application directly from SAP BTP HTML5 Application list, it does not contain sap.ushell.Container.

Create Launchpad service, Catalog and Group then assign the application then try. it will work.

Thank you

0 Likes

Hi Sathriyan,

Thanks for response. I am using tile in BTP Launchpad service which is pointing to UI component index.html file.

Regards,

Anubha