Schnelleinstieg in SAP ABAP Objects

ABAP, Objects

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.

Schnelleinstieg in SAP ABAP Objects

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.

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.

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)

Warum ABAP Objects?

Viele Entwickler arbeiten bereits seit Langem erfolgreich mit prozeduralem ABAP. Das ist das, was sie gelernt haben, was sie schnell und einfach programmieren k├Ânnen. Sie fragen sich vermutlich: ┬╗Warum sollte ich ABAP Objects benutzen?┬ź

Wenn man Klassen, Attribute, Methoden und Ereignisse mit geeigneten sprechenden Bezeichnungen versieht, ist eine Wartung des Programms wesentlich einfacher und damit schneller sowie komfortabler durchf├╝hrbar, als es bei prozeduralem ABAP m├Âglich ist, weil die Modularisierung wesentlich ausgepr├Ągter ist. Methoden sollten allerdings nach M├Âglichkeit nicht aus zu viel Coding bestehen.

Gedankenmodelle und Herangehensweisen beider Varianten

Wenn Sie Ihre Programmentwicklung von prozeduralem ABAP nach ABAP Objects ├Ąndern, m├╝ssen Sie sich dar├╝ber im Klaren sein, dass Sie Ihre gedankliche Herangehensweise an das zu l├Âsende Problem vollst├Ąndig ├Ąndern m├╝ssen. Bei dieser Vorgehensweise wird au├čer Acht gelassen, dass es sich bei dem Haus lediglich um ein virtuelles Zahlenkonstrukt innerhalb des Computers handelt.

Dieses besteht aus beispielsweise 4 Au├čenw├Ąnden, 8 Innenw├Ąnden, 10 m H├Âhe und 7 Fenstern. Ihr Programm ist nicht dazu da, die T├Ątigkeiten des Hausbaus abzubilden, sondern sollte das fertige Haus darstellen.

Machen Sie sich bei ABAP Objects erst bewusst, welches Objekt Ihre Klasse konkret abbilden soll. Erst dann legen Sie die Attribute, also die Eigenschaften dieses Objekts, an. Anschlie├čend erstellen Sie die Methoden, mit denen Sie die Werte f├╝r die Attribute ermitteln und verarbeiten.

Klassen und Objekte in ABAP Objects

Was sind Klassen? Aus welchen Komponenten bestehen sie, und wie arbeitet man mit ihnen? Wie werden Instanzen (Objekte) erzeugt? Antworten auf diese Fragen finden Sie in diesem Kapitel.

Globale und lokale Klassen

Die Klasse ist der elementare Hauptbestandteil von ABAP Objects (wie ├╝brigens bei jeder anderen objektorientierten Programmiersprache auch). Eine Klasse bezeichnet ein Objekt aus der realen Welt, das mittels dieser Klasse beschrieben werden soll. Einfach ausgedr├╝ckt, hie├če das z.B.: Ein Flugzeug wird durch die Klasse FLUGZEUG dargestellt, ein Haus durch die Klasse HAUS. Allerdings gilt es, die im jeweiligen Unternehmen vorhandenen Namenskonventionen zu beachten.

Man unterscheidet lokale und globale Klassen. Lokale Klassen werden innerhalb eines Programms definiert (so wie eine normale Datendeklaration) und sind nur innerhalb dieses Programms vorhanden. Globale Klassen werden im Class Builder mit der Transaktion SE24 definiert und stehen systemweit f├╝r eine beliebige Verwendung zur Verf├╝gung.

Eine Klasse besteht aus bis zu drei Sichtbarkeitsbereichen:

  • public,
  • private,
  • protected.

Komponenten (Attribute, Methoden und Ereignisse), die als public definiert sind, sind aus jedem Programm oder jeder Klasse aufrufbar und sichtbar. Bei der lokalen Klasse beschr├Ąnkt sich die Aufrufbarkeit auf das Programm, in welchem die Klasse definiert wurde.

Als protected definierte Komponenten sind nur innerhalb der eigenen Klasse, die diese deklariert hat, und innerhalb der Vererbungshierarchie nach unten aufrufbar und sichtbar, w├Ąhrend als private definierte Komponenten dies ausschlie├člich innerhalb der eigenen Klasse sind.

Lokale Klassen

Lokale Klassen werden relativ selten benutzt. Sie werden innerhalb eines Programms angelegt und sind nur in diesem Programm sichtbar sowie verwendungsf├Ąhig.

Schnelleinstieg in SAP ABAP Objects - Lokale Klassen

 

Schnelleinstieg in SAP ABAP Objects - Lokale Klassen

Globale Klassen

Globale Klassen werden im sogenannten Class Builder (Transaktion SE24) angelegt und stehen dann im gesamten SAP-System zur Verf├╝gung. Sie k├Ânnen den Class Builder auch starten, indem Sie die Transaktion SE80 aufrufen und im Dropdown-Men├╝ Klasse/Interface w├Ąhlen.

Schnelleinstieg in SAP ABAP Objects - Class Builder

Attribute und Methoden

Die wichtigsten Komponenten einer Klasse sind Attribute und Methoden. Die Attribute stellen die Eigenschaften des Objekts dar, welches die Klasse repr├Ąsentiert. Um diese Attribute zu ermitteln und zu verarbeiten, werden die Methoden ben├Âtigt.

Es gibt sie als Instanzkomponenten und statische Komponenten.

Instanzkomponenten sind die eigentlichen Eigenschaften und Verarbeitungsmethoden des Objekts. Sie sind nur ansprechbar, nachdem aus der Klasse ein Objekt gebildet (instanziiert) wurde. Werden mehrere Objekte aus der Klasse instanziiert, hat jedes Objekt seine eigenen Werte in den Instanzattributen.

Statische Komponenten hingegen sind jederzeit verwendbar. Es m├╝ssen nicht erst Objekte aus der Klasse gebildet werden, um mit den statischen Komponenten arbeiten zu k├Ânnen. Statische Attribute haben nur einen Wert innerhalb der Klasse, auch wenn mehrere Objekte aus dieser instanziiert wurden. Sie sind nur notwendig, wenn alle Objekte auf den gleichen Wert zugreifen m├╝ssen, oder falls sie gebraucht werden, bevor mit der Klasse ein Objekt erzeugt wurde.

Fortgeschrittene Techniken

Sie haben jetzt die Grundbausteine kennengelernt, aus denen ABAP Objects aufgebaut ist. Wenn Sie gut mit Ihnen umgehen k├Ânnen, sollten Sie sich nun ruhig an die fortgeschrittenen Techniken dieser erweiterten Programmiersprache von SAP heranwagen.

OO-Transaktion

Mithilfe einer OO-Transaktion l├Ąsst sich ein Transaktionscode direkt mit der Methode einer Klasse verbinden, ohne dass daf├╝r extra ein Programm geschrieben werden muss. Der Transaktionscode ruft dann direkt die Methode der Klasse auf.

Schnelleinstieg in SAP ABAP Objects - Transaktionpflege

Object Services

Sie haben in Kapitel 2 bereits gelernt, wie Sie f├╝r Objekte, die aus Daten bestehen, Klassen anlegen. Die Daten der Objekte werden in Attribute umgewandelt und diese wiederum durch Methoden verarbeitet. Mithilfe der Methoden werden die Attributwerte aus Datenbanktabellen gelesen oder in ihnen gespeichert.

Um Datenselektion und Datenverbuchung ebenfalls ├╝ber ABAP Objects laufen zu lassen, wurden die Object Services entwickelt. Das Object Services Framework ist ein in ABAP Objects geschriebenes Mittel, um komfortabel Datenbanktabellen auszulesen, in Klassenattribute zu verwandeln sowie die Attributwerte in die Datenbanktabellen zu ├╝bertragen.

Au├čerdem erm├Âglicht es, dass eine Speicherung der Verbindung zwischen Objekt und relationaler Datenbanktabelle auf der Datenbank stattfinden kann. Solche Klassen bezeichnen wir als persistente Klassen. Deren Attribute, welche Felder von Datenbanktabellen abbilden, hei├čen persistente Attribute. Die Abbildung von Klassen auf relationale Datenbanktabellen wird als objektrelationales Mapping bezeichnet, kurz O/R-Mapping.

Shared Objects

Wenn Programme Daten vom Datenbankserver laden, stehen diese Daten in der Regel nur dem Programm (bzw. dem ausf├╝hrenden Benutzer) zur Verf├╝gung, das sie gerade geladen hat. Um Daten programm├╝bergreifend zu nutzen, k├Ânnen Sie diese mithilfe von EXPORT TO MEMORY ID in das ABAP Memory laden und ├╝ber IMPORT FROM MEMORY ID wieder auslesen.

Dieses ABAP Memory steht aber nur dem jeweiligen Benutzer innerhalb einer konkreten Aufrufkette von Programmen zur Verf├╝gung.

Das MVC-Prinzip

Das MVC-Prinzip (Model, View, Controller) besagt, dass die Bearbeitung von Daten immer mithilfe von mindestens drei Klassen erfolgen soll, wie Sie es in Abbildung 3.30 sehen.

  • Model-Klasse Hier werden die Eigenschaften des zu bearbeitenden Objekts in Attributen gehalten. Diese Klasse steht in Verbindung zur Controller-Klasse.

  • Controller-Klasse Hier findet die Verarbeitung der Attributwerte aus der Model-Klasse sowie der Benutzeraktionen des Views statt. Die Controller-Klasse steht in Verbindung zur Model- und zur View-Klasse.

  • View-Klasse In der View-Klasse erfolgt die Anzeige der Objektdaten. Die View-Klasse steht in Verbindung zur Controller-Klasse und erh├Ąlt von ihr die anzuzeigenden Daten.

Schnelleinstieg in SAP ABAP Objects - MVC Prinzip

Zusammenfassung

Nun d├╝rfte es Ihnen nicht mehr schwerfallen, mit ABAP Objects zu arbeiten. Als Anf├Ąnger werden Sie sich nach Bearbeitung aller ├ťbungsprogramme sicher in das Thema eingearbeitet haben, w├Ąhrend Fortgeschrittene gut ger├╝stet mit den neuen Features, die die SAP in ihre Programmierung implementiert hat, umgehen k├Ânnen.

29,95 ÔéČ
Schnelleinstieg in SAP ABAP Objects

Schnelleinstieg in SAP ABAP Objects

  • Seiten: 252
  • Sprache: Deutsch

SAP hat mit ABAP eine leistungsf├Ąhige Programmiersprache entwickelt, die immer wieder Neuerungen unterworfen ist.

  • abap
  • objects
Jetzt kaufen

Themen: ABAP, Objects

F├╝r den Newsletter anmelden und nie mehr Neuerungen verpassen!

├ťber uns

In unseren Printb├╝chern und E-Books servieren wir SAP-Wissen wie einen Espresso: Auf das Wesentliche ÔÇô angereichert mit konkreten Fallbeispielsen und Videos.

Schlagw├Ârter

  • Analysis
  • Analysis Office
  • Analytics
  • Analyzer
  • Berechtigung
  • BEx
  • BI
  • BPC
  • BusinessObjects
  • BW
  • Cloud
  • Design Studio
  • Einstieg
  • HANA
  • Lumira
  • Performance
  • Web Intelligence

Copyright 2022 Espresso Tutorials GmbH