SAPUI5 Getting Started (SAP HANA): Unterschied zwischen den Versionen
Matt (Diskussion | Beiträge) |
Matt (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 32: | Zeile 32: | ||
# https://github.com/mattxdev/opensap-hana7/blob/master/web/resources/index.html | # https://github.com/mattxdev/opensap-hana7/blob/master/web/resources/index.html | ||
== SAPUI5 App Structure == | == SAPUI5 App Structure == | ||
Zeile 131: | Zeile 98: | ||
|} | |} | ||
== Text Bundles == | |||
Text bundles are best located in a subfolder of: | |||
/web/resources/ | |||
Contents: | |||
{| class="wikitable" | |||
! Relative Path !! File !! Function | |||
|- | |||
| ./i18n/ || messagebundle.properties || Default language message bundle | |||
|- | |||
| ./i18n/ || messagebundle_de.properties || Language DE message bundle | |||
|} | |||
Add code: | |||
<syntaxhighlight lang=JavaScript> | |||
/* Language Resource Loader */ | |||
jQuery.sap.require("jquery.sap.resources"); | |||
var sLocale = sap.ui.getCore().getConfiguration().getLanguage(); | |||
var oBundle = jQuery.sap.resources({url: "./i18n/messagebundle.properties", locale: sLocale}); | |||
// create the button instance | |||
var myButton = new sap.m.Button("btn"); | |||
// set properties, e.g. the text (there is also a shorter way of setting several properties) | |||
// myButton.setText("Hello World!"); | |||
myButton.setText(oBundle.getText("helloworld")); | |||
</syntaxhighlight> | |||
Listing: https://github.com/mattxdev/opensap-hana7/blob/master/web/resources/index.html | |||
Version vom 25. November 2020, 10:44 Uhr
This page contains basic knowledge on how to start with SAPUI5 development on SAP HANA development stack and also how the SAPUI5 application looks like.
SAPUI5 Micro Service
SAPUI5 libraries can be used from the public SAPUI5 libraries.
Since SAP HANA 2.0 SPS 03 XS Advanced is capable of providing a micro service itself for local consumption.
A local micro service can be created either in XS Advanced Cockpit at
- HANAExpress -> development space -> Services -> Service Marketplace -> sapui5_sb
or via command line with:
xs create-service sapui5_sb sapui5-1.52 openSAPHANA_00-ui5
The service has to be added in:
Path | File | Function |
---|---|---|
/ | mta.yaml | Create new resource and add it to modules |
/web/ | xs-app.json | Use replace capability of app router to insert UI5 service URL dynamically |
/web/ | index.html | Fetch bootstrap from resource by utilizing variable |
Listings:
- https://github.com/mattxdev/opensap-hana7/blob/master/mta.yaml
- https://github.com/mattxdev/opensap-hana7/blob/master/web/xs-app.json
- https://github.com/mattxdev/opensap-hana7/blob/master/web/resources/index.html
SAPUI5 App Structure
We create an app odataView. All of its files will be located inside
/web/resources/odataView/
Content:
Relative Path | File | Function |
---|---|---|
./ | index.html |
|
./ | Component.js |
|
./ | manifest.json |
Specifies:
|
./i18n/ | i18n_en.properties |
|
./view/ | App.view.xml |
Contains:
|
./view/ | MRead.fragment.xml |
Contains:
|
./view/ | MTableHead.fragment.xml |
|
./view/ | MTableItem.fragment.xml |
|
./controller/ | App.controller.js |
Contains methods:
|
./controller/ | Base.controller.js |
Base controllers can contain functions and share them to multiple app controllers. |
./model/ | formatter.js, grouper.js, GroupSortState.js, models.js |
Model subdirectory contains reusable functions like formatters |
Text Bundles
Text bundles are best located in a subfolder of:
/web/resources/
Contents:
Relative Path | File | Function |
---|---|---|
./i18n/ | messagebundle.properties | Default language message bundle |
./i18n/ | messagebundle_de.properties | Language DE message bundle |
Add code:
/* Language Resource Loader */
jQuery.sap.require("jquery.sap.resources");
var sLocale = sap.ui.getCore().getConfiguration().getLanguage();
var oBundle = jQuery.sap.resources({url: "./i18n/messagebundle.properties", locale: sLocale});
// create the button instance
var myButton = new sap.m.Button("btn");
// set properties, e.g. the text (there is also a shorter way of setting several properties)
// myButton.setText("Hello World!");
myButton.setText(oBundle.getText("helloworld"));
Listing: https://github.com/mattxdev/opensap-hana7/blob/master/web/resources/index.html