Die Dynproablauflogik 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 Dynproablauflogik 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 Dynproablauflogik keine expliziten Datendeklarationen. Die Dynprofelder werden ausschließlich in Zusammenhang mit den Bildschirmelementen der Elementliste definiert.
Ansonsten ist die Dynproablauflogik ähnlich wie ein ABAP-Programm ein Container für Verarbeitungsblöcke. Es gibt genau vier Ereignisblöcke, die mit dem Dynproschlü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:
Wie bei Ereignissen üblich, müssen Ereignisblöcke nur für die Ereignisse programmiert werden, auf welche die Ablauflogik reagieren soll. In der Dynproablauflogik müssen aber zumindest die Anweisungen PROCESS BEFORE OUTPUT und PROCESS AFTER INPUT in der angegebenen Reihenfolge aufgeführt werden.
Innerhalb der Ereignisblöcken können folgende prozedurale Dynproschlüsselworte verwendet werden:
Schlüsselwort |
Beschreibung |
MODULE |
Ruft ein Dialogmodul im ABAP-Programm auf. |
FIELD |
Gibt den Transportzeitpunkt für ein Dynprofeld 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 Dynprotabellen. |
ENDLOOP |
Beendet die Verarbeitung von Dynprotabellen. |
Die Funktion der einzelnen Anweisungen wird in den folgenden Abschnitte erläutert.