Kategorien
SAP Schulung

UI5: Attribute PL/pgSQL vs JScript

Da scheiden sich die Geister: Datenaggregation und das setzen der Properties eines UI5 Elements nach oder mit der SQL Abfrage? Eine Frage der Sicherheit und des Komforts. Beispiel unsere KPI Seite https://halsec.de

Die Daten für die Kurs Kacheln habe ich aus Basis von PL/pgSQL als Funktion realisiert. Postgresql übernimmt die Selektion der Daten und die Findung der Properties.

Der JSON Datensatz beinhaltet so alle nötigen Daten zur Darstellung der Kurs Kachel im UI5. So gestaltet sich das JavaScript im UI5 sehr einfach:

(Controller)
var anzeige1 = new sap.ui.model.json.JSONModel();
anzeige1.loadData(„https://halsec.de/fetch/ui5_eins.php?wo=USD“);
this.byId(„gt2“).setModel(anzeige1, „rates„);

(View)

<GenericTile id="gt2" class="sapUiTinyMarginBegin sapUiTinyMarginTop tileLayout" header="€ / US-Dollar" subheader="EZB Tagekurs" press="kltabelle2()">
<TileContent id="tc2" unit="USD 20d AVG" footer="">
<NumericContent id="nc1" value="{rates>/v_rate}" scale="Eu" valueColor="{rates>/v_stat}" indicator="{rates>/v_indi}" withMargin="false" />
</TileContent></GenericTile>

Die Kacheln, die die Temperatur anzeigen, sind JavaScript generiert. Der JSON Datensatz liefert eine Datenmenge, die innerhalb UI5 bewertet wird.

Das pro cedere im JavaScript stellt sich wie folgt dar:

(Controller)
var ui5ang2 = {anzeige: [{indi:“None“, status:“Neutral“}]};
oModel3.loadData(„https://halsec.de/fetch/tempBRI.php“);
anzeige5.setData(ui5ang2);

oModel3.attachRequestCompleted(function() {
var a = oModel3.getProperty(„/0/temo“);
var b = oModel3.getProperty(„/2/temo“);
a = parseInt(a);
b = parseInt(b);
if (a > b) {
anzeige5.setProperty(„/anzeige/0/indi“ , „Up“);
};
if(a < b) { anzeige5.setProperty(„/anzeige/0/indi“ , „Down“); }; if(a > 25 || a <= 0) { anzeige5.setProperty(„/anzeige/0/status“ , „Error“); }; if(a > 5 && a < 10) { anzeige5.setProperty(„/anzeige/0/status“ , „Critical“); }; if(a >= 10 && a <= 25) {
anzeige5.setProperty(„/anzeige/0/status“ , „Good“);
};
});

(View)

<GenericTile id="21" class="sapUiTinyMarginBegin sapUiTinyMarginTop tileLayout" header="Brilon" subheader="{bri>/0/abfrage}" press="kltabelle1()"> <TileContent id="tc21" unit="Temperatur" footer="DWD"> <NumericContent id="nc21" scale="C" value="{bri>/0/temo}" icon="sap-icon://temperature" valueColor="{brianzeige>/anzeige/0/status}" indicator="{brianzeige>/ </TileContent> </GenericTile>"
Kategorien
Randnotiz Schulung

CLI: mySQL pgsql Spickzettel

Zur Zeit arbeiten wir im Team an der Programmierung mit zwei unterschiedlichen Datenbank Backend’s: mySQL und Postgres. „Mal eben“ die Struktur einer Tabelle aufrufen, läuft über die Bash CLI unterschiedlich.

[table id=7 /]

Obacht mit Großschreibung im Schema! Ein Schema mit Großschreibung im Suchpfad, wird in Kleinbuchstaben gespeichert. Das Schema ist als String zu maskieren!