У меня есть два приложения:
- hrportalcore: основное приложение с BaseController, ...
- hrportalrequestleave: пример приложения, расширенного из приложения hrportalcore.
У hrportalcore есть пространство имен de.example.core, а также поддерживаются источники данных. (sap.app.dataSources
в файле manifest.json). Источник данных:
[...]
"HRPOJavaLeave": {
"uri": "<path>",
"type": "OData",
"settings": {
"annotations": [],
"odataVersion": "2.0",
"localUri": ""
}
}
[...]
Источники данных можно без проблем использовать в расширенном приложении, но консоль выдает следующие ошибки:
Пишет, что источник данных содержит ошибки, но его можно использовать (странно?).
Другое дело, что файл Component-preload.js один раз загружается не с того места. Приложение работает без проблем, но оно, как говорится, один раз загружается не с того места?
Мой manifest.json hrportalrequestleave выглядит в части расширения (sap.ui5.extends
):
[...]
"extends": {
"component": "de.example.core",
"extensions": {}
},
[...]
Родитель правильно определен в neo-app.json как /parent
для показа hrportalcore.
jQuery.sap.declare("de.example.request.leave.Component");
// use the load function for getting the optimized preload file if present
if (!jQuery.sap.isDeclared("de.example.core.Component")) {
sap.ui.component.load({
name: "de.example.core",
// Use the below URL to run the extended application when SAP-delivered application is deployed on cloud
url: jQuery.sap.getModulePath("de.example.request.leave") + "/parent"
// we use a URL relative to our own component
// extension application is deployed with customer namespace
});
}
this.de.example.core.Component.extend("de.example.request.leave.Component", {
metadata: {
manifest: "json"
}
});
Все это происходит на панели запуска Fiori облачной платформы HANA