This is a test message to test the length of the message box.
Login

SAP Learning Roadmap

Einleitung

Seit nun einigen Jahren ist ABAP im stetigen Wandel von der alten Programmiersprache, die Cobol ähnlich war, zu Modern ABAP, welches moderne und neue Konzepte unterstützt. Schauen wir uns dazu basierend auf der Architektur die neuen Konzepte auf der Zeitachse an, dabei stimmen die Abstände nicht mit den zeitlichen Veröffentlichungen.

 

 

Beschreibungen

Die einzelnen Technologien sind hier noch einmal genauer beschrieben, um Inhalte und Abgrenzungen besser zu beschreiben.

 

ABAP OO

Objektorientierte Entwicklung gehört seit vielen Jahren zum Standardkonzept jeder modernen Programmiersprache, hat seinen Weg aber sehr spät in die ABAP Entwicklung gefunden. Einige Konzepte, wie Polymorphie, sucht man hier vergebens. Dafür gibt es andere Konzepte wie Friends, die man mit Vorsicht verwenden sollte. Neben der Theorie (Klassen, Interfaces, Vererbung), sind auch Design Pattern (Factory, Singleton, Iterator, Facade, etc.) wichtig.

 

ABAP Unit

Die Automatisierung von Unit Tests gibt einem Entwickler oder sogar einem Team ein Sicherheitsnetz bei der Erweiterung bestehender Software, in dem es aktuelle Bestandteil immer wieder testet und mit den Änderungen validiert. Damit können mehrere Entwickler an der gleichen Anwendung arbeiten und wissen, dass die Grundbestandteile wie vorgegeben laufen. Voraussetzung ist dabei aber auch eine testbare Software Architektur und ein hoher Abdeckungsgrad der Software mit Tests, die die Funktionen sicherstellen.

 

Modern ABAP

Ab dem ABAP Basis Release 7.40 SP8 wurde die Sprache ABAP einer deutlichen Modernisierung unterzogen. Für viele bestehende Statements wurden funktionale Varianten implementiert, um diese miteinander zu verketten und so mit weniger Zeilen Code die gleiche Bandbreite abzudecken. Moderne Konzepte wie Inline Deklaration wurden eingeführt, die die Anlage von Variablen und eigenen Typen reduzierte. Die modernen Statements sind meist auch performanceoptimiert, daher lohnt sich der Umstieg auf die neue Syntax.

 

ABAP Test Cockpit

Das ABAP Test Cockpit, kurz ATC, ist die Weiterentwicklung des Code Inspectors und modernisiert die Bausteine zur statischen Code-Analyse durch Prüfungen. Das Framework basiert auf den SCI Prüfungen, ist aber auch offen für kundeneigene Prüfungen, sowie Prüfungen aus der Open Source Community. Das Framework kann so eingestellt werden, dass bei Freigabe einer Transportaufgabe, die enthaltenen Objekte geprüft werden und bei Verstößen die Freigabe verhindert wird oder man ein dokumentierte Ausnahme stellt. Mittlerweile ist das ATC auch in der BTP verfügbar, was einige Vorteile mit sich bringt.

 

ABAP Development Tools

Die neue Entwicklungsumgebung in Eclipse wurde zu Anfang von den Entwicklern belächelt, da sie der SE80 unterlegen war, aber auch viele Komfortfunktionen gefehlt hatten. Nach Jahren der Entwicklung hat das Tool aber nun mittlerweile auf modernen Systemen einen großen Vorteil im Hinblick auf Geschwindigkeit, Übersicht und Hilfsmittel bei der Entwicklung. Die Stärken findest du hier vor allem bei der Informationsbeschaffung und dem Refactoring, vor allem wenn du den ABAP Cleaner einsetzt.

 

BOPF

Das “Business Object Processing Framework” ist mittlerweile zwar schon wieder obsolet, stellt aber den Grundstein für die moderne Entwicklung mit RAP dar. Es stellt viele Konzepte zur Verfügung, die auch noch in der Zukunft benötigt werden, wie das Datenmodell, Validierungen, die Kapselung und Zentralisierung rund um das Business Objekt. BOPF wird vor allem auf Basis von verschiedenen Objekten implementiert, was aber zu viel Boilerplate Code geführt hat.

 

Gateway

Beschreibt den Weg in die Welt des Web und stellt standardisierte OData Schnittstellen zur Verfügung. Die Schnittstellen werden als Grundlage für UI5 und Fiori Anwendungen verwendet, aber auch zum Austausch von Daten. OData ist eine Spezifikation von REST Schnittstelle, bei der Zugriffe und die Form der Schnittstelle vorgegeben werden. Im Umfeld von SAP wird heute hauptsächlich Version 2 verwendet. OData v4 bringt viele Vorteile mit sich und wird mit den aktuellen S/4 HANA Releases, sowie in der Cloud, verwendet.

 

abapGit

Der Git Client für den ABAP Entwickler ist ein Open Source Projekt, welches ursprünglich durch Lars Hvam Peterson ins Leben gerufen worden war und mittlerweile durch einige Entwickler der Community, sowie der SAP selbst, getrieben wird. Dabei geht es darum, Git als Standard in die Unternehmen zu bringen und den Austausch von Quellcode und Projekten zu erleichtern.

 

Fiori / UI5

Ist das Designkonzept hinter UI5 um standardisierte Web Anwendungen zur Verfügung zu stellen. Die Entwicklung erfolgt in HTML und nodeJS, wodurch es einen Bruch zur klassischen ABAP Entwicklung gibt. Fiori soll die klassischen SAP GUI Anwendungen und Reports ablösen.

 

Web IDE

Es war die erste Entwicklungsumgebung auf der Neo Umgebung von SAP, mit der man Fiori Anwendungen entwickelt und auf dem Frontend Server deployed hat. Die Web IDE arbeitete bereits mit einem Git im Hintergrund, um den Quellcode der Apps zu verwalten.

 

CDS

Der Core Data Service wurde als Abstraktionsschicht zwischen Datenbank und Frontend implementiert. Damit kann Datenmodellierung bis hinunter zur Datenbank durchgeführt werden, um so die volle Kapazität der neuen HANA Datenbank zu nutzen. Gleichzeitig wird die Anpassung der Datenbank unter dem CDS View offen gehalten, ohne die Abhängigkeiten zur Software zu stören.

 

AMDP

"ABAP managed database procedures" basieren auf dem Prinzip des Code-Push-Down. So viel Arbeitslast, Ermittlungen und Berechnungen wie möglich auf die Datenbank geben. Aus den AMDP Klassen werden am Ende Datenbankfunktionen, die direkt auf der Datenbank ausgeführt werden. Sie können über Core Data Services zur Verfügung gestellt oder direkt über ABAP konsumiert werden.

 

Clean ABAP

Wie sieht eigentlich Clean Code für ABAP aus? Das sollte genau dieser Guide für alle ABAP Entwickler zur Verfügung stellen. Dabei handelt es sich um ein GitHub Repository, dass die verschiedenen Punkte von Clean Code auf die Programmiersprache ABAP überträgt und Vorschläge macht. Das Dokument wird von SAP und der Community weiterentwickelt und auf dem aktuellsten Stand gehalten.

 

codePal

Clean ABAP hat den ersten Wurf gemacht und das Konzept für Clean Code in ABAP eingeführt. Es fehlte allerdings an einer Code Anaylse um dem Entwickler etwas an die Hand zu geben und Hinweise zum Code zur Verfügung zu stellen. Mit codePal werden Prüfungen zur Verfügung gestellt, die in das ATC integriert werden und so den Entwicklungsprozess automatisch unterstützen.

 

RAP

Das “ABAP RESTful Programming Model” ist der Nachfolger von BOPF und verfolgt mehrere Ansätze, um eine leichtgewichtige Lösung für einige Anforderungen zu finden.

  • Die Abbildung eines Business Objekts im System, welches durch den ABAP Entwickler genutzt werden kann.
  • Die einfache Bereitstellung einer Fiori Anwendung basiert auf dem Objekt und einer Schnittstelle nach außen in Form eines OData Services.

 

Gleichzeitig stecken in dem Objekt alle Prüfungen, die man benötigt, um ein sauberes Objekt zu erzeugen.

 

Clean Core

Der Clean Core sollte das Ziel für jeden Kunden sein, der ein S/4 HANA System nutzt. Es bedeutet keine harten Modifikationen oder Anpassungen des SAP Systems, um so eine hohe Upgradefähigkeit zu gewährleisten und das System bereit für die Cloud zu machen. Clean Core liefert verschiedene Konzepte, um diesen Zustand zu erreichen.

 

Extensibility

Wie erweiterst du das System eigentlich sauber und richtig? Dafür gibt es den Ansatz der Extensibility, die die verschiedenen Konzepte der Erweiterbarkeit beschreibt. Hier gibt es vor allem die In-App-Extensibility, einige Fiori Anwendungen zur Erweiterung der Datenmodelle, Core Data Services, eigene Objekte oder zur Implementierung von BADIs. Ein zweites Konzept ist die Side-by-Side Extensibility, hier wird die eigentliche Erweiterung auf der BTP entwickelt und nur Daten über definierte Schnittstellen ausgetauscht.

 

Keyuser Tools

Waren die ersten Hilfsmittel für Keyuser (Anwender mit IT Knowhow, aber keine Entwickler), um den Standard mit einfachen Mitteln zu erweitern. Zusätzliche Felder auf dem gesamten Layer (Datenbank, Anwendung, UI) sind damit kein Problem, ebenso die schnelle Implementierung eines BADIs mit gewissen Einschränkungen. Weitere Apps sind die Erstellung kundeneigener Business Objekte oder die Modellierung von CDS Views auf freigegebenen Views.

 

BTP

Die “Business Technology Platform” ist die Cloud Lösung, die Services und Tools zur Verfügung stellt, um das ERP System zu erweitern und eigene Prozesse zur Wertschöpfung zu entwickeln. Die verschiedenen Services werden meist nach Verbrauch verrechnet, wodurch die Kosten variabel ausfallen. Über das Discovery Center sind die verschiedenen Services dokumentiert und an Beispielprozessen kann man den Nutzen erproben.

 

Steampunk

Der Projektname für das ABAP Environment, die ABAP Umgebung in der BTP, ist Steampunk. Deshalb wirst du Informationen dazu auch über die unterschiedlichen Suchbegriffe finden. Die Umgebung läuft als SaaS (Software as a Service) Lösung in der Cloud und repräsentiert den aktuellen Stand einer ABAP Umgebung. Alle drei Monate erhält man ein neues Release und neue Features, um das neueste ABAP zu entwickeln oder die Entwickler zu schulen.

 

Software Komponenten

Es war die erste Neuerung im ABAP Environment und stellt ein Strukturpaket im System zur Verfügung, worunter eine Anwendung entwickelt werden kann. Hinter jeder Software Komponente steht ein eigenes Git-Repository und es kann immer nur die gesamte Software Komponente ins nächste System importiert werden bzw. um es korrekt zu sagen, ein bestimmter Commit.

 

Fiori Elements

Elements Anwendungen sind leichtgewichtige Anwendungen, die vor allem aus Annotationen generiert werden und über die sogenannten Floorplans definiert werden. Diese geben Aussehen und Funktionsweise vor. Im Gegensatz zur Freestyle Entwicklung können hier standardisierte Anwendungen leicht und einfach zur Verfügung gestellt werden und sollten den Großteil der Fiori Anwendungen in der Landschaft ausmachen.

 

Business Application Studio

Das Business Application Studio oder kurz BAS, ist der Nachfolger der Web IDE. Neben der Fiori Entwicklung kannst du auch CAP Anwendungen auf nodeJS-Basis bauen und Workflows modellieren. Das Cloud Application Programming Model gehört aber nicht zum Teil von ABAP. Mittlerweile ist auch die AI von SAP, "Joule", in die Umgebung integriert.

 

Code Review

Hierbei handelt es sich um eine Entwicklungsmethode, bei der ein Entwickler nach Abschluss einer Entwicklung durch einen anderen Entwickler geprüft wird. Hier geht es vor allem um eine Qualitätssicherung, damit sichergestellt wird, dass aktuelle Konzepte eingehalten werden, der Code einfach und verständlich bleibt und in einer gewissen Art ein Know How Transfer stattfindet. In vielen Fällen lernen die Entwickler voneinander und du solltest einen Code-Review nicht als Kritik ansehen, sondern als Feedback zur Verbesserung.

 

Embedded Steampunk

Entwicklung On-Stack mit der Sprachversion "ABAP für Cloud Entwicklung", ist nun auch auf S/4 HANA Cloud und On-Premise möglich. Dabei entwickelt man Anwendungen entkoppelt vom Kern des Systems und kann nur freigegebene Schnittstellen der SAP, auch API genannt, nutzen. Mittlerweile wurde Embedded Steampunk in ABAP Cloud umbenannt, umfasst aber die gleichen Konzepte.

 

Flexible Programming Model

Fiori Elements Anwendungen sind relativ starr, da sie ihrem Floorplan folgen. Mit dieser Technik erhältst du als Entwickler die Möglichkeit, Anpassungen an solchen Anwendungen durchzuführen und diese an definierten Punkten zu erweitern. Funktioniert nur für Anwendungen und Services, die auf einem OData v4 basieren. Neben den Erweiterungsmöglichkeiten werden auch Building Blocks zur Verfügung gestellt, die Komponenten zusammenfassen und so einfacher implementierbar machen.

 

ABAP Cloud

Es ist das neueste Entwicklungsmodell der SAP, welches beschreibt, wie man Clean Core und Cloud Ready Anwendungen auf einem System bauen kann. Dabei bricht man mit vielen Konzepten, die vor allem später in der Cloud nicht mehr funktionieren, wie der einfache Dateizugriff, SAP GUI oder Reports. Das Modell ist recht umfangreich in den Methoden, welche für die Entwicklung zu beachten sind. Du erreichst Clean Core, wenn du dich an ABAP Cloud hältst.

 

Released APIs

Die freigegebenen APIs sind zentraler Bestandteil für die Entwicklung, wenn es um den Zugriff auf den SAP Standard geht. Hier solltest du die relevanten Funktionen im Kopf haben, um möglichst viel Standardfunktionalität in deiner Entwicklung zu verwenden und die Möglichkeiten der Software zu nutzen.

 

XCO Libraries

Die XCO Bibliotheken sind Zusatzfunktionen die SAP zur Verfügung stellt. Im Grunde handelt es sich hier auch um freigegebene APIs, das Thema haben wir allerdings noch einmal extra gestellt. Grundsätzlich erfordert es etwas mehr Aufwand die APIs und ihr Nutzung zu lernen, zum anderen ist ein Überblick der Funktionen etwas schwerer.

 

Bewertung

Hier findest du die Bewertung der einzelnen Technologien und Modelle nach Relevanz der Technologie und Aufwand zum Lernen der Inhalte. Bei der Einschätzung handelt es sich um eine persönliche Meinung und Erfahrungen von unserer Seite.

Technologie Relevanz Aufwand
ABAP OO +++ +++
ABAP Unit +++ +++
Modern ABAP +++ +
ABAP Test Cockpit (ATC) ++ ++
ABAP Development Tools (ADT) +++ +++
BOPF - +++
Gateway + ++
abapGit ++ +
Fiori / UI5 +++ +++
Web IDE - ++
Core Data Service (CDS) +++ +++
AMDP ++ ++
Clean ABAP ++ +++
codePal + -
RAP +++ +++
Clean Core ++ ++
Extensibility ++ ++
Keyuser Tools + ++
Business Technology Platform (BTP) ++ +++
Steampunk ++ +++
Software Komponenten +++ +
Fiori Elements +++ +
Business Application Studio (BAS) ++ ++
Code Review + +++
Embedded Steampunk ++ ++
Flexible Programming Model +++ ++
ABAP Cloud +++ +++
Released APIs +++ ++
XCO Libraries + +++