Anfang des Inhaltsbereichs

Verarbeitungsblöcke in ABAP-Programmen Dokument im Navigationsbaum lokalisieren

Die folgenden Abschnitten führen die möglichen Verarbeitungsblöcke von ABAP-Programmen und ihren Aufruf ein.

Programm-Konstruktor

Direkt nach dem Laden eines Programms vom Typ 1, M, F und S kann ein spezieller Verarbeitungsblock genau einmal ausgeführt werden. Dieser Verarbeitungsblock wird mit dem Ereignisschlüsselwort LOAD-OF-PROGRAM als Ereignisblock definiert. Der Verarbeitungsblock zu LOAD-OF-PROGRAM spielt für diese ABAP-Programme in etwa die gleiche Rolle, wie ein Konstruktor für Klassen in ABAP Objects.

Dialog-Module

Dialogmodule werden aus der Ablauflogik aufgerufen (Dynpro-Befehl MODULE). Für die verschiedenen Zustände eine Dynpros (PAI, PBO, Benutzereingaben) können somit im zugeordneten ABAP-Programm Dialogmodule programmiert werden. Die Zusammenfassung aller PAI- und PBO-Module zweier aufeinanderfolgender Dynpros ist die Verarbeitungslogik eines Dialogschritts. Das Zusammenspiel zwischen Ablauflogik und Bildschirmen steuert ein Dialogprozessor.

Syntaktisch werden Dialogmodule durch die Anweisung MODULE eingeleitet und durch die Anweisung ENDMODULE beendet.

Diese Grafik wird im zugehörigen Text erklärt

Die Datenübergabe zwischen Dynpros und ABAP-Programm erfolgt dadurch, daß in Dynpros und ABAP-Programm namensgleiche Felder verwendet werden. Die Dynpros werden nicht im ABAP-Programm definiert.

Ereignisblöcke zu Selektionsbildern

Das Selektionsbild ist ein spezielles Dynpro, das vollständig mit ABAP-Befehlen im Deklarationsteil gestaltet wird. Die verschiedenen Zuständen des Selektionsdynpros (PAI, PBO, Benutzereingaben) werden von einem Selektionsbildprozessor in bestimmte Ereignisse verwandelt und für diese können im Programm die Ereignisblöcke zu Selektionsbildern programmiert werden. Der Selektionsbildprozessor umfaßt auch die Dynproablauflogik des Selektionsbilds.

Diese Grafik wird im zugehörigen Text erklärt

Der Programmierer erstellt die Dynproablauflogik eines Selektionsbilds nicht selbst und für die entsprechenden Dynpro-Ereignisse PBO und PAI können keine eigenen Dialogmodule angelegt werden. Die Datenübergabe zwischen Selektionsbildern und ABAP-Programm erfolgt über die Felder (Parameter und Selektionstabellen), die bei der Definition des Selektionsbilds im Deklarationsteil des ABAP-Programms angelegt werden.

Ereignisblöcke zu Listen

Listen sind spezielle Bildschirme zur formatierten Datenausgabe. Listen werden in beliebigen Verarbeitungsblöcken eines ABAP-Programms über einen speziellen Befehlssatz erzeugt (Listen-Anweisungen sind z.B. WRITE, NEW-PAGE). Ein Listenprozessor erledigt die Anzeige von Listen auf Bildschirmen und die Behandlung von Benutzeraktionen auf Listen. Der Listenprozessor umfaßt auch die Dynproablauflogik der Listen. Der Programmierer erstellt die Dynproablauflogik einer Liste nicht selbst und für die entsprechenden Dynpro-Ereignisse PBO und PAI können keine eigenen Dialogmodule angelegt werden.

Diese Grafik wird im zugehörigen Text erklärt

Während der Listenerstellung kann es zum Aufruf von bestimmten Ereignisblöcken kommen, die der Seitengestaltung dienen. In obigen Bild ist das der Ereignisblock TOP-OF-PAGE, der sozusagen aus dem ABAP-Programm selbst aufgerufen wird. Während der Listenanzeige kann der Benutzer Interaktionen ausführen, welche der Listenprozessor in Ereignisse (z.B AT LINE-SELECTION) verwandelt. Im Programm können Ereignisblöcke für diese interaktiven Listenereignissen programmiert werden. Die Datenübergabe von der Liste zu dem ABAP-Programm erfolgt über spezielle Variablen oder über einen internen Speicherbereich, den sogenannten HIDE-Bereich.

Ereignisblöcke für ausführbare Programme

Beim Start von ausführbaren Programmen vom Typ 1 übernimmt ein in der Laufzeitumgebung vorgegebener Ablauf die Kontrolle. Es werden eine Reihe bestimmter Prozessoren hintereinander ausgeführt. Diese Prozessoren lösen bestimmte Ereignisse aus, für die Ereignisblöcke definiert werden können. ABAP-Programme vom Typ 1 sind also ereignisorientiert.

Diese Grafik wird im zugehörigen Text erklärt

Der Ablauf ist wie folgt:

  1. Die Laufzeitumgebung erzeugt das Ereignis INITIALIZATION und ruft damit den entsprechenden Ereignisblock auf, falls er im ABAP-Programm definiert ist.
  2. Falls im Deklarationsteil des Programms ein Selektionsbild deklariert ist, geht die Kontrolle an den Selektionsbildprozessor über. Dieser erzeugt die entsprechenden Ereignisse und ruft dadurch die zugehörigen Ereignisblöcke auf.
  3. Die Kontrolle geht an den sogenannten Reportingprozessor über. Dieser erzeugt ein Ereignis START-OF-SELECTION und ruft damit den entsprechenden Ereignisblock auf, falls er im ABAP-Programm definiert ist.
  4. Falls eine logische Datenbank verwendet wird, ruft die logische Datenbank an dieser Stelle weitere Ereignisblöcke auf.
  5. Der Reportingprozessoer erzeugt ein Ereignis END-OF-SELECTION und ruft damit den entsprechenden Ereignisblock auf falls er im ABAP-Programm definiert ist.
  6. Falls im Programm eine Liste beschrieben wurde, geht die Kontrolle an den Listenprozessor über. Der Listenprozessor stellt die im ABAP-Programm beschriebene Liste dar. Er verwandelt Benutzeraktionen auf der Liste in Ereignisse und ruft dadurch die zugehörigen Ereignisblöcke auf.
  7. Falls im Deklarationsteil des Programms ein Selektionsbild deklariert ist, wird nach Beendigung des Programms (Verlassen der Liste), das gleiche Programm automatisch wieder aufgerufen.

Unterprogramme

Unterprogramme werden aus ABAP-Programmen (Anweisung PERFORM) aufgerufen.

Syntaktisch werden Unterprogramme durch die Anweisung FORM eingeleitet und durch die Anweisung ENDFORM beendet.

Diese Grafik wird im zugehörigen Text erklärt

Unterprogramme können in beliebigen ABAP-Programmen definiert werden. Der Aufruf von Unterprogrammen über die Anweisung PERFORM erfolgt entweder innerhalb eines ABAP-Programms als interne Unterprogramme oder über Programmgrenzen hinweg als externe Unterprogramme. Bei internen Performs können globale Daten zur Datenübergabe verwendet werden. Bei externen Aufrufen muß eine parametrisierte Übergabe von Aktual- an Formalparameter erfolgen.

Funktionsbausteine

Funktionsbausteine sind externe Funktionen mit fest definierter Schnittstelle. Funktionsbausteine werden aus ABAP-Programmen mit der Anweisung CALL FUNCTION aufgerufen.

Syntaktisch werden Funktionsbausteine durch die Anweisung FUNCTION eingeleitet und durch die Anweisung ENDFUNCTION beendet.

Diese Grafik wird im zugehörigen Text erklärt

Funktionsbausteine werden ausschließlich mit dem Werkzeug Function Builder der ABAP Worbench innerhalb spezieller ABAP-Programme namens Funktionsgruppen definiert. Aus anderen ABAP-Programmen sind sie also nur extern aufrufbar. Im Unterschied zu Unterprogrammen erfolgt die Datenübergabe daher immer über eine explizit definierte Parameter-Schnittstelle.

Methoden

Methoden enthalten die Funktionalität von Klassen in ABAP Objects. Wie Funktionsbausteinen haben sie eine fest definierte Schnittstelle. Methoden werden aus ABAP-Programmen mit der Anweisung CALL METHOD aufgerufen.

Syntaktisch werden Funktionsbausteine durch die Anweisung METHOD eingeleitet und durch die Anweisung ENDMETHOD beendet.

Diese Grafik wird im zugehörigen Text erklärt

Methoden werden ausschließlich im Implemetierungsteil von Klassen definiert. Dies geschieht entweder global mit dem Werkzeug Class Builder der ABAP Worbench oder lokal innerhalb von ABAP-Programmen. Methoden arbeiten mit Attributen ihrer Klasse oder mit Daten, die über die explizit definierte Parameter-Schnittstelle übergeben werden.

Ende des Inhaltsbereichs