Internationalization in UI5 – using i18n properties files – is the way to translate text into other languages. In this blog post I will share you the way, how to use i18n text with parameters in XML Views.
During the work on some Freestyle UI5 Apps I always look for a way how to save constants in Frontend. I would like to share following practice with you, which I use currently.
Define JSON File with Constants
I am going to create a new File in my project root folder. In this file all constant and values will be stored as a JSON Object.
/webapp/model/constants.json
Constants JSON file example
JavaScript
1
2
3
4
5
6
{
"ConstantString":"Hello World",
"ConstantInt":123
}
Define JSON Model in manifest.json file
I my project manifest.json, I am going to define a new JSON Model with created JSON file in URI
Manifest.json file example
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
"models":{
"i18n":{
...
},
"constants":{
"type":"sap.ui.model.json.JSONModel",
"uri":"model/constants.json"
},
"":{
...
}
}
Using Constants in View
From now on it is possible to use the constant model in View:
Constants JSON file example
XHTML
1
2
3
4
5
6
7
...
<Page id="page"title="Cadaxo UI5 Snippets #1">
<content>
<Text text="{constants>/ConstantString}" />
</content>
</Page>
...
Using Constants in Controller
And of course also in Controllers. For example like this:
und wie das SQL Cockpit uns das Leben vereinfachen kann
Wer kennt das nicht. Die Systeme sind aufgesetzt und eingestellt, die Erweiterungen programmiert und die Schnittstellen laufen. Die Tests waren erfolgreich und das SAP System wurde produktiv gesetzt. Dennoch kommen immer wieder Supportanfragen herein.
Das kann natürlich verschiedenste Gründe haben. Nehmen wir mal an, dass die Entwicklungen sehr sauber waren, das System gründlich getestet wurde und wenig es kaum neue Anforderungen gibt, die umgesetzt werden, gibt. Unrealistisch? Wahrscheinlich! Aber das es in einem agilen Umfeld mit laufenden Erweiterungen an den Systemen zu Fehlern kommt, ist irgendwie nachvollziehbar. Da ist ja immer alles in Bewegung.
Aber was sind die häufigsten Gründe für Fehlertickets abseits vom typischen Projektgeschäft? Mir fallen da spontan 2 Gründe ein.
Verständnisfragen. Gerade, wenn User Transaktionen selten aufrufen, kann es zu Fragen wie „Was muss ich hier eingeben? Warum bekomme ich da einen Fehler?“ . Das kann man meist mit guten Schulungsunterlagen in den Griff bekommen.
seltene Datenkonstellationen. Da kommt auf einmal ein Kunde vom Typ X, aus dem Land Y und der VKORG Z daher. Und da funktioniert dann die Partnerfindung im Beleg plötzlich nicht. Der Grund kann sein, dass diese seltene Kombination beim Test nie abgefragt wurde. Solche Datenkonstellationen können entweder durch Benutzer eingegeben worden sein, aber auch durch Programme verursacht worden sein (zB durch eine Migration oder Schnittstelle)
Wie löst man nun diese Fälle von Datenproblemen?
Im ersten Schritt schaut man sich wohl den Beleg, die Stammdaten des Partners und dann vielleicht auch das Customizing an. Über die regulären Transaktionen im SAP System. Wann man dann gleich draufkommt, super! Fall gelöst.
Aber meistens kommt man da nicht weiter. Vor allem im Second und Third Level Support ist man eher im Programm Code und auf der Datenbank unterwegs um Fehler zu finden und auch um abzuprüfen, ob es auch mehrere ähnlich gelagerte Fälle gibt. Und genau da lässt einen das SAP System meist ordentlich im Stich.
Der übliche Weg führt einen dann in die SE16 (wer den Transaktionscode nicht kennt: da geht es zur Einzeltabellenansicht). Dort sucht man dann nach dem entsprechenden Datensatz und hantelt sich dann langsam von Tabelle zu Tabelle. Mit dem Umweg über das Notepad oder Excel, in dem man die Daten copy&paste zwischen lagert. Das ist mühsam und aufwendig. Aber noch schlimmer: ich muss beim nächsten Mal die gleichen Schritte nochmal machen. Und ganz ehrlich, bei SAP geht es um Daten. Daten, die in einer Datenbank abgelegt sind. Und seit Anbeginn (das sind auf R/2 bezogen 42 und auf R/3 gerechnet 30 Jahre) gibt es keine vernünftige Lösung, damit diese Daten schnell, flexibel und vA auch sicher durchforstet werden können.
Ein klassisches Beispiel sind wohl Inkonsistenzen bei Adressen. Wohl auch, weil die meisten SAP Berater und Kollegen den Teil der SAP Welt auch gut kennen. Geschäftspartner werden fast überall verwendet. Um Adressen zu Geschäftspartnern zu analysieren muss man zuerst vom BP Stamm (BUT000) über den Adresslink (BUT020) zu den Adressen (ADRC) springen.
Also Tabelle – Excel – Selektionsschirm – Tabelle – Excel – Selektionsschirm – Tabelle. Schon ist man am Ziel. Aber dann kommt man drauf, dass es um Personen geht und dort auch das Feld PERSNR mitspielt. Also wieder alles von vorne…
Und jetzt kommt das SQL Cockpit ins Spiel. Hier kann ich mir die Tabellen alle gleichzeitig anschauen und verknüpfen. Da sehe ich das Problem dann auch einen Blick. Und was noch besser ist, einmal ausgeführt, bleibt die Abfrage in meiner Historie bestehen und ich kann sie jederzeit wieder ausführen. Beim ersten Problem bin ich mit dem SQL Cockpit vielleicht nur geringfügig schneller als „von Hand“, aber beim zweiten Mal spar ich schon 90% der Zeit. Und wenn es dann doch öfters auftritt, dann speichere ich diese Abfragen zusätzlich ab und stelle sie sogar meinen Kollegen zur Verfügung.
Am nächsten Tag einfach das Statement von gestern genommen:
und irgendwann nach dem 3,4 Mal (ok, bei mir wahrscheinlich nach dem 20. Mal – ich bewundere die Kollegen die so strukturiert sind) wird das ganze abgespeichert damit es auch die Kollegen nutzen können:
Ich nutze das SQL Cockpit seit 10 Jahren bei meinen Kunden. Und es ist aus meiner täglichen Arbeit nicht mehr weg zu denken. Manche Kunden nutzen es noch nicht, da muss ich dann auch immer über die SE16 arbeiten 🙁
Zählt doch mal, wie oft ihr täglich die SE16 nutzt. Wenn ihr in eurem Unternehmen auf weniger als 10 Abfragen pro Tag kommt (wohlgemerkt im gesamten Unternehmen, nicht pro User!), dann ist das SQL Cockpit für euch wahrscheinlich nicht geeignet. Sobald ihr mehr Abfragen macht, dann wird es sehr nützlich sein!.
Unsere Berater sind seit vielen vielen Jahren erfolgreich für unsere Kunden im Einsatz. Wir haben schon die unterschiedlichsten Technologien und SAP Anwendungen kommen und auch wieder gehen sehen.
Unser Vorteil ist, das wir uns nie auf einzelne Module oder Bereiche beschränkt haben. Unser Ziel war es immer die Prozesse End2End beraten und implementieren zu können. Das klassische „Das macht der Kollege vom Modul XY“ ist und fremd.
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept All”, you consent to the use of ALL the cookies. However, you may visit "Cookie Settings" to provide a controlled consent.
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
Cookie
Dauer
Beschreibung
cookielawinfo-checkbox-analytics
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional
11 months
The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy
11 months
The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.