Anfang des Inhaltsbereichs

Dynpros und Dynprofolgen Dokument im Navigationsbaum lokalisieren

Dynpros (dynamische Programme) bilden Instanzen, welche durch den Aufruf von Dialogmodulen die Ausführung von ABAP-Programmen steuern. Dynpros bilden Dynprofolgen, wobei das jeweilige Folgedynpro eines Dynpros statisch oder dynamisch festgelegt werden kann. Die einfachste Dynprofolge besteht aus einem Dynpro. Der Aufruf eines Dynpros konstituiert die Dynprofolge und kann auf verschiedene Arten stattfinden.


Diese Grafik wird im zugehörigen Text erklärt

Interner Aufruf aus dem eigenen ABAP-Programm

In jedem bildschirmtragenden Programm (Typ 1, M oder F) kann mit der Anweisung

CALL SCREEN <dynnr>.

ein Dynpro des gleichen Programms und dessen Folgedynpros aufgerufen werden. Die Dynpros rufen die Dialogmodule des aufrufenden Programms auf.

Nach Beendigung der Dynprofolge wird hinter die Aufrufstelle zurückgekehrt.

Aufruf als Transaktion

Eine Transaktion, bzw. ein Transaktionscode, kann mit einem Dynpro eines beliebigen bildschirmtragenden Programms verknüpft werden. Üblicherweise verwendet man Modulpools vom Typ M.

In jedem ABAP-Programm kann mit den Anweisungen

CALL TRANSACTION <tcod> ...

oder

LEAVE TO TRANSACTION <tcod> ...

eine Transaktion die durch das Einstiegs-Dynpro eingeleitete Dynprofolge aufgerufen werden. Das Programm der Transaktion Dialogbausteins wird in einem neuen internen Modus geladen und öffnet eine eigene SAP-LUW. Die Dynpros der Dynprofolge rufen die Dialogmodule dieses Programms auf.

Nach Beendigung der Dynprofolge wird bei CALL TRANSACTION hinter die Aufrufstelle zurückgekehrt. Bei LEAVE TO TRANSACTION wird an die Stelle zurückgekehrt, wo der Aufrufer gestartet wurde.

Aufruf als Dialogbaustein

Ein Dialogbaustein kann mit einem Dynpro eines beliebigen bildschirmtragenden Programms verknüpft werden. Üblicherweise verwendet man Modulpools vom Typ M.

In jedem ABAP-Programm kann mit der Anweisung

CALL DIALOG <diag> ...

ein Dialogbaustein und damit die durch das Einstiegs-Dynpro eingeleitete Dynprofolge aufgerufen werden. Das Programm des Dialogbausteins wird in einem neuen internen Modus geladen, öffnet aber keine eigene SAP-LUW. Die Dynpros der Dynprofolge rufen die Dialogmodule dieses Programms auf.

Nach Beendigung der Dynprofolge wird hinter die Aufrufstelle zurückgekehrt.

Dialogbausteine sollten nicht mehr verwendet werden. Zur Kapselung von Dynprofolgen können stattdessen Funktionsgruppen mit entsprechend programmierten Funktionsbausteinen eingesetzt werden.

Aufgerufene Dynprofolgen beenden

Eine Dynprofolge wird ausschließlich beim Erreichen des Folgedynpros mit der Dynpronummer 0 verlassen.

Einzelne Dynpros einer Folge können programmgesetuert mit den Anweisungen

LEAVE SCREEN.

oder

LEAVE TO SCREEN <dynnr>.

verlassen werden. Diese Anweisungen beenden das aktuelle Dynpro und rufen das jeweilige Folgedynpro. Falls das Folgeynpro 0 ist, wird die gesamte Dynprofolge beendet.

Spezielle Einzeldynpros

Für Dynpros gibt es folgende Spezialfälle:

Selektionsbilder

Ein Selektionsbild ist ein spezielles aus ABAP-Anweisungen generiertes Dynpro. Ein Selektionsbild kann nur durch die Anweisung

CALL SELECTION-SCREEN <dynnr> ...

aufgerufen werden. Die Selektionsbildverarbeitung, d.h. die Reaktion auf Benutzeraktionen (Selektionsbildereignisse) findet im aufrufenden Programm statt.

Listen

Jedem Dynpro einer Dynprofolge ist ein zwanzigstufiges Listensystem zugeordnet. Das Listensystem kann durch die Anweisung

LEAVE TO LIST-PROCESSING [AND RETURN TO SCREEN <dynnr>].

aufgerufen werden. Diese Anweisung ruft ein Systemprogramm, das ein Trägerdynpro für Listen enthält, dessen Bildschirmbild das aktuelle Bildschirmbild ersetzt. Auf dem Trägerdynpro können eine Grund- und neunzehn Verzweigungslisten sequentiell angezeigt werden. Die Listenverarbeitung, d.h. die Reaktion auf Benutzeraktionen (Listenereignisse) findet im aufrufenden Programm statt.

Zum programmgesteuerten Verlassen des Listensystems kann die Anweisung

LEAVE LIST-PROCESSING.

verwendet werden.

Bei ausführbaren Programmen vom Typ 1 wird das Listensystem automatisch nach dem letzten Reporting-Ereignis aufgerufen.

Subscreens

In der Dynproablauflogik eines Dynpros können zum Zeitpunkt PBO Subscreen-Dynpros aufgerufen werden.

CALL SUBSCREEN <area> INCLUDING [<prog>] <dynnr>.

Das Bildschirmbild eines aufgerufenen Subscreen-Dynpros füllt den Subscreen-Bereich <area>des aufrufenden Dynpros.

Ohne die Angabe <prog> wird ein Subscreen-Dynpro des aktuellen ABAP-Programms verwendet. Mit der Angabe von <prog> wird ein Subscreen-Dynpro des Programms <prog> verwendet und dieses ABAP-Programm 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.

Ende des Inhaltsbereichs