Show TOC Anfang des Inhaltsbereichs

Dynpros und Dynpro-Folgen  Dokument im Navigationsbaum lokalisieren

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

Diese Grafik wird im zugehörigen Text erklärtDiese Grafik wird im zugehörigen Text erklärt

Interner Aufruf aus dem eigenen ABAP-Programm

In jedem bildschirmtragenden Programm (ausführbares Programm, Modul-Pool oder Funktionsgruppe) können mit der Anweisung

CALL SCREEN dynnr.

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

Nach Beendigung der Dynpro-Folge wird hinter die Aufrufstelle zurückgekehrt.

Die speziellen Einzel-Dynpros Selektionsbilder und Listen werden ausschließlich intern aufgerufen. Subscreen-Dynpros sollten ebenfalls nur intern aufgerufen werden.

Aufruf als Transaktion

Eine Transaktion, bzw. ein Transaktionscode, kann mit einem Dynpro eines beliebigen bildschirmtragenden Programms verknüpft werden. Üblicherweise verwendet man dafür Modul-Pools.

In jedem ABAP-Programm kann mit den Anweisungen

CALL TRANSACTION tcod ...

oder

LEAVE TO TRANSACTION tcod ...

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

Nach Beendigung der Dynpro-Folge 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 dafür Modul-Pools.

In jedem ABAP-Programm kann mit der Anweisung

CALL DIALOG diag ...

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

Nach Beendigung der Dynpro-Folge wird hinter die Aufrufstelle zurückgekehrt.

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

Aufgerufene Dynpro-Folgen beenden

Eine Dynpro-Folge wird ausschließlich beim Erreichen des Folge-Dynpros mit der Dynpro-Nummer 0 verlassen.

Einzelne Dynpros einer Folge können programmgesteuert mit den Anweisungen

LEAVE SCREEN.

oder

LEAVE TO SCREEN dynnr.

verlassen werden. Diese Anweisungen beenden das aktuelle Dynpro und rufen das jeweilige Folge-Dynpro. Falls das Folgeynpro 0 ist, wird die gesamte Dynpro-Folge 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 Dynpro-Folge 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äger-Dynpro für Listen enthält, dessen Bildschirmbild das aktuelle Bildschirmbild ersetzt. Auf dem Träger-Dynpro 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 wird das Listensystem automatisch nach dem letzten Reporting-Ereignis aufgerufen.

Subscreens

In der Dynpro-Ablauflogik 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 progverwendet 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