R/2 bzw. ABAP® /4 Programmierer gesucht? Echt jetzt?

Wie die vielen anderen U-Bahn Fahrgäste starre ich während dem morgendlichen Weg in die Arbeit auf mein Handy und scrolle Facebook, Instagram und Twitter durch. Vor ein paar Tagen wurde ich plötzlich auf Twitter bei einem Jobinserat stutzig:

Da sucht doch tatsächlich eine Firma aus Berlin einen ABAP /4 Entwickler. Echt? Gibt’s ja nicht! Zumal ich mich erinnere, dass ABAP als ABAP /4 nur in der R/2 und den ganz frühen R/3 Zeiten bezeichnet wurde. Sucht da tatsächlich jemand einen R/2 Entwickler? Oder einen R/3 Entwickler der nicht objektorientiert entwickeln kann? Oder meinen die vielleicht einen S/4HANA Entwickler? Der Zusatz /4 wurde jedenfalls noch vor dem Jahrtausendwechsel mit dem Einzug der objektorientierten Welt in ABAP entfernt. Da der Bewerber auch noch ABAP-OO kennen soll war mir dann doch schnell klar, dass ich leider nicht mehr als R/2 Entwickler einsteigen kann.

 

ABAP – ABAP /4 – ABAP Objects/ABAP OO – modernes ABAP

Vermutlich weiß jeder, dass ABAP für Allgmeiner Berichts Aufbereitungs Prozessor oder in der englischen Form für Advanced Business Application Programming steht.

ABAP /4 wurde die Programmiersprache bereits unter R/2 bezeichnet und in den frühen R/3 Zeiten wieder entfernt. /4 sollte zeigen, dass es sich bei ABAP um eine Programmiersprache der 4. Generation (4GL) handelt.

Als ABAP Objects/ABAP OO wird der Bestandteil von ABAP bezeichnet, der die objektorientierte Programmierung auf Basis von Klassen und Interfaces erlaubt. ABAP Objects wurde mit SAP R/3 4.6 verfügbar und sollte in der Zwischenzeit jeder ABAP Entwickler beherrschen.

Zuletzt taucht auch immer öfter der Begriff modernes ABAP. ABAP ist eine sehr lebendige Programmiersprache welche laufend weiterentwickelt. Als ABAP Entwickler sollten wir danach trachten immer den aktuellesten, möglichen ABAP Syntax – modernes ABAP – einzusetzen.

Modernes ABAP

Im Laufe der Jahre wurden viele Weiterentwicklungen an vorhandenen Spracheigenschaften vorgenommen oder gänzlich neue Funktionen hinzugefügt. ABAP Objects war sicherlich die mächtigste Erweiterung von ABAP, aber auch kleinere Erweiterungen wie z.B. die Regular Expressions (REGEX) oder zuletzt die impliziten Datendefinitionen können hier genannt werden.

SAP verfolgt im ABAP seit den ersten Anfängen die strikte Abwärtskompatibilität. Ein nicht unbedeutender Teil der nach wie vor laufenden Entwicklungen wurden vor 10, 20 Jahren oder gar noch zu R/2 Zeiten erstellt. Nachfolgend ein Beispiel aus einem ABAP 7.50 System:

Diese strikte Abwärtskompatibilität birgt aber für die ABAP Entwickler große Gefahren:

  • Ein arrivierter ABAP Entwickler kann auch mit einem etwas angegrauten Wissen nach wie vor ABAP Programme erstellen. In einem R/3 System kann er sogar ohne ABAP Objects tarnen und täuschen. Es besteht oft keine zwingende Notwendigkeit neue Konzepte einzusetzen.
  • Ein neuer ABAP Entwickler wird wegen der vielen Möglichkeiten verwirrt sein. Sehr oft werden bestehende Programme angepasst oder kopiert wodurch die alten Konzepte fortgesetzt werden.

Um dieses Verrotten der Entwicklungen zu verhindern muss man im Hinblick auf den ABAP Syntax nur zwei Regeln beachten:

Verwenden Sie keine obsoleten Sprachelemente

Informieren Sie sich regelmäßig über Neuheiten und die ABAP Releasenotes

 

Obsolte Sprachelemente

Bei ABAP Objects ist ein Großteil der obsoleten Anweisungen bereits verboten. Allein schon deshalb sollte man unbedingt ABAP Objects einsetzen. Obsolete Sprachelemente sollten in jedem Fall vermieden werden. Es gibt für alle diese Sprachelemente neuer Formen mit wesentlich mehr Möglichkeiten.

Betrachten wir das einfache Beispiel MOVE

MOVE ist schon seit einigen Jahren obsolet und wird aber nach wie vor in vielen Programmen eingesetzt. Mit MOVE kann man z.B. weder Konstrukturausdrücke oder Tabellenaustrücke verwenden noch eine Inline-Deklaration einsetzten. Statt MOVE sollte nur mehr einheitlich mit = oder ?= gearbeitet werden:

 

Übersicht über die obsoleten ABAP Sprachelemente

 

ABAP Releasenotes

Mit jedem neuen ABAP Release, aktualisiert SAP auch die ABAP Releasenotes. Ja, es gibt tatsächlich ABAP Releasenotes und ein regelmäßiger Blick lohnt sich. Meistens findet man bei neuen ABAP Releases auch unzählige Blogs auf sdn.sap.com. Hier zwei Blogs zum aktuellen ABAP Release welche einen optimalen Überblick liefern:

Links zu den ABAP Releasenotes

Unter dem nachfolgenden Link findet man alle ABAP Releasenotes seit der Version 3.0 bis zum jetzt aktuellesten System ABAP 7.52:

 

Fazit

Wir ABAP Entwickler sind dafür verantwortlich gute und wartungsfreundliche Entwicklungen vorzunehmen. Die Vermeidung von obsoleten Kommandos oder Verfahren ist ein wichtiger Bestandteil von wartungsfreundlichen Entwicklungen. Wir selbst gehen ja auch davon aus, dass sich Ärzte, Automechaniker oder sogar Politiker regelmäßig weiterbilden und „obsolete“ Verfahren nicht mehr einsetzen.