Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Modularisierungstechniken

Ähnliche Präsentationen


Präsentation zum Thema: "Modularisierungstechniken"—  Präsentation transkript:

1 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 Modularisierungstechniken
Verarbeitungsblöcke, die durch das ABAP-Laufzeitsystem aufgerufen werden: Ereignisblöcke Dialogmodule Verarbeitungsblöcke, die aus ABAP-Programmen Unterprogramme Funktionsbausteine Methoden Die aus ABAP-Programmen aufrufbaren Verarbeitungsblöcke heißen Prozeduren

3 Quelltext-Module 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.

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 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 Definition von Unterprogrammen
Ein Unterprogramm ist ein Verarbeitungsblock, der zwischen den Anweisungen FORM und ENDFORM eingeschlossen ist: FORM <subr> [USING   ... [VALUE(]<pi>[)] [TYPE <t>|LIKE <f>].. ]          [CHANGING... [VALUE(]<pi>[)] [TYPE <t>|LIKE <f>]... ].  ... ENDFORM. <subr> 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 Die Parameterschnittstelle
Parameter mit Referenzübergabe Diese Parameter werden ohne die Angabe VALUE hinter USING oder CHANGING aufgeführt: FORM <subr> USING    ... <pi> [TYPE <t>|LIKE <f>] ...             CHANGING ... <pi> [TYPE <t>|LIKE <f>] ... Eingabeparameter mit Wertübergabe Diese Parameter werden mit der Angabe VALUE hinter USING aufgeführt: FORM <subr> USING    ... VALUE(<pi>) [TYPE <t>|LIKE <f>] ... Ausgabeparameter mit Wertübergabe Diese Parameter werden mit der Angabe VALUE hinter CHANGING FORM <subr> CHANGING ... VALUE(<pi>) [TYPE <t>|LIKE <f>] ...

8 Aufruf von Unterprogrammen
Unterprogramme werden über PERFORM... [USING   ... <pi>... ]             [CHANGING... <pi>... ]. PERFORM <subr>(<prog>) [USING   ... <pi>... ]                        [CHANGING... <pi>... ] [IF FOUND]. Der Programmname <prog> wird statisch angegeben. Durch Die Verwendung der Option IF FOUND läßt sich ein Laufzeitfehler verhindern, wenn das Programm <prog> kein Unterprogramm <sub> enthält. Dann ignoriert das System die PERFORM- Anweisung

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 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 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 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 Funktionsbausteinaufruf in ABAP
CALL FUNCTION <baustein>      [EXPORTING  f1 = a f n = a n]      [IMPORTING  f1 = a f n = a n]      [CHANGING   f1 = a f n = a n]      [TABLES     f1 = a f n = a n]      [EXCEPTIONS e1 = r e n = r n [OTHERS = ro]].

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 Ü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 "Modularisierungstechniken"

Ähnliche Präsentationen


Google-Anzeigen