Show TOC Anfang des Inhaltsbereichs

Eingabehilfen des Dynpro  Dokument im Navigationsbaum lokalisieren

Im Dynpro selbst können mit dem Werkzeug Screen Painter zwei Arten von Eingabehilfen definiert werden:

...

       1.      Verwendung der Zusätze VALUES oder SELECT in der FIELD-Anweisung der Ablauflogik.

       2.      Direkte Anbindung einer Suchhilfe an ein Dynprofeld.

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, val2,...).

Die Werteliste sollte durch Einzelwerte val1, val2,... 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 = f1 AND k2 = f2 AND...

In der WHERE-Bedingung müssen die Felder des Primärschlüssels k1, k2 … der Einträge in der Datenbanktabelle dbtabmit Dynprofeldern f1 , f2 ... 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 beeinflusst werden.

Anbindung einer Suchhilfe

Für eine Suchhilfe des ABAP Dictionary besteht die Möglichkeit der Anbindung an ein Dynprofeld. Der Name der Suchhilfe muss 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.

Beispiel

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:

Diese Grafik wird im zugehörigen Text erklärt

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:

·         Für Fluggesellschaft zeigt die Suchhilfe die Liste der Namen von Fluggesellschaften an und stellt für die ausgewählte Zeile das Kürzel der Gesellschaft in das Eingabefeld. Falls das Kürzel nicht der VALUES-Liste der Ablauflogik entspricht, löst die Eingabeüberprüfung zu PAI eine Fehlermeldung aus. Die Suchhilfe übersteuert also zwar den VALUES-Zusatz für die Eingabehilfe aber nicht für die Eingabeüberprüfung. Hier sollte also kein VALUES-Zusatz verwendet werden.

·         Für Verbindung zeigt die Ablauflogik die Liste der selektierten Einträge aus der Datenbanktabelle SPFLI und stellt für die Verbindungsnummer der ausgewählten Zeile in das Eingabefeld.

 

 

Ende des Inhaltsbereichs