- 18. März 2012

ABAP für uns Java-Entwickler – Teil II

ABAP scheint auf den ersten Blick meilenweit entfernt zu sein von Java. Den Einstieg für Java-Entwickler erleichtert es, sich die Gemeinsamkeiten vor Augen zu führen – zum Beispiel anhand der Definition eines Objektes.

Zunächst einmal: Auch ABAP ist objektorientiert. Die alte Java-Maxime „Everything is an object“ gilt zwar nicht („Some ABAP-things are an object“ müsste es wohl heißen. Oder „Most new ABAP things are an object“). Trotzdem: ABAP Objects hat seit dem Release 4.6 Einzug gehalten und ist seit Langem etabliert. Allerding muss man sich darauf einstellen, dass in der Praxis die klassische prozedurale Variante durchaus noch eine Rolle spielt.

ABAP Klassen

ABAP kennt also Klassen analog zu Java. Die Syntax ist anders und etwas gewöhnungsbedürftig. Man muss sich aber nur die Analogien vor Augen führen, dann wird das Wichtigste schnell klar.  Als Beispiel hier eine Java Klasse mit Konstruktor, Attributen, Methoden, Sichtbarkeit und ein paar Statements, wie man sie kennt:

Java Klasse

Java Klasse: Konstruktor, Attribute, Methoden, Sichtbarkeit und Statements.

(Zum Sinn und Zweck dieser Klasse siehe hier: 99 Bottles of beer)

Wir sind Ihr Dienstleister für die Entwicklung, die Ihr SAP noch besser macht.
Schon in der Ideenphase unterstützen wir Sie bei der Definition der Anforderungen. Die Konzeption und Umsetzung erfolgt durch unsere SAP Experten.

Sie erhalten die Komplettlösung – Ihr Projekt machen wir zu unserem Projekt. Mit professionellem Projektmanagement sicheren wir den Projekterfolg.

Gerne spreche ich mit Ihnen über Ihre Ausgangslage und zeige Lösungsmöglichkeiten auf. Auf Wunsch unterbreite ich Ihnen im Anschluss ein unverbindliches Angebot.

Kontaktieren Sie mich: Telefon 0211.9462 8572-16 oder per E-Mail info@erlebe-software.de
Ingo Biermann, Fachbereichsleiter

 

Im Vergleich dazu eine ähnliche Klasse in ABAP. Zunächst fällt auf, dass Deklaration und Implementierung getrennt sind.

ABAP Klasse

ABAP Klasse

Die Deklaration umfasst eine öffentliche und eine private Liste von Methoden. Die wiederum beinhalten die Methodendefinition mit Eingabe- und Rückgabeparametern. Es fällt auf, dass viel häufiger mit sprechenden Schlüsselworten gearbeitet wird, als mit einfachen Trennzeichen. Die Implementierung:

ABAP Implementierung

ABAP Implementierung

 

Java ABAP
Abschluss eines Statements ; .
Blöcke { } Schlüsselwörter
Referenz auf sich selbst this me
Instanzieren Object obj = new Object(); DATA: lo_obj TYPE REF TO Object.CREATE OBJECT: lo_obj.
Klassenmethoden rufen object.method() object->method()

Wenn auch nicht zwingend erforderlich, ist es doch eine weit verbreitete Konvention die Datendeklaration gesammelt an den Anfang von Programmen und Methoden zu stellen. In Java wird dies zwar auch teilweise als guter Stil empfohlen, ist aber bei weitem nicht so üblich wie in ABAP.  Diese TYPES- und DATA-Blöcke können durchaus etwas länger werden. Damit man nicht den Überblick verliert haben sich auch Konventionen in der Benennung der Variablen eingebürgert. Diese sind zwar nicht immer ganz einheitlich gehandhabt, werden aber oft nach folgendem Schema konstruiert:

{Prefix1}{Prefix2}_{name}

Das erste Prefix zeigt den Verwendungszweck an, das zweite den Typ:

Prefix1 Prefix2
L lokal V einfache Variable
I Import S Struktur
E Export T Tabelle
G Global R Referenz
T Tabellentyp O Referenz auf ein Objekt

In unserem Beispiel wird daraus dann lv_text als lokale Variable und ev_text als einfacher Exportparameter.  Die inflationäre Verwendung von Schlüsselworten ist auffällig. Nicht nur FOR, ELSE und NEXT sind in ABAP reserviert, sondern auch RADIOBUTTON, NO-DISPLAY, DISTANCE und DEPARTMENT. Über 700 reservierten Worte in ABAP stehen nur etwa 50 in Java gegenüber. In der Regel hilft da nur die Onlinehilfe, die aber zum Glück sehr umfangreich ist: Ein Druck auf F1 liefert zum Schlüsselwort DISTANCE die Erklärung:

ABAP-Schlüsselwortdokumentation

ABAP-Schlüsselwortdokumentation

Also die Sprache selbst dürfte keinen Java-Entwickler vom ABAP-Kodieren abhalten. Man darf sich nur nicht verwirren lassen!

Beim nächsten mal werfen wir mal einen Blick auf die Vorzüge der ABAP Entwicklungsumgebung!


SHARE


Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.