SAPUI5 ODataV2-Model – Refresh Performance

Einleitung Wer schon einmal eine Applikation in SAPUI5 geschrieben hat und dabei auf einen OData-Service zurückgegriffen hat, wird sicherlich schon einmal über folgendes Problem gestolpert sein: Die Daten der aktuell angezeigten Entität oder des Entitätssets haben sich geändert. Soweit so gut. Nur die Anzeige verändert sich leider nicht. Wenn die Daten sich hinter dem OData-Service„SAPUI5 ODataV2-Model – Refresh Performance“ weiterlesen

OData Services mit CDS Views erstellen, Teil 2

In dem vorherigen Teil der Blog-Serie habe ich über den technologischen Wandel auf der Hardware- und Software-Ebene im SAP-Umfeld erzählt und erläutert, was für einen Einfluss er auf die Entwicklung der OData-Services hat. In diesem Teil möchte ich in die technische Detail gehen und erklären, wie man anhand CDS-Views einen oData-Service erstellt. Die Core Data„OData Services mit CDS Views erstellen, Teil 2“ weiterlesen

OData Services mit CDS-Views erstellen, Teil 1

In diesem Blog werden wir diskutieren, welche fachlichen und technischen Änderungen die CDS-Views beim Erstellen von OData-Services verursacht haben. Seitdem SAP seine neue UI-Technologie SAPUI5 eingeführt hat, ist der Begriff OData ein fester Bestandteil der Anwendungsentwicklung geworden, um die Geschäftsdaten im Web sinnvoll zu modellieren und zu konsumieren. Bisher haben wir die OData-Services in R/3„OData Services mit CDS-Views erstellen, Teil 1“ weiterlesen

REST Services in ABAP

Wer SAPUI5 Apps implementiert kennt OData. OData ist ein Standard für die Implementierung von REST-Services. Dass es auch möglich ist, REST Services in ABAP nativ zu implementieren, ist unserer Erfahrung nach nicht so bekannt. Die Eclipse Plugins der ABAP Development Tools kommunizieren zum Beispiel über REST mit dem SAP ABAP. Du wolltest schon immer wissen,„REST Services in ABAP“ weiterlesen

Electron – Mit UI5 Desktop-Apps entwickeln

Moin Moin, heute will ich mit dir aus einer bestehenden UI5-Anwendung eine Desktop App erstellen. Das machen wir mit Electron. Electron ist ein freies Framework für Dektop Apps, dass von GitHub entwickelt wurde und mittlerweile in vielen modernen Anwendungen zum Einsatz kommt. Electron-Anwendungen können auf Linux, macOS und Windows laufen. [0]: Vorbereitungen Bevor wir loslegen,„Electron – Mit UI5 Desktop-Apps entwickeln“ weiterlesen

OData Model Best Practices

Moin, Moin aus dem UI5 Maschinenraum! Heute möchte ich dir das harte Entwicklerleben etwas erleichtern und ein paar meiner OData Model Best Practices mit dir teilen. Ziel ist es, deine SAPUI5 OData Calls zu stabilisieren und deinen Code durch Standardisierung „cleaner“ zu gestalten. OData Calls Das SAPUI5 Framework bietet dir die Grundfunktionalitäten um Datensätze zu„OData Model Best Practices“ weiterlesen

SAP build – User Storys und Prototypen mit UI5

Hast du schon mal eine User Story in einer PowerPoint Präsentation gesehen und dich gefragt ob das nicht auch anders geht? Warum nicht gleich einen Prototypen entwickeln, der schon mal die groben Züge der Anwendung darstellt. Im Kontext von SAP Fiori Anwendung geht das mit build. Auf build.me kannst du einen Prototypen deiner Applikation per„SAP build – User Storys und Prototypen mit UI5“ weiterlesen

Öffnen einer SAP GUI Transaktion aus einer Fiori

Moin Moin, hier kommt mal wieder ein innovativer Lösungsansatz direkt aus dem SAPUI5-Maschinenraum! Usecase Viele SAP Fioris werden in bestehende Arbeitsprozesse integriert. Das hat zur Konsequenz, dass SAPUI5-Entwickler häufig mit der Anforderung konfrontiert werden, aus ihrer Fiori in eine spezifische Transaktion der klassischen SAP GUI abzuspringen.Das Problem dabei liegt auf der Hand: Wie verlasse ich„Öffnen einer SAP GUI Transaktion aus einer Fiori“ weiterlesen

Fiori Client – Fiori Applikationen auf mobilen Endgeräten

Du hast bereits deine ersten Fiori-Apps programmiert, dein Launchpad konfiguriert und eure Mitarbeiter arbeiten bereits effektiv mit den modernen UI5-Applikationen? Jetzt kommen die ersten Anforderungen, dass die Mitarbeiter eure Fiori-Apps auch gerne über die mobilen Endgeräte aufrufen möchten. Die nahelegende und schnellste Möglichkeit – den Link zur Applikation einfach über die Standardbrowser aufrufen, wie bspw.„Fiori Client – Fiori Applikationen auf mobilen Endgeräten“ weiterlesen

Zugriff von Models aus anderen Views? Einsatz von Singleton-Klassen im SAPUI5-Kontext

Bist du an einem Punkt angekommen, an dem du ein Model oder ein Control benötigst, das sich aber in einer anderen View befinden? Wenn ja, dann bist du hier genau richtig! Denn auch ich bin auf dieses Problem gestoßen und möchte dir zeigen wie ich es gelöst habe.   Mein Ausgangspunkt ist in diesem Beispiel„Zugriff von Models aus anderen Views? Einsatz von Singleton-Klassen im SAPUI5-Kontext“ weiterlesen

10 Kniffe um die Performance deiner Anwendung zu verbessern! – Teil 1

Ist die Performance deiner SAPUI5 Anwendung zu langsam? Diese Frage hat sich bestimmt jeder schon mal gestellt. Zu meist kommt einem aber nicht die Frage als erstes in den Sinn sondern die Antwort. Und meist auch nur dann wenn gilt: Meine Anwendung ist zu langsam! Im Folgenden möchte ich 10 Gründe auflisten, die die Performance„10 Kniffe um die Performance deiner Anwendung zu verbessern! – Teil 1“ weiterlesen

Digitale Unterschrift als Control in SAPUI5

Ausgangssituation In Zeiten der Digitalisierung und dem papierlosen Büro gehören digitale Unterschriften heutzutage zum modernen Unternehmensalltag. Verträge und Dokumente werden bereits an vielen Stellen nicht mehr auf Papier, sondern auf Tablets oder Handys unterzeichnet und direkt digital abgespeichert. So umgeht man unnötig analoge Papierarbeiten und man kann sich um die wichtigen Dinge im Alltag kümmern.„Digitale Unterschrift als Control in SAPUI5“ weiterlesen

Mit XML-Fragments die Übersichtlichkeit deiner Anwendung verbessern

Nach kurzer Sommerpause geht es weiter mit der Expedition durch die SAPUI5 Welt. Heute beschäftigen wir uns mit dem Einsatz von XML-Fragments in den eigenen Anwendungen. Fangen wir an mit einer kurzen Definition: Fragments sind ausgelagerte Code-Schnipsel, die in eigenen Dateien gekapselt werden. Sie beinhalten ausschließlich UI-Elemente, besitzen also keinen eigenen Controller. Die Auslagerung dient„Mit XML-Fragments die Übersichtlichkeit deiner Anwendung verbessern“ weiterlesen

Einführung in die SAP Cloud Platform (Webinar) – innovative Anwendungen entwickeln

Unser Kollege Rüdiger Lühr hat am 20. Juni 2018 ein Webinar mit dem Titel „SAP Cloud Platform – innovative Anwendung entwickeln“ gehalten. In dem Webinar gibt Rüdiger einen exzellenten Überblick darüber, wie die SCP in die eigene Infrastruktur integriert werden kann. Was schafft die SCP für Möglichkeiten? Und welche technischen Skills sind notwendig diese Möglichkeiten„Einführung in die SAP Cloud Platform (Webinar) – innovative Anwendungen entwickeln“ weiterlesen

Testing in SAPUI5 Teil 3 – QUnit Funktionstests

Im zweiten Teil dieser Blogserie habe ich die Bedeutung von OPA5 Tests erläutert und erklärt, wie man diese implementiert und nutzt. Dieser dritte Beitrag soll nun zeigen, wie mit QUnit Funktionstests geschrieben werden können. Womit sollte ich beginnen? Ein Vorteil der QUnit Tests ist, dass diese direkt im Browser ausgeführt werden können und keine zusätzlichen„Testing in SAPUI5 Teil 3 – QUnit Funktionstests“ weiterlesen

Git in der SAP Web IDE – Versionskontrolle leicht gemacht – Teil 2

Quick recap In meinem letzten Blogbeitrag zum Thema Git in der SAP Web IDE habt ihr den Unterschied zwischen zentraler und dezentraler Versionskontrolle kennengelernt und dabei folgendes über Git erfahren: Bei Git handelt es sich um eine dezentrale Versionskontrolle Ein Commit ist als neue Version eines Repositories zu verstehen Ein Branch ist ein Zeiger auf„Git in der SAP Web IDE – Versionskontrolle leicht gemacht – Teil 2“ weiterlesen

Testing in SAPUI5 Teil 2 – OPA5 Tests für Benutzerinteraktionen

Im ersten Teil dieser Blogserie haben wir uns einen Mock Server erstellt, mit dem wir unsere App auch ohne einen vollständigen Service testen können. Dieser Beitrag soll nun zeigen, wie auf Basis dieser Mock Daten OPA5 Tests geschrieben werden können. OPA ist die Abkürzung für One Page Acceptance. OPA5-Tests sind ein SAPUI5-Feature, das auf QUnit„Testing in SAPUI5 Teil 2 – OPA5 Tests für Benutzerinteraktionen“ weiterlesen

Testing in SAPUI5 Teil 1 – Mock Server zum Testen von Fiori Apps

Wer kennt es nicht, man baut eine App und möchte sie testen, aber es sind keine Daten vorhanden. Das kann mehrere Gründe haben: der OData Service ist nicht erreichbar, es gibt (noch) keinen Zugriff auf den Service oder das Entwicklungssystem ist schlicht leer. Das Zauberwort für die Lösung dieses Problems heißt Mock Server. Das Prinzip des„Testing in SAPUI5 Teil 1 – Mock Server zum Testen von Fiori Apps“ weiterlesen

Git in der SAP Web IDE – Versionskontrolle leicht gemacht – Teil 1

Versionskontrolle mit Git sollte zum täglich Brot eines jeden Web-Entwicklers und damit natürlich auch eines jeden SAPUI5-Entwicklers gehören. Die Realität im Projektalltag sieht jedoch sehr häufig ganz anders aus. Besonders in der SAP Web IDE stellt Git Projektteams oft vor mehr Probleme, als dass es welche löst. Doch woran liegt das eigentlich? Zunächst muss man„Git in der SAP Web IDE – Versionskontrolle leicht gemacht – Teil 1“ weiterlesen

$count – OData Models auf die man zählen kann, aber nicht muss

Moin Moin UI5-Entwickler, eine Frage bekommen meine Kollegen und ich ständig von unseren Kunden gestellt: „Was zeichnet eine gute Fiori eigentlich aus?!“ Die Antwort auf diese zentrale Fragestellung ist verblüffend einfach. Eine gute Fiori zeichnet sich nämlich durch zufriedene Nutzer aus. Und nichts macht einen Nutzer unzufriedener als unnötiges Warten auf Daten. Deshalb sollte ein SAPUI5-Entwickler„$count – OData Models auf die man zählen kann, aber nicht muss“ weiterlesen

Expression Bindings – Eine Alternative zum formatter

„Ausdrucks Bindungen“? Was’n das? Klingt jetzt erst mal kompliziert. Weil ist ja auch Englisch. Aber so kompliziert ist es gar nicht. Expression Bindings beschreiben die Möglichkeit, Werte eines Models direkt im View anzupassen. Die Logik steht dabei mit im View, wodurch man sich die Auslagerung in externe Dateien (z.B. in die eines formatters) spart. Das„Expression Bindings – Eine Alternative zum formatter“ weiterlesen