Refactoring der SAP-Fiori Anwendung

In der letzten Zeit, haben wir uns mit einer interessanten Anwendung für Allokationen und Sonderangebote beschäftigt.

Dank der Software kann sich jedes Geschäft über den Webbrowser bei der Anwendung anmelden und hat die Möglichkeit, die anstehenden Allokationen zu überprüfen oder die Menge der zu bestellenden Waren oder Produkte in der Allokation zu aktualisieren.

Die Anwendung wurde in SAP Fiori-Technologie implementiert. SAP Fiori ist die neueste Version des Interface von SAP, die eine einheitliche Benutzererfahrung bei der Verwendung von lokalen und Cloud-Lösungen bietet.

Einige Jahre nach der Premiere der ersten grafischen Version von SAP GUI hat SAP sich an die aktuellen Standards angepasst und nicht nur den Interface komplett überarbeitet, sondern auch die Art und Weise, wie der Benutzer sie verwendet, geändert.

Die Philosophie, die zur Schaffung eines neuen Benutzererlebnisses geführt hat, ist Design Thinking – Anwendungsdesign, das in erster Linie auf die Qualität und die Benutzerfreundlichkeit der Anwendung aus Sicht des Geschäftsbenutzers abzielt. Diese Änderung der Vorgehensweise beim Erstellen von Lösungen führt dazu, dass der Benutzer eine konsistente, reaktionsschnelle und intuitive Umgebung erhält, in der er alltägliche Aufgaben ausführen kann. Aus Umschalten auf dem im Browser angezeigten Interface und Anwenden des adaptiven Interfaces erhalten wir freien Zugriff auf Daten, unabhängig vom verwendeten Gerät.

Dank des Einsatzes von SAP Fiori können Benutzer häufiger auf die benötigten Informationen zugreifen, was Zeit spart und die Arbeitseffizienz verbessert. Die Mitarbeiter haben die Möglichkeit, erforderliche Informationen für eine Entscheidung einzugeben, unabhängig davon, wo sie sich befinden und welches Gerät sie verwenden.

SAP Fiori ist jedoch nur ein Frontend-Teil. Die Geschäftslogik, die die Anwendung mit Daten versorgte, musste ebenfalls implementiert werden. Die Kommunikation zwischen der Anwendung in einem Webbrowser und dem SAP-System erfolgt über das OData-Protokoll. Kurz gesagt, Open Data Protocol (OData) – ein Netzwerkprotokoll, mit dem von Microsoft erstellte Daten heruntergeladen und aktualisiert werden. Der OData-Service wird vom SAP-System zum Verbrauch durch die Fiori-Anwendung ausgegeben.

Wie funktioniert es?

Auf dem Backend-System legen wir den Odata-Service an, der außerhalb des SAP-Systems für den Verbrauch durch die Anwendung ausgegeben wird. Die SEGW-Transaktion wird zum Erstellen der Website verwendet. Für jede Website erstellen wir eine Reihe von Entitäten oder Darstellungen von abstrakten oder realen Objekten.

Entitätsbeispiele (und Attribute in der Entität):

  • Personen (Vorname, Nachname, IdNr)
  • Fahrzeuge (Höhe, Breite, Länge, Bewegungsart)

Nach dem Definieren der Entität und dem Generieren der Website werden vier Klassen im ABAP Dictionary erstellt.

Der Programmierer sollte nur Klassen ändern, die mit dem Suffix _EXT enden, diese erben Klassen, (Siehe UML-Diagramm unten). Während der Arbeit sollte die Vererbungsklassenmethode neu definiert und das eigene Coding implementiert werden. Dies geschieht so, weil beim nächsten Neustart der Odata-Site der gesamte MPC- und DPC-Klassencode überschrieben (von Grund auf neu erstellt) wird. Wenn wir unsere Änderungen direkt in die Klassen MPC und DPC implementieren würden, hätten wir unseren Code verloren.

·        MPC-Klasse – Model Provider Class – verfügt über die Hauptmethode DEFINE, bei der alle Entitäten und ihre Attribute mithilfe des Codes definiert werden.

·        DPC-Klasse – Data Provider-Class – Die Klasse ist für Daten aus dem System bereitzustellen oder Änderungen am System vorzunehmen, verantwortlich. Die folgenden Methoden werden für jede Entität neu erstellt:

Create – wird beim Anlegen eines neuen Objektes ausgeführt

Delete – wird bei Löschen eines Objektes ausgeführt

GetEntity – wird ausgeführt, wenn Informationen zu einem bestimmten Datensatz abgerufen werden sollen – der vollständige Schlüssel der Entität sollte sich in den Parametern der Methode befinden

 GetEntitySet – wird ausgeführt, wenn die Anwendung nicht nach einem einzelnen Datensatz, sondern nach dem gesamten Satz (Tabellen) von Datensätzen auf der Grundlage einiger Auswahlkriterien fragt

Update – wird ausgeführt, wenn das Objekt bereits vorhanden ist, aber etwas daran geändert werden muss

Die Geschäftslogik, die Aufträge erstellt, Daten aktualisiert, Spalten sortiert, Inhalte filtert, um die entsprechenden Datensätze zu finden, und vieles andere, muss auf der SAP-Serverseite implementiert werden.

Die Herausforderung bei dieser Art von Aufgaben ist die kontinuierliche Kommunikation zwischen Personen, die mit dem Frontend und dem Backend zu tun haben. Manchmal ist es bei der Implementierung bestimmter Lösungen nicht offensichtlich, ob es besser ist, sie auf Server- oder Clientseite zu implementieren. In solchen Fällen wird ein schnelles Treffen der beteiligten Personen und eine Diskussion über die Ursachen und möglichen Lösungen empfohlen. Insbesondere wenn Zeitdruck auf die Vorbereitung der Anwendung ausgeübt wird und die Lösung innerhalb weniger Tage abgegeben werden muss. Unser Team hat jedoch gezeigt, dass es sehr intensiv und effektiv arbeiten kann.

Autor: Jakub Lewandowski

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.