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

SAP Screen Personas – die Alternative zu Fiori und Co

Um individuelle Lösungen bereitzustellen, die User Experience zu erhöhen, Unternehmensprozesse zu optimieren und um Inhalte auf mobilen Endgeräten in der richtigen Qualität zur Verfügung zu stellen, wird in der SAP-Welt häufig mit Fiori-Apps gearbeitet. Das dies aus Aufwands- und Kostensicht nicht immer der geeignete Weg ist, wollen wir in diesem und folgenden Blogbeiträgen zusammen erfahren.„SAP Screen Personas – die Alternative zu Fiori und Co“ 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

SAP on your mobile device – Entwicklungsmöglichkeiten für die Mobile-App-Erstellung – Teil 2 – Fiori Client

Im ersten Teil haben wir uns mit der Erstellung von Hybrid Apps beschäftigt. Heute schauen wir uns die Erstellung des Fiori Clients an, über den ich bereits hier berichtet habe. Der Fiori Client ist eine gute Browser-Alternative, mit dem wir das Fiori-Launchpad in einen mobilen Container packen können. Um was es sich genau beim Fiori„SAP on your mobile device – Entwicklungsmöglichkeiten für die Mobile-App-Erstellung – Teil 2 – Fiori Client“ weiterlesen

SAP on your mobile device – Entwicklungsmöglichkeiten für die Mobile-App-Erstellung – Teil 1 – Hybride Apps

Herzlich Willkommen in einer Genertion, in der man mit mobilen Geräten und Apps aufwächst! Mittlerweile hat auch SAP den Shift verstanden und einen weiteren Fokus gesetzt. Die App-Entwicklung, beziehungsweise die mobile Entwicklung im SAP-Kontext hat mittlerweile einen Stellenwert. Vor allem auch die Kooperation mit Apple zeigt den erweiterten Fokus auf die mobile Branche. In dieser„SAP on your mobile device – Entwicklungsmöglichkeiten für die Mobile-App-Erstellung – Teil 1 – Hybride Apps“ 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

Performanzoptimierung des ABAP OData $Expand

Ein häufig anzutreffendes Performanzproblem bei der klassischen OData Entwicklung in ABAP ohne Nutzung von SADL ist das Lesen von Entitäten mitsamt assozierter Entitäten mittels $expand. Ein Beispiel ist eine SAPUI5 Worklist App, welche zu den angezeigten SalesOrders weitere Informationen aus dem zugehörigen Business Partner und den SalesOrderItems anzeigt. Das Performanzproblem kann man gut an dem„Performanzoptimierung des ABAP OData $Expand“ 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

SEGW-Projekt (OData Service) mitsamt Implementierung kopieren

Der Gateway Service Builder (Transaktion SEGW) ist das allseits bekannte Werkzeug zur Implementierung eines OData Service auf einem SAP ABAP-System. Der Service Builder bietet die Funktion ein SEGW-Projekt zu kopieren. Das Kopieren kann notwendig sein, wenn man eine neue Version eines vorhandenen Service parallel zur existierenden Version erstellen will man mit einem von SAP ausgelieferten„SEGW-Projekt (OData Service) mitsamt Implementierung kopieren“ weiterlesen

SAP und Apple – „Challenging the Status Quo in Business“

Letzte Woche fand die SAPPHIRE 2019 in Orlando statt. Auf der Keynote am Dienstag (07. Mai 2019) begrüßte SAP CEO Bill McDermott den CEO von Apple, Tim Cook auf der Bühne. Gemeinsam haben sie weitere Ankündigungen für die Zusammenarbeit von Apple mit SAP gemacht. Konkret wurden von den beiden folgende Punkte angekündigt: Erweiterung des iOS„SAP und Apple – „Challenging the Status Quo in Business““ weiterlesen

Fiori 3.0 ist da! – Aktuelle Neuigkeiten und Release Dates

Es ist so weit! Die SAP hat in der letzten Woche verkündet, dass die ersten Features zu Fiori 3 von nun an zur Verfügung stehen. Dabei handelt es sich um das neue Theme Quartz, dass das SAP Belize Theme als Standardtheme ablösen wird. Des Weiteren hat die neue, vereinheitlichte Shell Bar Einzug in die Fiori„Fiori 3.0 ist da! – Aktuelle Neuigkeiten und Release Dates“ weiterlesen

Erweiterung von SAP Fiori Elements Apps – Welche Erweiterungsmöglichkeiten habe ich?

Mit SAP Fiori Elements lassen sich im Handumdrehen neue UI5 Apps generieren, die weniger Entwicklungsarbeiten im Frontend vorsehen, als bislang verwendet. Frontend-seitig wird von der SAP ein Smarttemplate bereitgestellt, das Annotationen und Metainformationen von OData-Services ausliest und hieraus eine entsprechende UI5 Oberfläche generiert, die den typischen SAP Fiori Look hat. Beeindruckend ist vor allem, dass„Erweiterung von SAP Fiori Elements Apps – Welche Erweiterungsmöglichkeiten habe ich?“ 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

SAP Fiori 3.0 – Der intelligente Anstrich für intelligente Anwendungen

Ahoi Matrosen! Wir wollen einen Blick in die Zukunft wagen. Auf den letztjährigen SAP TechEd Veranstaltungen wurde nämlich der nächste Schritt im UX- bzw. Frontend-Bereich vorgestellt – SAP Fiori 3.0 Fiori 3 ist da! Aktuelle Neuigkeiten und Release Dates SAP Fiori 3.0 löst seinen Vorgänger SAP Fiori 2.0 ab, der seit etwa Anfang 2016 im„SAP Fiori 3.0 – Der intelligente Anstrich für intelligente Anwendungen“ 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

JSON Model – Stärken, Schwächen und Anwendung

In der SAPUI5-Entwicklung kommt man nicht um hin, sich an irgendeinem Zeitpunkt mit JSON auseinanderzusetzen. JSON steht kurz für JavaScript Object Notation und bietet eine einfache, standardisierte, textbasierte Darstellung von Objekten. In der SAPUI5-Entwicklung ist das JSON-Model eins von zwei zentralen Models für die Datenhaltung. (ODataModel ist das andere). Als client-side Model stellt es Daten„JSON Model – Stärken, Schwächen und Anwendung“ 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

SAP CoPilot – Alexa für SAP?

SAP CoPilot, die unbekannte Intelligenz aus der fernen Zukunft? Wer 2018 den DSAG Jahreskongress, die SAP TechEd oder auch einfach nur die SAP Community aufmerksam verfolgt hat, der kam nicht umhin zu bemerken, dass der SAP CoPilot einen zentralen Baustein der dritten Version von SAP’s User Interface Designparadigma Fiori darstellt. Die Idee der SAP, ihren„SAP CoPilot – Alexa für SAP?“ 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

SAP Cloud Platform – Einrichtung der Web IDE mit dem Northwind Service

Heute wird’s luftig. Wir heben zwar nicht ab, doch wagen wir uns heute mal in die Cloud, genauer gesagt in oder auf die SAP Cloud Platform. Entwickler, die sich mal an der SAP Cloud Platform probieren wollen, können mit Hilfe eines Trial-Accounts die weite Welt der Platform kennenlernen. Funktional sehr vielfältig ist viel zu entdecken„SAP Cloud Platform – Einrichtung der Web IDE mit dem Northwind Service“ 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

100 Einträge im Model – Datenbegrenzung durch $top ändern

Wer schon einmal versucht hat eine größere Datenmenge in einem Control anzuzeigen wird sicher festgestellt haben, dass es dort eine Begrenzung der Datenmenge auf 100 Einträge gibt. Diese ist die Default Begrenzung eines jeden Models. Manchmal durchaus sinnvoll (Hallo liebe Performance), manchmal aber auch einfach nur so semi gut. Dann nämlich, wenn mehr Daten geladen„100 Einträge im Model – Datenbegrenzung durch $top ändern“ weiterlesen

OData Model – Wie kommen die Daten in meine Anwendung?

Das OData Model besitzt laut API-Dokumentation einige Funktionen die suggerieren, dass ich von diesem Daten bekommen könnte. Binding, ja, da sind die Daten dann da, so irgendwie. Und wenn ich mein OData Model im Controller in der Hand habe, dann bekomme ich die Daten auch. Also zumindest sollte ich das in der Theorie Aber wann„OData Model – Wie kommen die Daten in meine Anwendung?“ 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

Von 120 auf 4 Sekunden: Performance-Optimierungen für Fiori

Q-System der Ewigkeit: 120 Sekunden für eine Fiori Ich hätte vorher fragen sollen. Derzeit entwickel ich für einen Kunden eine Fiori im Master-Detail-Design für das SAP PM Modul. Im Kern sollen technische Plätze (TP) angelegt, angezeigt, klassifiziert und verändert werden können. In der Fiori dargestellt werden sollen: Kopf- und Detaildaten beschreibende Texte Standort und Verantwortliche„Von 120 auf 4 Sekunden: Performance-Optimierungen für Fiori“ weiterlesen

Fiori Master/Detail App mit Gateway-Anbindung über Cloud Connector

Mach mal eben schnell! Um mal schnell eine Fiori-App zu implementieren, bietet die Web IDE in der SAP Cloud Platform die Möglichkeit, eine Fiori Master/Detail-App zu generieren. Diese Fiori App benötigt einen OData-Service, über welche die Daten aus dem Backend gelesen bzw. zurückgeschrieben werden. In häufig anzutreffenden Szenarien sind dies Services aus dem SAP ERP, die„Fiori Master/Detail App mit Gateway-Anbindung über Cloud Connector“ weiterlesen

Eigene Fiori Controls und Styles – Teil 1

Seien wir offen miteinander Ein spannendes und großes Thema in der Fiori ist die Offenheit des Frameworks. Diese Offenheit ermöglicht es unter Anderem eigene Controls, also die individuelle Erweiterung der vorhandenen grafischen Elemente wie beispielsweise sap.m.List, und eigene Styles entwickeln zu können. Es ist ein sehr interessanteres, mächtiges aber auch umfangreiches Thema. Daher möchte ich„Eigene Fiori Controls und Styles – Teil 1“ weiterlesen

Validierungen in Fiori Teil 2

Mach es bitte richtig – und schnell In meinem vorherigen Beitrag habe ich die Validierung in Fiori auf Basis der API der Controls gezeigt. Ich habe im Controller die Werte der Eingaben evaluiert und ggf. Fehlertexte und Fehlerstatus gesetzt. Es hat gut funktioniert, aber rechtfertigen solche – eigentlich trivialen Prüfungen für eine Postleitzahl – 17 Zeilen JavaScript?„Validierungen in Fiori Teil 2“ weiterlesen

Bessere OData Calls schreiben

OData und die 7 Paramater Das Schreiben von OData Calls zum Anlegen, Lesen, Aktualisieren oder Löschen von Datensätzen in der Fiori Entwicklung eine ganz häufige und somit gewöhnliche Tätigkeit. Leider scheint mir die Implementierung dieser als Calls häufig sehr komplex, unleserlich und fehleranfällig zu sein. Hier ein typisches Beispiel, wie ich es oft gesehen und auch„Bessere OData Calls schreiben“ weiterlesen

Validierungen in Fiori Teil 1

Mach es bitte richtig Als SAP Fiori Entwickler soll und möchte ich ja auch Anwendungen entwickeln, die einfach zu bedienen sind. Für mich entsteht Einfachheit auch dadurch, dass die Fiori den Anwender unterstützt und beispielsweise falsche Eingaben verhindert. Ein ganz typisches Beispiel sind hier ja all die Formulare, die der Anwender ausfüllen muss. Zwar deutlich„Validierungen in Fiori Teil 1“ weiterlesen