Erweiterungsmöglichkeiten von SAP Fiori Apps: Was nicht passt, wird passend gemacht
Fiori Apps von SAP finden Anwendung in verschiedenen Bereichen, allerdings sind die Standard-Apps in einigen Fällen nicht ausreichend. Entsprechen die Funktionalitäten nicht den Anforderungen, können bereits vorhandene Apps angepasst oder erweitert werden. In unserem Blog-Beitrag zeigen wir auf, welche Erweiterungsmöglichkeiten es für Endanwender, Fachberater und Entwickler gibt.
Mit der Einführung von Fiori hat SAP einen eigenen App Store geschaffen, die Fiori Apps Reference Library. Hier stehen mittlerweile über 12.000 Fiori-Applikationen für alle relevanten Geschäftsbereiche zur Verfügung und die Anzahl wächst kontinuierlich weiter. Doch was ist zu tun, wenn Apps auf den geplanten Anwendungsfall nicht genau passen oder essenzielle Funktionalitäten fehlen? Dieser Frage gehen wir in unserem Blog-Beitrag nach.
Einsatzszenarien
Wir haben in zahlreichen Projekten die Erfahrung gemacht, dass es bei der Einführung von Fiori Apps meist auf einen der folgenden drei Fälle hinausläuft:
- Adopt: Die ausgewählten Fiori Apps passen exakt auf den vorgesehenen Anwendungszweck, sodass keinerlei Anpassungen erforderlich sind und die Apps sofort genutzt werden können.
- Adapt: Bei der Evaluierung der ausgewählten Apps zeigt sich, dass bestimmte Funktionalitäten fehlen oder Anpassungen erforderlich sind, die durch Erweiterungen bzw. Customizing der Standardfunktionalitäten oder durch (kleinere) Eigenentwicklungen umgesetzt werden können.
- Develop: Bei der Analyse der Apps stellt sich heraus, dass die betrachteten Apps die gewünschten Anforderungen auch unter Zuhilfenahme von Erweiterungen nicht abdecken können, sodass eine komplette Individualentwicklung erforderlich ist.
Wie in der Einleitung bereits erwähnt, liegt der Fokus dieses Beitrags auf den Erweiterungsmöglichkeiten bestehender Fiori Apps, weshalb wir uns nachfolgend auf den Adapt-Ansatz konzentrieren.
Erweiterungspotenziale: Überblick
Bevor wir in die konkreten Erweiterungsmöglichkeiten von Fiori Apps einsteigen, möchten wir zunächst noch einen Blick auf die grundsätzlichen Erweiterungspotenziale für Endanwender, Fachberater/Key User und Entwickler werfen.
Die folgende Abbildung fasst diese Möglichkeiten zusammen:
- Endanwender: Die Anpassungs- bzw. Erweiterungsmöglichkeiten von Endanwendern beschränken sich auf rudimentäre Personalisierungseinstellungen, die benutzerspezifisch sind und nachfolgend nicht weiter betrachtet werden.
- Fachberater/Key User: Key User als Fachberater befinden sich in der Mitte. Sie können Anpassungen durch reines Customizing stellvertretend für ganze Gruppen von Anwendern vornehmen und zur Verfügung stellen. Im folgenden Abschnitt gehen wir genauer darauf ein, wie ein solches Customizing funktioniert.
- Entwickler: Auf der anderen Seite haben Entwickler weitreichende Möglichkeiten, um Anwendungen für das gesamte Unternehmen oder bestimmte Organisationseinheiten zu erweitern oder zu modifizieren. Welche Werkzeuge und Methoden Entwicklern dabei zur Verfügung stehen, erläutern wir im weiteren Verlauf des Beitrags.
Erweiterungsmöglichkeiten von Key Usern
Damit aus Anwendern sogenannte Key User werden, ist die Zuweisung einer PFCG-Rolle im SAP-Gateway-System erforderlich. Danach haben die Key User in SAPUI5-basierten Fiori Apps die Möglichkeit, diese über den neuen Menüpunkt „UI anpassen“ zu modifizieren.
Die Anpassungen selbst erfolgen komplett im Browser und sind weitgehend mittels Drag & Drop möglich. Den Key Usern stehen dabei die folgenden Funktionen zur Verfügung:
- Felder/Gruppen/Sektionen neu anordnen
- Felder/Gruppen/Sektionen hinzufügen, entfernen oder umbenennen
- Eigene Felder/Logik hinzufügen
- Transport der Anpassungen in nachgelagerte Systeme
Die folgenden Screenshots zeigen die beispielhafte Anpassung und Erweiterung der Fiori App „Bestellungen verwalten“ durch einen Key User.
Zunächst die App im Ausgangszustand:
In einem ersten Schritt wird die wenig sprechende Bezeichnung des Feldes „GenehmigStatus“ in „Genehmigungsstatus“ umgeändert:
Anschließend werden zwei weitere Felder, welche über den OData-Service bereitgestellt werden, hinzugefügt:
Zum Abschluss wird der Block „Bestellpositionen“ nach weiter oben verschoben.
Das Ergebnis sieht wie folgt aus:
Zwar handelt es sich hierbei um ein sehr einfaches Beispiel, allerdings lohnt es sich unser Erfahrung nach immer, die Anpassungsmöglichkeiten im Rahmen der Key User-Erweiterung auszuloten, bevor sich Entwickler an die Erweiterung einer App begeben. Sollte sich dabei herausstellen, dass die gewünschten Funktionalitäten nur mittels Coding umgesetzt werden können, so stehen Entwicklern die im Folgenden beschriebenen Möglichkeiten zur Verfügung.
Erweiterungsmöglichkeiten von Entwicklern
Sollen an den Standardfunktionalitäten von Fiori Apps komplexere Anpassungen vorgenommen werden, gibt es entsprechend des App-Typs unterschiedliche Erweiterungsmöglichkeiten: Apps vom Typ „Fiori Elements“ können adaptiert und Apps vom Typ „SAPUI5“ erweitert werden. SAP stellt Entwicklern dafür unterschiedliche Tools, Wizards und Projekttemplates zur Verfügung.
Adaptation: Fiori Elements Apps
Fiori Elements Apps basieren auf einem Standard-App-Template, welches das Aussehen und die Funktionalität der Benutzeroberfläche mithilfe der aus dem Backend übermittelten Meta-Informationen (Annotations) steuert. Die Darstellung eines Feldes wird somit durch die im Backend hinterlegten Annotations definiert. Die „ABAP Development Tools for Eclipse” bieten Entwicklern die Möglichkeit, neue Felder oder Annotations zu CDS-Views hinzuzufügen oder vorhandene Informationen für Felder zu ändern bzw. zu redefinieren. So kann die Darstellung oder die Funktion der Felder auf der Oberfläche durch Änderungen im Backend angepasst werden.
Sind weitere Anpassungen oder zusätzliche Funktionalitäten im Frontend erforderlich, bietet die SAP Web IDE das Projekttemplate „Adaptation Project“ für Fiori Elements Apps an. Dort steht Entwicklern der WYSIWYG-Editor „SAPUI5 Visual Editor” zur Verfügung, welcher dabei unterstützt, Erweiterungen an der App vorzunehmen. Der folgende Screenshot zeigt beispielhaft die Anpassung einer App mittels dieses Editors.
Entwickler können im Editor lesen, welche Art von Erweiterung an welchen Stellen durchgeführt werden kann. Von einfachem Verschieben, Hinzufügen und Entfernen über das Hinzufügen ganzer Fragmente bis hin zu Logikerweiterungen in einem zusätzlichen Controller gibt es hier umfangreiche Möglichkeiten.
Die durch Adaptation neu geschaffenen App-Varianten können später als neue Kacheln im Fiori Launchpad bereitgestellt und nach Vergabe von Rollen und Berechtigungen von den jeweiligen Nutzern aufgerufen werden.
Extension: Fiori SAPUI5 Apps
Für die Erweiterung von SAPUI5 Apps empfiehlt sich die Verwendung des Template „Extension Project“ in der SAP Web IDE. Dieses bietet verschiedene Möglichkeiten der Erweiterung an: Texte können angepasst, Controls versteckt oder der OData-Service durch einen im Backend angepassten Service ersetzt werden.
An manchen Stellen bieten Standard Fiori Apps sogenannte „Extension Points“ an, an denen die Views oder Fragments erweitert werden können. Reicht diese Möglichkeit nicht aus, können auch ganze Views durch neue Views ersetzt werden. Neue Logik oder Änderungen an vorhandenen Abläufen und Funktionalitäten können durch die Erweiterung von Controllern hinzugefügt bzw. durchgeführt werden.
Zusammenfassung und Ausblick
Wie gezeigt wurde, stehen Key Usern (meist Fachberater) und Entwicklern weitreichende Möglichkeiten der App-Erweiterung zur Verfügung. Bei der Durchführung von Erweiterungen sollten die verschiedenen Optionen immer auch in Bezug auf Abweichungen vom SAP-Standard beurteilt werden, die so gering wie möglich ausfallen sollten. Umfangreiche Erweiterungen und Änderungen können dazu führen, dass die erweiterten Apps stark vom Standard abweichen und damit Nachteile bezüglich Updatesicherheit und Code-Pflege nach sich ziehen. Bei erwarteten größeren Abweichungen kann es unter Umständen besser sein, eine eigene Custom App zu entwickeln.
Sowohl erweiterte Fiori Apps als auch Custom Apps werden dabei als neue, zusätzliche Apps auf das System deployed. Erweiterte Fiori Apps nutzen jedoch neben den neuen Entwicklungen die Komponenten der Standard Apps.
Wie geht es weiter?
Wir hoffen, Sie konnten durch diesen Blog-Beitrag einen Einblick in die vielfältigen Erweiterungsmöglichkeiten von SAP Fiori Apps erhalten. Wenn Sie Fragen haben oder Unterstützung bei der Erweiterung Ihrer Fiori Anwendungen benötigen, kommen Sie gerne auf uns zu!