
SAP Learning Roadmap (Rollen)
Wie kannst du die SAP Learning Roadmap für dich einsetzen? Hier gehen wir auf verschiedene Situationen und Rollen in der ABAP Entwicklung ein.
Inhaltsverzeichnis
Dieser Artikel entstand auf Nachfrage von Sadullah TANRIKULU auf LinkedIn. Hierbei möchten wir noch einmal im Detail auf die Learning Roadmap eingehen und wie du in verschiedenen Rollen damit umgehen kannst.
Einleitung
Vor einer Weile hatten wir die SAP Learning Roadmap veröffentlicht, hierbei handelt es sich um den Weg von der klassischen ABAP Entwicklung in Richtung ABAP Cloud. Hierbei werden die verschiedenen Technologien auf dem Weg gestreift, die mehr oder weniger wichtig sind, um das Ziel zu erreichen. Dabei unterteilt die die Roadmap in verschiedene Bereiche und Anforderungen.
In jedem Fall solltest du auch die Möglichkeiten beachten, die dir in deiner Rolle und deinem Unternehmen zur Verfügung stehen. Hast du kein System mit einer HANA Datenbank oder einem S/4 HANA Release, kannst du bestimmte Technologien in deinem Alltag nicht anwenden.
Hinweis: Je weiter Links du auf der Roadmap stehst, desto größer sieht der Berg an zu lernenden Skills aus. Deshalb solltest du so früh wie möglich damit beginnen und dich Schritt für Schritt weiterbilden. Unternehmen sollten aber auch nicht der Auffassung sein, dass eine Umstellung auf ABAP Cloud mal eben über Nacht möglich ist, da es auch für gestandene Entwickler genug Neues zu Lernen gibt.
Lernen
Um die aktuellen Frameworks und Methodiken zu Lernen, stehen dir allerdings noch weitere Methoden zur Verfügung.
- BTP ABAP Environment - Mit der BTP steht dir die aktuellste Umgebung zur Verfügung, dass ABAP Environment ist reines ABAP Cloud und vermittelt damit die aktuellsten Entwicklungskonzepte am besten, da nicht mehr alle möglich ist.
- SAP BTP Trial - Möchte dein Unternehmen nicht die Kosten für ein ABAP Environment übernehmen, bleibt dir auch der BTP Trial Account, damit kannst du für die verschiedenen Services kostenlos testen.
- SAP Cloud Appliance Library - Mit SAP CAL steht dir ein vollständig eingerichtetes und funktionsfähiges S/4 HANA Release zur Verfügung. Dieses kannst du bei einem Hyperscaler installieren und betreiben. Damit kannst du direkt ins fachliche Lernen der Module einsteigen, aber auch ABAP Cloud und die neuen Entwicklungsmethoden anschauen.
- ABAP Cloud Developer Trial 2022 - Du besitzt einen Computer mit genügend Arbeitsspeicher? Dann kannst du die Community Edition über Docker auf deinem Rechner installieren. Damit steht dir ein S/4 HANA 2022 zur Verfügung und damit die ersten Schritte in Richtung ABAP Cloud.
Rolle - Junior (Grundlagen)
Die Programmiersprache ABAP gibt es bereits sehr lange, genauso wie ABAP OO. In diesem Fall gibt es einige Grundlagen die jeder ABAP Entwickler bereits heute als Standard in seinem Repertoire haben sollte und die die Grundlagen für alle weiteren Entwicklungen sind.
Details
- ABAP - Wie entwickelst du Software in der Programmiersprache ABAP, welche Statements gibt es, wie sieht eine Schleife aus und wo legst du deine Objekte an? Die Grundlagen der ABAP Sprache sollten dir vertraut sein, um deine ersten Erfahrungen zu sammeln.
- ABAP OO - Bei der objektorientierten Entwicklung mit ABAP kommt es nicht nur darauf an, dass du eine Klasse anlegen und dann mit statischen Methoden und Attributen arbeiten kannst. Vielmehr kommt es darauf an Konzepte zu verstehen, testbaren und wartbaren Code zu schreiben und auch Design Pattern zu beherrschen. Testbarer Code erfordert ein gewisses Wissen, wie du ihn am besten implementierst und Möglichkeiten zur Verfügung stellst, damit deine Kollegen darauf aufsetzen können.
- ABAP Unit - Deine Entwicklungen mit nachhaltigen Unit Tests auszustatten gibt dir als Entwickler ein Sicherheitsnetzt bei der Weiterentwicklung und Wartung deiner Software. Andere Kollegen können sich um die Weiterentwicklung kümmern, ohne alle Besonderheiten des Codes im Detail verstehen zu müssen.
- Modern ABAP - Mit dem Release 7.40 hat sich ABAP angefangen stark zu verändern. Die neuen funktionalen Statements und die Inline Deklaration verkürzen ABAP Quellcode ungemein und mit etwas Übung wird Quellcode auch schneller lesbar.
- ABAP Development Tools - Mittlerweile sind die ABAP Development Tools über 10 Jahre alt und die Entwicklungsumgebung besitzt viele sehr gute Features, die sie von der SE80 klar absetzt. Neben dem Refactoring und dem schnelleren Zugriff auf die Inhalte, ist sie in ABAP Cloud Pflicht, da viele Objekte nur noch über die ADTs angelegt werden können. Deshalb besser so früh wie möglich in die Entwicklungsumgebung einsteigen.
Bewertung
Mit ABAP Cloud wird der Report und die GUI Entwicklung obsolet. Ist dein Unternehmen allerdings noch weit von einer modernen Entwicklungsumgebung entfernt, lohnt es sich die Grundlagen von Reports zu lernen. Im Hinblick auf die nächsten Jahre, empfehlen wir hier ein Minimum, um einfache Anwendungen umsetzen zu können. Grundlage hierfür wäre dann der ALV.
Rolle - Analytics
Möchtest du Auswertungen und Queries auf dem S/4 System erstellen, dann benötigst du etwas andere Fertigkeiten als der ABAP Entwickler Junior. Hier kommt es auf die Arbeit mit dem virtuellen Datenmodell auf der HANA Datenbank an.
Details
- ABAP Development Tools - Die ABAP Development Tools werden für die Modellierung der Daten benötigt. Für die Anlage von Core Data Services und AMDP Routinen sind die Tools Voraussetzung.
- Core Data Services - Der CDS View ist die neue Möglichkeit zur Modellierung vom virtuellen Datenmodell in HANA. Dabei nimmt er Tabellen und andere Core Data Services als Grundlage und modelliert Auswertungen auf den Daten. Für die Auswertungen können Cubes und Queries erstellt werden, die du dann in der SAP Analytics Cloud (SAC) oder in deinem Business Warehouse (BW) verwenden kannst.
- AMDP - Benötigst du mehr Logik für die Aufbereitung der Daten, dann kannst du auch auf die ABAP Managed Database Procedures zurückgreifen. Diese werden per Code-Push-Down auf der Datenbank ausgeführt und werden in manchen Szenarien gern eingesetzt.
- Key User Apps - Neben den ABAP Development Tools, können auch die Key User Apps genutzt werden, um eigene Core Data Services zu generieren und darauf Custom Queries zu erstellen. Hierbei handelt es sich um Low Code Tools.
Bewertung
Im analytischen Umfeld wird man mit Core Data Services immer mehr machen können, um Auswertungen im System zu erstellen. Das virtuelle Datenmodell kann aus verschiedenen Quellen neue Datenmodelle zur Verfügung stellen. Allerdings lohnt sich hier der Lernaufwand, wenn du bereits auf einer HANA Datenbank arbeitest. Bei der Verwendung einer Nicht-HANA- Datenbank kann es zu Performanceproblemen kommen.
Rolle - Architekt (Extensibility)
Wie erweiterst du eigentlich das System im Clean Core Gedanken und welche Mittel stehen dir dabei zur Verfügung? In dieser Rolle kennst du den Standard und die Startpunkte zur Erweiterung des Systems, sowie die verschiedenen Möglichkeiten.
Details
- Clean Core - Du solltest verstehen, was Clean Core bedeutet und wie du ihn mit den verschiedenen Mitteln erreichen kannst, die SAP zur Verfügung stellt.
- Extensibility - Es verschiedene Extensibility Arten, die dir in SAP zur Verfügung stehen. Die In-App Extensibility, Side-by-Side und die Developer Extensibility. Welche solltest du für die verschiedenen Szenarien nutzen und wo kannst du Abgrenzungen vornehmen.
- Keyuser Tools - Welche Apps werden von SAP ausgeliefert und welche Use-Cases kannst du damit im System erweitern? Neben den verschiedenen Apps gibt es auch einen Prozess zur Einrichtung, sowie einen Prozess zur Produktivsetzung.
- Steampunk - Welche Unterschiede gibt es zur klassischen Entwicklung oder Entwicklung On-Premise? Wie kannst du Steampunk am besten im Unternehmen einsetzen und welche Use-Cases würdest du damit umsetzen.
- Embedded Steampunk - Diese Version wird vor allem durch die Nutzung von ABAP Cloud umgesetzt. Es gibt Ähnlichkeiten zu einem Steampunk System, du befindest dich allerdings On-Stack mit dem S/4 HANA.
Bewertung
Ein Architekt kann die verschiedenen Implementierungsszenarien abgrenzen und weiß, wo man ein Feature am besten implementieren sollte. Dabei muss er zwischen den verschiedenen Erweiterungsszenarien, wie In-App Extensibility, Side-by-Side oder die Developer Extensibility unterscheiden und den besten Weg für das Unternehmen finden. Erfahrungen in der Implementierung helfen dir in dieser Rolle weiter.
Rolle - Frontend
Die SAP GUI steuert langsam auf das Ende zu und welche Möglichkeiten gibt es nun für den ABAP Entwickler ein Frontend zu bauen? Die Rolle hat einen klaren Fokus auf das ABAP RESTful Programming Model. Dabei musst du einige Teile aus Fiori kennen und lernen, allerdings mit weniger Fokus auf die Freestyle Entwicklung.
Details
- Gateway - Der Gateway ist in SAP der zentrale Knoten und Angelpunkt, wenn es um die Bereitstellung von OData Services geht. Wie konfigurierst du die Schnittstellen und aktivierst Endpunkte? Wie kannst du die Services abrufen und testen?
- Web IDE - Die Web IDE ist die "alte" Entwicklungsumgebung für Fiori Anwendungen. Viele Unternehmen setzen immer noch auf die browserbasierte Umgebung. Mittlerweile kann BAS aber ebenso alle Standardszenarien abdecken und hat eine gute Integration ins Ökosystem.
- Fiori / UI5 - Die Konzepte von UI5 solltest du im Groben kennen und wissen, wie Fiori Anwendungen aufgebaut sind. Die Grundlagen helfen dir beim Aufbau von einfachen Anwendungen und bei der Analyse von Anwendungen.
- Core Data Services - Die CDS Views sind die Grundlage zum Aufbau des RAP Stacks. Du musst hier allerdings weniger in den analytischen Teil absteigen, solltest aber Wissen wie man die verschiedenen Layer aufbaut und mit Annotationen ausstattet.
- RAP - Der zentrale Punkt der Frontendentwicklung ist das ABAP RESTful Programming Model. Es stellt die Business Objekte zur Verfügung, die als OData Service zur Verfügung gestellt werden und auf das die UI gesetzt wird.
- Business Application Studio - Beim BAS handelt es sich um die neue Entwicklungsumgebung zur Entwicklung von Fiori Freestyle oder Fiori Elements Anwendungen. Ebenso können hier Standard-Apps der SAP erweitert werden. Alternativ steht VS Code mit Plugin zur Verfügung, muss aber komplett selbst konfiguriert werden.
- Fiori Elements - Ist die einfachste Art Anwendungen zur Verfügung zu stellen. Anhand der Annotationen im RAP Business Objekt wird die UI generiert, ohne eigentlichen nodeJS Code zu schreiben oder XML Views aufzubauen.
- Flexible Programming Model - Reichen dir einmal die Features von Fiori Elements nicht aus, kannst du bei deinen OData v4 Anwendungen leicht weiter Features über das Flexible Programming Model implementieren, ohne all zu tief in die UI5 Entwicklung einsteigen zu müssen.
Bewertung
Steht dir ein System mit einem aktuellen S/4 HANA Release zur Verfügung oder kannst du deine Side-by-Side Extensions im ABAP Environment umsetzen? Dann steht dir als Frontend-Developer im RAP Umfeld nichts im Weg. Mit den RAP Generatoren kannst du einfache Anwendungen in Fiori Elements erstellen und mit dem Flexible Programming Model erweitern. Ohne das passende System hast du aktuell zwei Optionen:
- SAP GUI - Einfach Entwicklungen in SAP GUI
- UI5 - Einstieg in die Freestyle Entwicklung mit SAP UI5
Rolle - Qualität
Du möchtest mehr Qualität in die Arbeit als ABAP Entwickler bringen? Dann stehen dir verschiedene Tools, Dokumentationen und Möglichkeiten zur Verfügung. In diesem Abschnitt schauen wir uns statische Analysen und weiter Hilfsmittel an.
Details
- ABAP Test Cockpit - Das ATC ist die Erweiterung des alten Code Inspector und stellt statische Codeprüfungen im System zur Verfügung, egal ob lokal im System oder als zentrales ATC, kann das System automatisch bei Freigabe von Aufgaben den Code prüfen. Damit kannst du auch steuern, welche Qualität der Code hat, wenn er das Entwicklungssystem verlässt.
- abapGit - Der Git-Client für ABAP gehört eigentlich fast in jede Rolle, wird aber vor allem im Bereich Qualität benötigt, um verschiedene Open-Source-Tools im System zu installieren. Das Open Source Tool wird durch die Community entwickelt und kann dazu genutzt werden, um Quellcode von einem System auf ein anderes zu bringen.
- Clean ABAP - Für Clean ABAP findest du ein Dokument über GitHub, in dem beschrieben wird, wie du sauberen ABAP Quellcode erstellen kannst und worauf du achten solltest. Neben dem Dokument gibt es auch der ABAP Cleaner, der mit einem Knopfdruck deinen kompletten Quellcode bereinigen und formatieren kann.
- codePal - Hierbei handelt es sich um eine Erweiterung des ATC um weitere Prüfungen zu implementieren, die die Clean ABAP Regeln überprüfen, sowie Hinweise und Quickfixes zur Verfügung stellen.
- Code Review - Das Thema Code Review gehört mittlerweile zum Standard in jeder Programmiersprache. Hierbei geht es um den Review von fertigem Quellcode durch einen zweiten Entwickler. Dabei lernen beide Entwickler in verschiedenen Aspekten von dem Review.
- Code Security - Sicherheit in der Software Entwicklung sollte heute zum Standard gehören. Jeder Entwickler kann etwas zum Thema Sicherheit beitragen, wenn er mögliche Fehler in der Software kennt und diese auch in Code Reviews anspricht. Helfen können hier auch CVA Checks durch das ABAP Test Cockpit.
Bewertung
Das Thema Codequalität wird immer relevanter, da guter und sauberer Quellcode einfach zu lesen und auch zu warten ist. Dabei helfen die verschiedenen Tools bei der massenhaften Analyse von Quellcode oder bauen ein Quality-Gate in der Entwicklung auf. Wie konfigurierst und nutzt du die Tools im Unternehmen und was steht dir zur Verfügung? In dieser Rolle solltest du das wissen und die meisten Konzepte sind bereits auf älteren Releases verfügbar.
Rolle - ABAP Cloud (Lead)
Hast du das Ziel ABAP Cloud erreicht, geht es noch einmal von vorn mit dem Lernen los. Viele Konzepte ändern sich oder werden komplett über den Haufen geworfen. Die gesammelten Informationen findest du auf dieser Seite als Zusammenfassung. Hier beginnt auch die eigentliche Arbeit des Leads, da viele der neuen Konzepte erst erarbeitet und in die Organisation gebracht werden müssen.
Details
- Software Komponenten - Wie funktionieren Software Komponenten und wie kannst du sie für eine saubere Entwicklung einsetzen? In ABAP Cloud sind sie zentraler Bestandteil neuer Entwicklungen und können mit ihren Eigenschaften ergänzend eingesetzt werden, um eine saubere Software Architektur aufzubauen.
- ABAP Cloud - Ist nicht nur ein Entwicklungsmodell oder ein Konzept, sondern es steckt noch viel mehr dahinter. Welche Konzepte können in ABAP Cloud eingesetzt werden und welche Konzepte solltest du als Entwickler so langsam zu Grabe tragen? Hier gibt es quer durch das System viel zu beachten.
Bewertung
Im Bereich ABAP Cloud und als Lead solltest du die meisten der Themen auf der Roadmap kennen und beherrschen. Die verschiedenen Bausteine greifen in deiner täglichen Arbeit in modernen Systemen ineinander. Möglich ist das aber erst ab Release S/4 HANA 2022, am besten aber mit S/4 HANA 2023. Hast du im Unternehmen dieses Release nicht, bleibt dir ein Blick ins SAP CAL oder ABAP Environment, um die ersten Konzepte zu verstehen.
Fazit
Bei den unterteilten Rollen handelt es sich um Vorschläge und unsere Einschätzung. Einige Teile musst du wahrscheinlich auf das eigene Unternehmen und deiner Situation anpassen. Grundsätzlich sollen sie ganze Roadmap in kleinere Teile aufsplitten und entsprechenden Rollen zuweisen.