Die Dynpro-Ablauflogik stellt den prozeduralen Teil eines Dynpros dar und wird innerhalb des Screen Painters im sogenannten Ablauflogik-Editor erstellt, der dem ABAP Editor sehr ähnlich ist. Die Programmiersprache, in der die Dynpro-Ablauflogik programmiert wird, hat zwar eine ähnliche Syntax wie die Sprache ABAP der Anwendungslogik, sollte aber nicht mit ihr verwechselt werden. Wir nennen sie auch Dynprosprache.
Im Gegensatz zu ABAP-Programmen enthält die Dynpro-Ablauflogik keine expliziten Datendeklarationen. Die Dynpro-Felder werden ausschließlich in Zusammenhang mit den Bildschirmelementen der Elementliste definiert.
Ansonsten ist die Dynpro-Ablauflogik ähnlich wie ein ABAP-Programm ein Container für Verarbeitungsblöcke. Es gibt genau vier Ereignisblöcke, die mit dem Dynpro-Schlüsselwort PROCESS eingeleitet werden:
PROCESS BEFORE
OUTPUT.
...
PROCESS AFTER
INPUT.
...
PROCESS ON
HELP-REQUEST.
...
PROCESS ON
VALUE-REQUEST.
...
Die Definition der Ereignisblöcke erfolgt wie in ABAP durch Voranstellen der entsprechenden Anweisung und durch Abschluß mit dem nächsten Ereignisschlüsselwort bzw. dem Programmende. Die ersten beiden Anweisungen werden in der Regel beim Anlegen eines Dynpros durch den Screen Painter generiert. Die zugehörigen Ereignisse werden von der Laufzeitumgebung ausgelöst:
· PROCESS BEFORE OUTPUT (PBO) wird automatisch nach dem Abschluss der PAI-Verarbeitung des vorhergehenden Dynpros und vor dem Senden des Bildschirmbilds ausgelöst. Im nachfolgenden Ereignisblock kann die PBO-Verarbeitung des Dynpros programmiert werden. Bei Abschluss der PBO-Verarbeitung wird in der Regel das Bildschirmbild zur Anzeige gebracht.
· PROCESS AFTER INPUT (PAI) wird bei einer Benutzeraktion auf dem Bildschirm ausgelöst. Im nachfolgenden Ereignisblock kann die PAI-Verarbeitung des Dynpros programmiert werden. Bei Abschluss der PAI-Verarbeitung wird entweder ein Folge-Dynpro prozessiert oder hinter der Aufrufstelle eines aufrufenden Programms fortgefahren.
· PROCESS ON HELP REQUEST (POH) und PROCESS ON VALUE REQUEST (POV) werden ausgelöst, wenn der Benutzer Feldhilfe (F1) oder Eingabehilfe (F4) anfordert. In den entsprechenden Ereignisblöcken kann eine entsprechende Verarbeitung programmiert werden. Bei Abschluss der Verarbeitung wird mit der Bearbeitung des aktuellen Dynpros fortgefahren.
Wie bei Ereignissen üblich, müssen Ereignisblöcke nur für die Ereignisse programmiert werden, auf welche die Ablauflogik reagieren soll. In der Dynpro-Ablauflogik müssen aber zumindest die Anweisungen PROCESS BEFORE OUTPUT und PROCESS AFTER INPUTin der angegebenen Reihenfolge aufgeführt werden.
Innerhalb der Ereignisblöcken können folgende prozedurale Dynpro-Schlüsselworte verwendet werden:
Schlüsselwort |
Beschreibung |
MODULE |
Ruft ein Dialogmodul im ABAP-Programm auf. |
FIELD |
Gibt den Transportzeitpunkt für ein Dynpro-Feld an. |
ON |
Im Zusammenhang mit FIELD zu verwenden. |
VALUES |
Im Zusammenhang mit FIELD zu verwenden. |
CHAIN |
Startet eine Verarbeitungskette. |
ENDCHAIN |
Beendet eine Verarbeitungskette. |
CALL |
Ruft einen Subscreen. |
LOOP |
Startet die Verarbeitung von Dynpro-Tabellen. |
ENDLOOP |
Beendet die Verarbeitung von Dynpro-Tabellen. |
Die Funktion der einzelnen Anweisungen wird in den folgenden Abschnitten erläutert.