Anfang des InhaltsbereichsExterne Prozeduraufrufe Dokument im Navigationsbaum lokalisieren

Bei einem externen Prozeduraufruf ist die aufgerufene Einheit nicht Teil des aufrufenden Programms. Bei einem externen Aufruf muß zur Laufzeit ein weiteres Programm in den internen Modus des Aufrufers geladen werden. Externe Aufrufe sind für Prozeduren und Subscreen-Dynpros möglich.

Die hinzugeladenen Programme bilden Instanzen mit einem eigenen globalen Datenbereich. Beim Aufruf externer Unterprogramme gehören das aufrufende Programm und das hinzugeladene Programm zu einer Programmgruppe, es sei denn das hinzugeladene Programm ist eine Funktionsgruppe. Funktionsgruppen bilden immer eigene Programmgruppen. Auch beim externen Aufruf von Methoden bildet die hinzugeladenen und Klasse eine eigene Programmgruppe. Innerhalb einer Programmgruppe werden Schnittstellen-Arbeitsbereiche und die Bildschirmbilder des Aufrufers gemeinsam verwendet. Klassen enthalten keine Schnittstellen-Arbeitsbereiche.

Diese Grafik wird im zugehörigen Text erklärt

Prozeduren

Alle Prozeduren, also Unterprogramme, Funktionsbausteine und Methoden können aus einem beliebigen ABAP-Programm extern aufgerufen werden.

Beim ersten Aufruf eines externen Unterprogramms oder eines Funktionsbausteins wird das Rahmenprogramm der aufgerufenen Prozedur in den internen Modus des Aufrufers geladen. Dabei wird das Ereignis LOAD-OF-PROGRAM ausgelöst und der zugehörige Verarbeitungsblock ausgeführt, bevor die aufgerufene Prozedur ausgeführt wird. Bei jedem weiteren Aufruf einer Prozedur des gleichen Rahmenprogramms durch einen Aufrufer des gleichen internen Modus wird das Ereignis LOAD-OF-PROGRAM nicht mehr ausgelöst.

Subscreen-Dynpros

Subscreen- Dynpros können extern aufgerufen werden, indem beim Aufruf in der Dynproablauflogik ein anderes ABAP-Programm als das aktuelle angegeben wird. Dieses Programm wird wie bei einem externen Unterprogrammaufruf behandelt. Es wird also zur Programmgruppe des Aufrufers oder, falls es eine Funktionsgruppe ist, als eigene Programmgruppe in den internen Modus des aktuellen ABAP-Programms geladen.

Externe Subscreens, die nicht zu einer Funktionsgruppe gehören sollten also wie externe Unterprogramme nicht verwendet werden, da es dabei zu den gleichen Schwierigkeiten mit Schnittstellen-Arbeitsbereichen und Bildschirmaufrufen kommt.

 

 

Ende des Inhaltsbereichs