Anfang des Inhaltsbereichs

Automatische Eingabeüberprüfungen Dokument im Navigationsbaum lokalisieren

Beim Ereignis PAI werden vom Dynpro eine Reihe automatischer Eingabeüberprüfungen durchgeführt. Die automatischen Eingabeüberprüfungen finden statt bevor ein Datentransport an das ABAP-Programm erfolgt und bevor die Dynproablauflogik prozessiert wird. Vor den automatischen Eingabeüberprüfungen kann ein einziges Dialogmodul durch einen unbedingten Modulaufruf und mit einem speziellen Funktionstyp aufgerufen werden. Dieses Dialogmodul dient in der Regel dazu, das Dynpro unter Umgehung der Überprüfungen zu verlassen.

Findet die automatische Eingabeüberprüfung einen Fehler, wird dies in der Statuszeile des Bildschirms angezeigt und die entsprechenden Felder bleiben eingabebereit. Der Benutzer muß seine Eingaben korrigieren und wieder PAI auslösen. Die eigentliche PAI-Verarbeitung wird erst gestartet, wenn die automatische Eingabeüberprüfung keine Fehler mehr findet.

Die automatischen Eingabeüberprüfungen werden in folgender Reihenfolge durchgeführt:

Mußeingaben

Der Benutzer muß für jedes im Screen Painter als Mußfeld definiertes Eingabefeld einen Wert eingeben, bevor die PAI-Verarbeitung aufgenommen wird.

Eingabeformat

Die in ein Eingabefeld eingegebenen Werte müssen dem Datenformat des zugehörigen Dynprofelds entsprechen. Beispielsweise ist das Format eines Datumsfelds vom Typ DATS eine achtstellige Zeichenkette mit dem Format JJJJMMDD. Alle Zeichen müssen Zahlen und die Zeichen MM und DD kleiner oder gleich 12 bzw. 31 sein. Für den jeweiligen Monat wird auch die Gültigkeit der Angabe des Tags überprüft.

Überprüfungen im ABAP Dictionary

Wenn ein Eingabefeld im Screen Painter durch Strukturlink Übernehmen aus dem ABAP Dictionary definiert wurde, überprüft das Dynpro, ob

Beispiel

Automatische Eingabeüberprüfungen.

PROGRAM demo_dynpro_automatic_checks.

DATA: ok_code TYPE sy-ucomm,
      date TYPE d.

TABLES demo_conn.

CALL SCREEN 100.

MODULE init_screen_100 OUTPUT.
  SET PF-STATUS 'STATUS_100'.
ENDMODULE.

MODULE cancel INPUT.
  LEAVE PROGRAM.
ENDMODULE.

MODULE pai INPUT.
  MESSAGE i888(sabapdocu) WITH text-001.
ENDMODULE.

Die statische Folgedynpronummer von Dynpro 100 ist 100 und sein Layout ist wie folgt:

Diese Grafik wird im zugehörigen Text erklärt

Dem Eingabefeld Datum ist das aus dem Programm übernommene Datumsfeld DATE zugeordnet. Die übrigen Eingabefelder sind die aus dem ABAP Dictionary übernommenen Komponenten CARRID, CONNID und MARK der Struktur DEMO_CONN. Alle Eingabefelder sind Mußfelder. Der Funktionscode der Drucktaste ist EXECUTE.

Im GUI-Status STATUS_100 ist das Symbol Diese Grafik wird im zugehörigen Text erklärt (F12) durch den Funktionscode CANCEL mit dem Funktionstyp E aktiviert. Weiterhin ist der Funktionstaste F8 der Funktionscode EXECUTE zugeordnet.

Die Bildschirmablauflogik ist:

PROCESS BEFORE OUTPUT.
  MODULE init_screen_100.

PROCESS AFTER INPUT.
  MODULE cancel AT EXIT-COMMAND.
  MODULE pai.

Der Benutzer muß erst alle Eingabefelder fehlerfrei füllen, bevor das Modul PAI aufgerufen werden kann:

Der Benutzer kann das Dynpro über Diese Grafik wird im zugehörigen Text erklärt (F12) verlassen ohne alle Werte richtig einzugeben, da der Modulaufruf mit AT EXIT-COMMAND entsprechend programmiert wurde.

 

 

Ende des Inhaltsbereichs