Rheinwerk < openbook > SAP-Wissen aus erster Hand
SAP-Wissen aus erster Hand.
 
Inhaltsverzeichnis
Vorwort zur vierten Auflage
1 ABAP und die ersten Schritte im SAP-System
2 ABAP Dictionary
3 Programmieren im ABAP Editor
4 Felder und Berechnungen
5 Modifikation von Zeichenketten
6 Debugging von Programmen
7 Modifikation von transparenten Datenbanktabellen
8 Rechnen mit Datum und Zeit, Mengen und Währungen
9 Mit Daten in einer Datenbanktabelle arbeiten
10 Programmablaufsteuerung und logische Ausdrücke
11 Selektionsbildschirme
12 Interne Tabellen
13 Modularisierung von Programmen
14 Weiterführende Themen
A Icons auf einen Blick
B Abkürzungsverzeichnis
C Die Autoren
Stichwortverzeichnis

Download:
- Beispielprogramme, ca. 23 KB

Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Einstieg in ABAP von Karl-Heinz Kühnhauser, Thorsten Franz
Buch: Einstieg in ABAP

Einstieg in ABAP
Pfeil 13 Modularisierung von Programmen
Pfeil 13.1 Überblick
Pfeil 13.2 Quelltext-Module
Pfeil 13.3 Prozeduren
Pfeil 13.3.1 Unterprogramme
Pfeil 13.3.2 Funktionsbausteine
Pfeil 13.3.3 ABAP-Klassen
Pfeil 13.4 Speicherbereiche für Datenübergabe
Pfeil 13.4.1 Globales SAP Memory
Pfeil 13.4.2 Lokales SAP Memory
Pfeil 13.4.3 ABAP Memory
Pfeil 13.4.4 Shared Objects
Pfeil 13.5 Codebeispiele zur Modularisierung
Pfeil 13.6 Codebeispiele zum Aufruf fremder Reports

Langsam werden unsere Beispielprogramme umfangreicher – da wird es Zeit, etwas Ordnung in deren Struktur zu bringen. Dies können Sie mit verschiedenen Methoden der Modularisierung erreichen.

 
Zum Seitenanfang

13    Modularisierung von Programmen Zur vorigen ÜberschriftZur nächsten Überschrift

Klar gegliederte Pakete mit abgegrenzter Aufgabenstellung – das Ideal des Baukastenprinzips. Wenn Sie in Ihren Programmen komplexe Lösungen in gekapselte kleine Komponenten zerlegen, werden Sie die hohe Transparenz und die leichte Änderbarkeit schnell zu schätzen wissen. In ABAP heißt das Mittel zum Zweck Modularisierung – und in diesem Kapitel lernen Sie wichtige Modularisierungstechniken kennen.

Zunächst eine kleine, aber nicht unwichtige Vorbemerkung: Die Strukturierung einer Lösung findet im Kopf statt, nicht im Quellcode. Der Quellcode bildet die Lösung nur ab – ob sie gut strukturiert ist oder nicht. Die Werkzeuge einer Entwicklungsumgebung sind kein Ersatz für ein gutes Lösungskonzept, und eine schlechte Lösung bleibt eine schlechte Lösung, auch wenn sie die feinsten Modularisierungstechniken nutzt und auf einem Superrechner schneller läuft.

[+]  Erst konzipieren, dann programmieren

Vor der ersten Zeile Quellcode sollten Sie deshalb immer erst Ihr Programm konzipieren, strukturieren, die erforderlichen Recherchen durchführen und den Lösungsentwurf prüfen – und erst danach beginnen, den Quellcode im Editor zu schreiben.

 
Zum Seitenanfang

13.1    Überblick Zur vorigen ÜberschriftZur nächsten Überschrift

SAP stellt eine Reihe von Techniken für die Modularisierung zur Verfügung. Durch die Verwendung globaler und lokaler ABAP-Klassen können Sie moderne Modularisierungs- und Kapselungstechniken nutzen und neben einer klaren Strukturierung Ihrer Programme auch wiederverwendbare Einheiten schaffen.

Funktionsgruppen bilden ähnliche wiederverwendbare Einheiten. Sie weisen zwar nicht alle Vorteile globaler Klassen auf, sind aber weit verbreitet sowie einfach zu erstellen und zu verwenden.

Ebenso ist jeder ABAP-Report von Haus aus durch seine Verarbeitungsblöcke modular strukturiert. Die Laufzeitumgebung ruft Verarbeitungsblöcke, d. h. Ereignisse wie START-OF-SELECTION oder Dialogmodule wie den Selektionsbildschirm, eigenständig auf.

Schließlich besteht im ABAP-Quellcode die Möglichkeit, weitere Modularisierungstechniken zu nutzen. Für den Einstieg in ABAP sind hier vorerst zwei Arten besonders nützlich:

  • Modularisierung des Quellcodes
    Die Modularisierung des Quellcodes in verschiedene, separat pflegbare Quelltexte kann die Übersichtlichkeit großer Programme erhöhen und das gleichzeitige Bearbeiten durch mehrere Entwickler erleichtern. In den Modulen steht ABAP-Quellcode, der bei der Programmgenerierung so integriert wird, als ob er im Hauptprogramm stünde.

    Diese Modularisierungstechnik wird beispielsweise von Funktionsgruppen genutzt: Die Funktionsgruppe, das Rahmenprogramm, bindet eine Reihe von Include-Programmen ein, die die eigentlichen Funktionsbausteine, Unterprogramme und auch globale Datendefinitionen enthalten.

  • Prozeduren
    Prozeduren sind aufrufbare Einheiten und besitzen Schnittstellen für die Datenübergabe zum rufenden Programm. Sie können auch eigene, lokale Datendeklarationen enthalten. Für den Einstieg in ABAP sind vorerst folgende Prozeduren wichtig:

    • Methoden
      Methoden sind Prozeduren innerhalb von (globalen oder lokalen) Klassen. Sie dienen überwiegend der programminternen Modularisierung von Aufgaben, z. B. dass ein bestimmter Verarbeitungsblock in einer Schleife ausgeführt werden soll. Um die Schleife übersichtlich zu halten und die dafür benötigten lokalen Variablen von den globalen Variablen ihrer Klasse zu isolieren, wird der Verarbeitungsblock in ein eigenes Unterprogramm gelegt. Für Methoden können Sie die Sichtbarkeit definieren. Damit legen Sie fest, ob die Methode nur innerhalb der jeweiligen Klasse oder auch von anderen Aufrufern verwendet werden darf.

    • Unterprogramme
      Was Methoden für Klassen sind, sind Unterprogramme für Programme. Sie sind explizit aufrufbare Prozeduren, weisen jedoch gegenüber Methoden einige Schwächen auf: Die Schnittstellendefinition ist weniger genau und die Sichtbarkeit kann nicht festgelegt werden. Daher können Unterprogramme nur innerhalb des jeweiligen Hauptprogramms aufgerufen werden, um eine Funktionalität für andere Programme anzubieten.

    • Funktionsbausteine
      Im Unterschied zu den eher programmspezifischen Unterprogrammen sind Funktionsbausteine für häufig wiederkehrende, allgemeine Aufgaben gedacht. Beispielsweise wäre es denkbar, dass aus verschiedenen Programmen heraus die Druckausgabe als PDF-Datei und nicht als SAP-Liste erfolgen soll. Um diese Umwandlung aus verschiedenen Programmen heraus möglichst einfach einzubauen, gibt es einen zentralen Funktionsbaustein, der diese Aufgabe übernimmt. Dieser Funktionsbaustein muss im Programm nur aufgerufen und die Datenschnittstelle mit Daten versorgt werden. Den Rest, d. h. die Umwandlung selbst, übernimmt der Funktionsbaustein.
      SAP liefert im Standard viele Funktionsbausteine mit aus, die nach Bedarf in kundeneigenen Programmen verwendet werden können. Außerdem existiert für die Verwaltung von Funktionsbausteinen ein eigenes Werkzeug (siehe Abschnitt 13.3.2, »Funktionsbausteine«).

[ ! ]  Nicht für Wiederverwendung

Auch wenn es verlockend erscheinen mag: Verwenden Sie die Technik der Modularisierung mit Include-Programmen in der Regel nicht, um mehrfach verwendbare Quelltext-Einheiten zu schaffen! Wird ein Include-Programm in mehreren Rahmenprogrammen verwendet, leidet die Wartbarkeit sowohl des Include-Programms als auch der Rahmenprogramme: Es wird sehr schwierig, Änderungen am Include-Programm durchzuführen, ohne die Rahmenprogramme zu beschädigen. Wenn Sie eine Funktion so programmieren möchten, dass sie mehrfach verwendbar ist, nutzen Sie lieber globale Klassen.

[+]  Historisch gewachsen

Historisch gesehen, sind Funktionsbausteine und Funktionsgruppen die Vorgänger der ABAP-Klassen. Sie erfüllen eine ähnliche Funktion, ohne jedoch die Merkmale der Objektorientierung zu besitzen. Ob Sie in Ihrem Arbeitsumfeld in Zukunft eher auf Funktionsbausteine oder eher auf Klassen stoßen werden, hängt davon ab, wie alt die jeweilige SAP-Anwendung ist und ob sie in den letzten Jahren einer Renovierung unterzogen wurde. In jüngeren Anwendungen findet man fast ausschließlich Klassen, und Funktionsbausteine werden nur in begründeten Einzelfällen verwendet. In älteren, nicht kürzlich überholten Anwendungen ist es umgekehrt.

Im Folgenden werden wir all diese Modularisierungstechniken genauer unter die Lupe nehmen.

 


Ihre Meinung?

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de

<< zurück
 Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: Einstieg in ABAP Einstieg in ABAP
Jetzt Buch bestellen

 Buchempfehlungen
Zum Rheinwerk-Shop: SAP – Der technische Einstieg
SAP – Der technische Einstieg


Zum Rheinwerk-Shop: ABAP Objects – Das umfassende Handbuch
ABAP Objects – Das umfassende Handbuch


Zum Rheinwerk-Shop: ABAP-Entwicklung für SAP S/4HANA
ABAP-Entwicklung für SAP S/4HANA


Zum Rheinwerk-Shop: Kundeneigene Erweiterungen mit ABAP
Kundeneigene Erweiterungen mit ABAP


Zum Rheinwerk-Shop: Schrödinger programmiert ABAP
Schrödinger programmiert ABAP


Zum Rheinwerk-Shop: Migration nach SAP S/4HANA
Migration nach SAP S/4HANA


Zum Rheinwerk-Shop: Design Thinking mit SAP
Design Thinking mit SAP


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und in die Schweiz
InfoInfo

 
 


Copyright © Rheinwerk Verlag GmbH 2020
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

 
[Rheinwerk]

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern