Schnelleinstieg in SAP ABAP Objects. Rüdiger Deppe
Читать онлайн книгу.Boris Rubarth: Schnelleinstieg in ABAP®
Thomas Stutenbäumer: SAP® Praxishandbuch ABAP Teil 1 – Konzeption, Entwicklung und Debugging
Michal Krawczyk: SAP® SOA Integration – Enterprise Service Monitoring
Thomas Stutenbäumer: SAP® Praxishandbuch ABAP Teil 2 – Performance, Erweiterungen, Transportwesen
Kathi Kones: SAP® List Viewer (ALV) – A Practical Guide for ABAP Developers
Marcel Schmiechen: Adobe® Interactive Forms – Interaktive Formulare in SAP®
Jelena Perfiljeva: What on Earth is an SAP® IDoc?
Paul Bakker & Rick Bakker: How to Pass the SAP® ABAP Certification Exam
Christoph Lordieck: SAP®-Schnelleinstieg: ABAP-Entwicklung in Eclipse
Ulrich Bähr, Axel Treusch: Praxisbuch SAP® Interactive Forms und Adobe LiveCycle Designer
Rüder Deppe: ABAP-Programmierung unter SAP® S/4HANA
Vorwort
SAP hat mit ABAP eine leistungsfähige Programmiersprache entwickelt, die immer wieder Neuerungen unterworfen ist. Solange seitens SAP ausschließlich die prozedurale Variante von ABAP verfügbar war, stand diese Programmiersprache in der Kritik, da sie gegenüber den damals schon existierenden objektorientierten Programmiersprachen als veraltet galt.
Schließlich hat die SAP ABAP Objects als objektorientierte Variante entwickelt. Während lange Zeit das alte prozedurale ABAP und ABAP Objects gleichberechtigt nebeneinander eingesetzt werden konnten, sind die neuen SAP-Features nur noch mit ABAP Objects anwendbar. So sind z.B. die modernen Benutzeroberflächen ab WebDynpro-Technik nur noch objektorientiert nutzbar.
Dieses Buch ist sowohl für Anfänger in ABAP Objects als auch für Fortgeschrittene geeignet. Als Anfänger finden Sie hier mühelos anwendbare Übungsprogramme, mit denen Ihnen das Thema »ABAP Objects« auf leicht verständliche Weise nähergebracht wird. Sie sollten aber zumindest ABAP-Grundkenntnisse besitzen. Falls Sie bereits fortgeschrittener Anwender sind, finden Sie hier neue Anregungen zum Umgang mit der objektorientierten Arbeitsweise.
In Kapitel 1 werden zunächst das prozedurale ABAP und ABAP Objects gegenübergestellt. Hier erkläre ich Ihnen, welche Vorteile ABAP Objects gegenüber dem prozeduralen ABAP bietet. Außerdem stelle ich die hinter beiden Programmierweisen stehenden Gedankenmodelle vor und erkläre, wie man planungs- und gedankenmäßig in ein ABAP-Objects-Programm einsteigen sollte.
In Kapitel 2 werden Ihnen die Grundlagen von ABAP Objects dargelegt. Ich stelle Ihnen die unterschiedlichen Arten von Klassen vor und erläutere, wie man solche Klassen aufbaut. Außerdem vermittle ich Ihnen, wie Sie mit den aus den Klassen generierten Objekten weiter verfahren. Mit ABAP-Release 7.4 haben sich diverse Neuerungen in der ABAP-Sprache ergeben. An Stellen, an denen sich diese Änderungen auf ABAP Objects auswirken, verweise ich explizit auf die aktuellen Codings.
Das ABAP-Release 7.5 hat für ABAP Objects keine weiteren Modifikationen gebracht und findet daher in diesem Buch keine Berücksichtigung.
In Kapitel 3 finden Fortgeschrittene gute Anregungen für ihre tägliche Arbeit mit ABAP Objects. Um dieses Kapitel zu verstehen, sind durchaus einige Fertigkeiten im Umgang mit ABAP Objects notwendig. Sie lernen OO-Transaktionen kennen und erfahren, wie man mit den Object Services, dem Persistenzdienst für ABAP Objects, umgeht. Außerdem werden die Factory-Methode als moderne Vorgehensweise in ABAP Objects, das Shared Memory als benutzer- und programmübergreifendes Hauptspeichermedium sowie das MVC-Prinzip vorgestellt. Danach erkläre ich den Umgang mit Datenreferenzen und den Run Time Type Services (RTTS). Als Abschluss erfahren Sie, welche Möglichkeiten sich Ihnen mit dem gegenüber früher deutlich verbesserten Tool ABAP-Unit-Test (TDD) bieten.
Der Leser dieses Buches findet viele Übungsprogramme, mithilfe derer er seine gelernte Theorie gleich in die Praxis umsetzen kann. Bei den Übungsprogrammen für Kapitel 2 ist es erforderlich, dass Sie diese von Anfang bis Ende durcharbeiten, weil sie jeweils auf das vorher Gelernte aufbauen. Auch bei den Übungsprogrammen des Kapitels 3 ist dieses Vorgehen teilweise anzuraten.
Ich bedanke mich bei dem Team von Espresso Tutorials für die Unterstützung bei der Erstellung dieses Buches, vor allem bei Anja Achilles, Johann-Christian Hanke und Martin Munzel. Außerdem gilt mein Dank meiner Frau Ivon für ihren administrativen Beistand.
Im Text verwenden wir Kästen, um wichtige Informationen besonders hervorzuheben. Jeder Kasten ist zusätzlich mit einem Piktogramm versehen, das diesen genauer klassifiziert:
Hinweis
Hinweise bieten praktische Tipps zum Umgang mit dem jeweiligen Thema.
Beispiel
Beispiele dienen dazu, ein Thema besser zu illustrieren.
Achtung
Warnungen weisen auf mögliche Fehlerquellen oder Stolpersteine im Zusammenhang mit einem Thema hin.
Zum Abschluss des Vorwortes noch ein Hinweis zum Urheberrecht: Sämtliche in diesem Buch abgedruckten Screenshots unterliegen dem Copyright der SAP SE. Alle Rechte an den Screenshots hält die SAP SE. Der Einfachheit halber haben wir im Rest des Buches darauf verzichtet, dies unter jedem Screenshot gesondert auszuweisen.
Optimale Anzeige der Quelltexte
Dieses Buch enthält zahlreiche Computerquelltexte mit Programmiercode. Damit Sie die korrekten Umbrüche sehen, empfehlen wir Ihnen, Ihr Lesegerät ggf. in den Landschaftsmodus (Querformat) zu schalten.
1 ABAP Objects versus prozedurales ABAP
Sie haben bisher erfolgreich mit prozeduralem ABAP gearbeitet. Dieses Kapitel gibt Auskunft darüber, warum Sie auf ABAP Objects umsteigen und wie Sie gedanklich an die neue Problemstellung herangehen sollten.
1.1 Begriffsbestimmung
Die frühere, althergebrachte Variante der ABAP-Programmierung bezeichnen wir als prozedurales ABAP. Es wird ein Programm erstellt, an dessen Anfang die Selektion von Daten steht. Diese werden anschließend verarbeitet und am Ende des Programms ausgegeben.
Die neue Variante der ABAP-Programmierung bezeichnen wir als ABAP Objects oder ABAP OO. ABAP Objects besteht aus Klassen. Jede Klasse stellt ein betriebswirtschaftliches Objekt (ein Haus, ein Auto, ein Flugzeug) dar, mit welchem sich das Programm beschäftigt.
Eine Klasse in ABAP Objects besteht aus Komponenten. Dieses sind die
Attribute (die Eigenschaften des betriebswirtschaftlichen Objekts),
Methoden (Verarbeitung der Attribute),
Ereignisse (Veröffentlichungen von Zustandsänderungen der Klasse, die klassenintern oder klassenübergreifend Methoden auslösen).
1.2 Warum ABAP Objects?