Selektionsbildverarbeitung 

Selektionsbilder sind spezielle durch ABAP-Anweisungen definierte Dynpros. Der Programmierer hat keinen Zugriff auf die Bildschirmablauflogik von Selektionsbildern und kann deshalb keine Dialogmodule für Selektionsbilder definieren. Der Ablauf des Selektionsbilds wird vollständig von der ABAP-Laufzeitumgebung gesteuert. Um es dem Programmierer zu ermöglichen, das Selektionsbild vor dem Aufruf zu modifizieren (PBO) und auf Benutzeraktionen auf dem Selektionsbild zu reagieren (PAI), erzeugt die ABAP-Laufzeitumgebung vor dem Senden des Selektionsbilds an den Bildschirm und nach Benutzeraktionen auf dem Selektionsbild eine Reihe von speziellen Selektionsbildereignissen. Im Programm können entsprechende Ereignisblöcke definiert werden, um auf diese Ereignisse zu reagieren.

Die Grundform der Selektionsbildereignisse ist das Ereignis AT SELECTION-SCREEN. Es tritt auf, wenn die Laufzeitumgebung alle Eingabedaten vom Selektionsbild an das ABAP-Programm übergeben hat. Die weiteren Selektionsbildereignisse erlauben es, das Selektionsbild vor dem Senden zu modifizieren und gezielt einzelne Eingaben zu überprüfen.

Die Selektionsbildereignisse treten sowohl während der Verarbeitung von Standardselektionsbildern als auch bei eigenständigen Selektionsbildern auf. Um in den Ereignisblöcken zu entscheiden, welches Selektionsbild gerade verarbeitet wird, kann man dem Systemfeld SY-DYNNR die Dynpronummer des gerade aktiven Selektionsbilds entnehmen.

Die Selektionsbildereignisse im Überblick

Betrachten wir zum Beispiel folgende Definition eines Standardselektionsbilds im Deklarationsteil eines ausführbaren Programms:

Die folgende Abbildung zeigt die möglichen Selektionsbildereignisse und ihre zeitliche Abfolge zwischen den Ereignissen INITIALIZATION und START-OF-SELECTION. Beim Aufruf eigenständiger Selektionsbilder ist die Ereignisfolge entsprechend in den aktuellen Programmablauf eingebettet.

Die Selektionsbildverarbeitung beginnt nach dem Ereignis INITIALIZATION mit AT SELECTION SCREEN OUTPUT. Dann wird das Selektionsbild an den Bildschirm gesendet. Benutzeraktionen auf dem Selektionsbild führen zu weiteren Ereignissen, die entweder der Feldhilfe oder Eingabehilfe dienen oder sie lösen die PAI-Verarbeitung des Selektionsbilds aus. Während der PAI-Verarbeitung ermöglichen Fehlernachrichten in den entsprechenden Ereignisblöcken, auf das Selektionsbild zurückzukehren. Erst wenn das Ereignis AT SELECTION-SCREEN ordnungsgemäß, also nicht durch eine Fehlernachricht, verlassen wird, werden die übrigen Ereignisse des ausführbaren Programms beginnend mit START-OF-SELECTION ausgelöst.

Die Auswahl der Mehrfachselektion ruft das entsprechende Dialogfenster auf, zu dessen Zeitpunkt PAI ebenfalls Ereignisse ausgelöst werden.

 

Grundform

PBO des Selektionsbilds

Einzelfeldverarbeitung

Blockverarbeitung

Auswahlknöpfe verarbeiten

Mehrfachselektion verarbeiten

Feldhilfe definieren

Eingabehilfe definieren