1 / 15

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. Modularisierungstechniken. Verarbeitungsblöcke, die durch das ABAP-Laufzeitsystem aufgerufen werden:

rance
Download Presentation

Modularisierungstechniken

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Die Modularisierung dient ; der Les- und Pflegbarkeit von ABAP-Programmen, der Vermeidung von Redundanzen, der Wiederverwendbarkeit von Funktionalität und der Kapselung von Daten Modularisierungstechniken

  2. Verarbeitungsblöcke, die durch das ABAP-Laufzeitsystem aufgerufen werden: Ereignisblöcke Dialogmodule Verarbeitungsblöcke, die aus ABAP-Programmen aufgerufen werden: Unterprogramme Funktionsbausteine Methoden Die aus ABAP-Programmen aufrufbaren Verarbeitungsblöcke heißen Prozeduren Modularisierungstechniken 

  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. 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. Prozeduren 

  5. 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. Unterprogramme 

  6. 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. Definition von Unterprogrammen

  7. 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 aufgeführt: FORM <subr> CHANGING ... VALUE(<pi>) [TYPE <t>|LIKE <f>] ... Die Parameterschnittstelle

  8. 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 Aufruf von Unterprogrammen

  9. 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. Typisierung von Formalparametern

  10. 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. Typisierung von Formalparametern

  11. 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 Funktionsbausteine

  12. 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 Funktionsgruppen 

  13. CALL FUNCTION <baustein>     [EXPORTING  f1 = a 1.... f n = a n]      [IMPORTING  f1 = a 1.... f n = a n]      [CHANGING   f1 = a 1.... f n = a n]      [TABLES     f1 = a 1.... f n = a n]      [EXCEPTIONS e1 = r 1.... e n = r n [OTHERS = ro]]. Funktionsbausteinaufruf in ABAP

  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.

More Related