Im Dynpro selbst können mit dem Werkzeug Screen Painter zwei Arten von Eingabehilfen definiert werden:
Eine direkte Anbindung einer Suchhilfe an ein Dynprofeld übersteuert die Zusätze der FIELD-Anweisung. Die Funktionalität der FIELD-Anweisung zur
Eingabeüberprüfung bleibt jedoch erhalten.Eingabehilfen der Ablauflogik
Die folgenden beiden Möglichkeiten der Eingabehilfe werden noch aus Kompatibilitätsgründen unterstützt, sollten aber nicht mehr verwendet werden.
In der Ablauflogik kann man wie folgt eine Werteliste für ein Dynprofeld <f> angeben:
FIELD <f> VALUES (<val1>, <val 2>,...).
Die Werteliste sollte durch Einzelwerte <vali> definiert werden. Die Zusätze NOT und BETWEEN der
Eingabeüberprüfung machen für die Eingabehilfe keinen Sinn.Weiterhin kann eine Werteliste wie folgt durch einen Zugriff auf eine Datenbanktabelle erstellt werden:
FIELD <f> SELECT *
FROM <dbtab>
WHERE <k1> = <f
1> AND <k
2> = <f
2> AND...
In der WHERE-Bedingung müssen die Felder des Primärschlüssels <ki> der Einträge in der Datenbanktabelle <dbtab> mit Dynprofeldern <f i> verglichen werden. Der Zusatz WHENEVER der
Eingabeüberprüfung ist für die Eingabehilfe nicht notwendig.Wenn das Feld <f> aus dem Dictionary übernommen wurde, kann die Selektion und die Aufbereitung der Trefferliste vom Vorhandensein einer Prüftabelle beeinflußt werden.
Anbindung einer Suchhilfe
Für eine Suchhilfe des ABAP Dictionary besteht die Möglichkeit der
Anbindung an ein Dynprofeld. Der Name der Suchhilfe muß hierzu im Screen Painter in den Attributen des Bildschirmfelds in das Feld Suchhilfe eingetragen werden. Dadurch wird der erste Parameter der Suchhilfe dem Dynprofeld zugeordnet. Damit ist nur das Rückstellen eines Wertes aus der Trefferliste in die Bildschirmmaske möglich.Eingabehilfe im Dynpro.
REPORT demo_dynpro_f4_help_dynpro MESSAGE-ID dw.
DATA: carrier(3) TYPE c,
connection(4) TYPE c.
CALL SCREEN 100.
MODULE cancel INPUT.
LEAVE PROGRAM.
ENDMODULE.
Die statische Folgedynpronummer von Dynpro 100 ist 100 und sein Layout ist wie folgt:
Die Eingabefelder sind von den Programmfeldern CARRIER und CONNECTION übernommen worden. Der Funktionscode der Drucktaste ist CANCEL mit dem Funktionstyp E. Dem Dynprofeld CARRIER ist die Suchhilfe DEMO_F4_DE mit dem Suchhilfeparameter CARRID zugeordnet, welche auf die Datenbanktabelle SCARR zugreift.
Die Bildschirmablauflogik ist:
PROCESS BEFORE OUTPUT.
PROCESS AFTER INPUT.
MODULE cancel AT EXIT-COMMAND.
FIELD carrier VALUES ('AA', 'LH').
FIELD connection SELECT *
FROM spfli
WHERE carrid = carrier
AND connid = connection.
Bei Auswahl der F4-Hilfe für die einzelnen Felder erhält der Benutzer folgende Eingabehilfen: