Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Otto-von-Guericke-Universität Magdeburg Gamal Kassem / Stefan Drechßler 1 Modularisierungstechniken Modularisierungstechniken Die Modularisierung dient.

Ähnliche Präsentationen


Präsentation zum Thema: "Otto-von-Guericke-Universität Magdeburg Gamal Kassem / Stefan Drechßler 1 Modularisierungstechniken Modularisierungstechniken Die Modularisierung dient."—  Präsentation transkript:

1 Otto-von-Guericke-Universität Magdeburg Gamal Kassem / Stefan Drechßler 1 Modularisierungstechniken Modularisierungstechniken Die Modularisierung dient ; der Les- und Pflegbarkeit von ABAP-Programmen, der Vermeidung von Redundanzen, der Wiederverwendbarkeit von Funktionalität und der Kapselung von Daten

2 Otto-von-Guericke-Universität Magdeburg Gamal Kassem / Stefan Drechßler 2 Modularisierungstechniken Verarbeitungsblöcke, die durch das ABAP-Laufzeitsystem aufgerufen werden: n Ereignisblöcke n Dialogmodule Verarbeitungsblöcke, die aus ABAP-Programmen aufgerufen werden: n Unterprogramme n Funktionsbausteine n Methoden Die aus ABAP-Programmen aufrufbaren Verarbeitungsblöcke heißen Prozeduren

3 Otto-von-Guericke-Universität Magdeburg Gamal Kassem / Stefan Drechßler 3 Zusätzlich zur Modularisierung in Verarbeitungsblöcken bietet ABAP die Möglichkeit der Quelltext-Modularisierung, die es erlaubt ABAP-Anweisungen entweder lokal in Makros oder global in Include-Programmen zusammenzufassen. Quelltext-Module

4 Otto-von-Guericke-Universität Magdeburg Gamal Kassem / Stefan Drechßler 4 Prozeduren Unterprogramme Unterprogramme dienen hauptsächlich der lokalen Modularisierung. Unterprogramme enthalten mehrfach verwendete Funktionalität innerhalb eines Programms zusammen und führen mehrfach benötigte Aufgaben aus. Funktionsbausteine Funktionsbausteine dienen ausschließlich der globalen Modularisierung, also dem Aufruf aus anderen Programmen. Funktionsbausteine enthalten Funktionalität, die systemweit von verschiedenen Programmen verwendet wird. Funktionsbausteine können nur in Funktionsgruppen definiert, aber aus allen Programmen aufgerufen werden. Methoden Methoden enthalten die Funktionalität bzw. das Verhalten von Klassen und deren Instanzen in ABAP Objects, der objektorientierten Erweiterung von ABAP.

5 Otto-von-Guericke-Universität Magdeburg Gamal Kassem / Stefan Drechßler 5 Unterprogramme Unterprogramme sind Prozeduren, die in jedem ABAP- Programmen definiert und aus jedem ABAP-Programm aufgerufen werden können. Unterprogramme dienen hauptsächlich dem internen Aufruf, also um lokal häufig benutzte Programmteile oder Algorithmen nur einmal schreiben zu müssen. Der globalen Wiederverwendung von Funktionalität dienen Funktionsbausteine.

6 Otto-von-Guericke-Universität Magdeburg Gamal Kassem / Stefan Drechßler 6 Definition von Unterprogrammen Ein Unterprogramm ist ein Verarbeitungsblock, der zwischen den Anweisungen FORM und ENDFORM eingeschlossen ist: FORM [USING... [VALUE(] [)] [TYPE |LIKE ].. ] [CHANGING... [VALUE(] [)] [TYPE |LIKE ]... ].... ENDFORM. ist der Name des Unterprogramms. Die optionalen Zusätze USING und CHANGING definieren die Parameterschnittstelle. Wie alle Verarbeitungsblöcke können Unterprogramme nicht geschachtelt werden. Es empfiehlt sich insbesondere bei ausführbaren Programmen vom Typ 1 die Definition aller Unterprogramme am Ende des Programmtextes anzuordnen, damit nicht versehentlich unausführbare Anweisungen dadurch entstehen, daß ein Unterprogramm einen Ereignisblock an der falschen Stelle abschließt.

7 Otto-von-Guericke-Universität Magdeburg Gamal Kassem / Stefan Drechßler 7 Die Parameterschnittstelle Die Parameterschnittstelle Parameter mit Referenzübergabe Diese Parameter werden ohne die Angabe VALUE hinter USING oder CHANGING aufgeführt: FORM USING... [TYPE |LIKE ]... CHANGING... [TYPE |LIKE ]... Eingabeparameter mit Wertübergabe Diese Parameter werden mit der Angabe VALUE hinter USING aufgeführt: FORM USING... VALUE( ) [TYPE |LIKE ]... Ausgabeparameter mit Wertübergabe Diese Parameter werden mit der Angabe VALUE hinter CHANGING aufgeführt: FORM CHANGING... VALUE( ) [TYPE |LIKE ]...

8 Otto-von-Guericke-Universität Magdeburg Gamal Kassem / Stefan Drechßler 8 Aufruf von Unterprogrammen Aufruf von Unterprogrammen Unterprogramme werden über PERFORM... [USING ] [CHANGING ]. PERFORM ( ) [USING ] [CHANGING ] [IF FOUND]. Der Programmname wird statisch angegeben. Durch Die Verwendung der Option IF FOUND läßt sich ein Laufzeitfehler verhindern, wenn das Programm kein Unterprogramm enthält. Dann ignoriert das System die PERFORM- Anweisung

9 Otto-von-Guericke-Universität Magdeburg Gamal Kassem / Stefan Drechßler 9 Typisierung von Formalparametern Generische Typangaben TYPE ANY Das Unterprogramm akzeptiert alle Typen von Aktualparametern. Alle technischen Eigenschaften des Aktualparameters werden an den Formalparameter übergeben. TYPE C, N, P oder X Das Unterprogramm akzeptiert nur Aktualparameter vom Typ C, N, P bzw. X. Die Feldlänge und DECIMALS-Angabe (für Typ P) werden vom Aktualparameter an den Formalparameter übergeben. TYPE TABLE Das System prüft, ob der Aktualparameter eine interne Standardtabelle ist. Diese Typisierung ist eine Kurzform von TYPE STANDARD TABLE. TYPE ANY TABLE Das System prüft, ob der Aktualparameter eine interne Tabelle ist.

10 Otto-von-Guericke-Universität Magdeburg Gamal Kassem / Stefan Drechßler 10 Typisierung von Formalparametern Generische Typangaben TYPE INDEX TABLE Das System prüft, ob der Aktualparameter eine interne Index-Tabelle (also Eine Standard- oder sortierte Tabelle aber keine Hash-Tabelle) ist. TYPE STANDARD TABLE Das System prüft, ob der Aktualparameter eine interne Standard-Tabelle ist. TYPE SORTED TABLE Das System prüft, ob der Aktualparameter eine sortierte interne Tabelle ist. TYPE HASHED TABLE Das System prüft, ob der Aktualparameter eine interne HASH-Tabelle ist.

11 Otto-von-Guericke-Universität Magdeburg Gamal Kassem / Stefan Drechßler 11 Funktionsbausteine Funktionsbausteine Funktionsbausteine sind Prozeduren, die nur innerhalb spezieller ABAP-Programme, den sogenannten Funktionsgruppen vom Typ F, definiert, aber aus allen ABAP-Programmen aufgerufen werden können. Funktionsgruppen sind Behälter für thematisch zusammengehörige Funktionsbausteine. Das Anlegen von Funktionsgruppen und von Funktionsbausteinen erfolgt mit dem Werkzeug Function Builder der ABAP Workbench

12 Otto-von-Guericke-Universität Magdeburg Gamal Kassem / Stefan Drechßler 12 Funktionsgruppen Funktionsgruppen sind Behälter bzw. Rahmenprogramme für Funktionsbausteine. Funktionsgruppen können nicht ausgeführt werden. Beim Aufruf eines Funktionsbausteins wird die gesamte Funktionsgruppe, in der sich der Funktionsbaustein befindet, in den internen Modus des aufrufenden Programms geladen, falls sie sich noch nicht dort befindet

13 Otto-von-Guericke-Universität Magdeburg Gamal Kassem / Stefan Drechßler 13 Funktionsbausteinaufruf in ABAP CALL FUNCTION [EXPORTING f 1 = a f n = a n ] [IMPORTING f 1 = a f n = a n ] [CHANGING f 1 = a f n = a n ] [TABLES f 1 = a f n = a n ] [EXCEPTIONS e 1 = r e n = r n [OTHERS = r o ]].

14 Otto-von-Guericke-Universität Magdeburg Gamal Kassem / Stefan Drechßler 14 Übung 1 FORM-Schnittstelle Erstellen Sie eine Report ZFORMINTAB_**, der für eine vom Anwender einzugebende Depotnummer (s. Abbildung), die Wertpapierkennnummer und die Anzahl der darin enthaltenen Wertpapiere über ein FORM-Unterprogramm ausgibt.

15 Otto-von-Guericke-Universität Magdeburg Gamal Kassem / Stefan Drechßler 15 Übung 2 Funktionsbaustein Erstellen Sie eine Funktionsgruppe Z_UEBUNG2_** mit einem darin enthaltenen Funktionsbaustein Z_KURS_**, der von 3 Aktienkursen den Durchschnittkurs berechnet. Der einzugebende Kurs soll immer grösser als Null sein.


Herunterladen ppt "Otto-von-Guericke-Universität Magdeburg Gamal Kassem / Stefan Drechßler 1 Modularisierungstechniken Modularisierungstechniken Die Modularisierung dient."

Ähnliche Präsentationen


Google-Anzeigen