ABAPAT_SELECTION-SCREEN_EVENTS - AT SELECTION-SCREEN EVENTS
ABAP Short Reference ROGBILLS - Synchronize billing plansDiese Dokumentation steht unter dem Copyright der SAP AG.
AT SELECTION-SCREEN - selscreen_event
Syntax
... { OUTPUT }
| { ON {para|selcrit} }
| { ON END OF selcrit }
| { ON BLOCK block }
| { ON RADIOBUTTON GROUP group }
| { }
| { ON {HELP-REQUEST|VALUE-REQUEST}
FOR {para|selcrit-low|selcrit-high} }
| { ON EXIT-COMMAND }.
Alternativen:
1. ... OUTPUT
2. ... ON {para|selcrit}
3. ... ON END OF selcrit
4. ... ON BLOCK block
5. ... ON RADIOBUTTON GROUP group
6. ... { }
7. ... ON {HELP-REQUEST|VALUE-REQUEST} FOR {para|selcrit-low|selcrit-high}
8. ... ON EXIT-COMMAND
Wirkung
Diese Zusätze erlauben die Einzelauswertung spezifischer Elemente derSelektionsbilderdes Programms. Die Information, welches Selektionsbild das Ereignis ausgelöst hat, steht im Systemfeld sy-dynnr zur Verfügung.
Alternative 1
... OUTPUT
Wirkung
Dieses Ereignis wird beim Dynpro-Ereignis PBO eines Selektionsbildes ausgelöst. In dem Ereignisblock kann das Selektionsbild durchZuweisungen an die Datenobjekte von Parametern und Selektionskriterien und durch dynamische Bildschirmmodifikationen vorbereitet werden.
Hinweis
Die Zuweisungen an Eingabefelder im Ereignisblock AT SELECTION-SCREEN OUTPUT wirken sich immerauf das Selektionsbild aus und überschreiben die Benutzereingaben von vorherigen Anzeigen desgleichen Selektionsbildes. Zuweisungen in den Ereignisblöcken LOAD-OF-PROGRAModer INITIALIZATION wirken dagegen nur beim ersten Programmstart.
Alternative 2
... ON {para|selcrit}
Wirkung
Dieses Ereignis wird beim Dynpro-Ereignis PAI eines Selektionsbildes ausgelöst, wenn der Inhalt des Eingabefeldes eines Parameters para oder eine Zeile einesSelektionskriteriumsselcrit an das ABAP-Programm übergeben wurde. In dem Ereignisblock kann die Benutzereingabe überprüft werden. Das Senden einerWarnung oderFehlermeldung im Ereignisblock macht die Felder von para bzw. selcrit wieder eingabebereit.
Es kann kein Parameter angegeben werden, der als Auswahlknopf definiert ist. Für solche ist der Zusatz ON RADIOBUTTON GROUP vorgesehen.
Hinweis
Wenn im Dialogfenster für die Mehrfachselektion eines Selektionskriteriums selcrit eine Benutzeraktion stattfindet, werden die Einträge derSelektionstabelleZeile für Zeile an das Programm übergeben, wobei für jede Zeile das Ereignis AT SELECTION-SCREEN ON selcrit ausgelöst wird.
Alternative 3
... ON END OF selcrit
Wirkung
Dieses Ereignis wird ausgelöst, nachdem nach einer Benutzeraktion im Dialogfenster fürdie Mehrfachselektion die Selektionstabelle selcrit vollständig an das Programm übergeben wurde. Im Ereignisblock kann die gesamte Selektionstabelle überprüft werden.
Alternative 4
... ON BLOCK block
Wirkung
Dieses Ereignis wird beim Dynpro-Ereignis PAI eines Selektionsbildes ausgelöst, wenn alle Eingabefeldereines Blocks block des Selektionsbildes an das ABAP-Programm übergeben wurden. In demEreignisblock können die Benutzereingaben überprüft werden. Das Senden einer Warnung oder Fehlermeldung in dem Ereignisblock macht alle Felder des Blocks block wieder eingabebereit.
Alternative 5
... ON RADIOBUTTON GROUP group
Wirkung
Dieses Ereignis wird beim Dynpro-Ereignis PAI eines Selektionsbildes ausgelöst, wenn alle Felder einer Auswahlknopfgruppe groupdes Selektionsbildes an das ABAP-Programm übergeben wurden. Im Ereignisblock kann die Benutzereingabe überprüft werden. Das Senden einerWarnung oderFehlermeldungim Ereignisblock macht alle Auswahlknöpfe der Gruppe group wieder eingabebereit.
Hinweis
Die einzelnen Felder einer Auswahlknopfgruppe werden nicht einzeln übergeben und lösen nicht das Ereignis AT SELECTION-SCREEN ON par aus.
Alternative 6
... { }
Wirkung
Das Ereignis AT SELECTION-SCREEN selbst wird als letztes Ereignis der Selektionsbildverarbeitungausgelöst, wenn alle Eingabewerte an das Programm übergeben wurden. In diesem Ereignisblockkönnen sämtliche Benutzereingaben überprüft werden. Das Senden einer Warnung oder Fehlermeldung im Ereignisblock macht alle Bildschirmfelder wieder eingabebereit.
Alternative 7
... ON { HELP-REQUEST | VALUE-REQUEST } FOR {para|selcrit-low|selcrit-high}
Wirkung
Die beiden Ereignisse ON HELP-REQUEST und ON VALUE-REQUEST werden bei den Dynpro-EreignissenPOH undPOVeines Selektionsbildes ausgelöst, wenn für das Eingabefeld eines Parameters para oder eines der Eingabefelder einesSelektionskriteriumsselcrit die Feldhilfe F1 bzw. die Eingabehilfe F4 aufgerufen wurde. AndereSelektionsbildereignisse werden nicht ausgelöst.
In den Ereignisblöcken kann eine selbst definierte Feld- bzw. Eingabehilfe programmiert werden, welche die eventuell im ABAP Dictionary definierten Hilfen übersteuert.
Hinweise
- Diese Ereignisblöcke können nur für Felder des Selektionsbildes implementiert werden, die im gleichen ABAP-Programm und nicht in einer eventuell verknüpftenlogischen Datenbank definiert sind.
- Bei den Ereignissen für die Feld- und Eingabehilfe werden keine Daten zwischen Selektionsbild und ABAP-Programm transportiert. Wie bei allgemeinenDynprosmüssen hierfür geeignete Funktionsbausteine wie RS_SELECTIONSCREEN_READ und RS_SELECTIONSCREEN_UPDATEverwendet werden. Die im Ereignisblock für die Wertehilfe geänderten Parameter und Selektionskriterien werden an das Selektionsbild transportiert.
Alternative 8
... ON EXIT-COMMAND
Wirkung
Dieses Ereignis wird ausgelöst, wenn der Benutzer eine der Funktionen Zurück,Beenden oder Abbrechen aufgerufen hat. Im Ereignisblock können eventuelle Aufräumarbeiten vorgenommen werden.
Beispiel
In diesen ausführbaren Programmen sind ein Standardselektionsbild und ein weiteres Selektionsbild definiert.In den Ereignisblöcken AT SELECTION-SCREEN werden die Eingaben in die Selektionsbilder über den Namen p_carrid und dieDynpro-Nummer in sy-dynnr gezielt behandelt.
REPORT demo_at_selection_screen.
* Global data
DATA: spfli_tab TYPE TABLE OF spfli,
spfli_wa LIKE LINE OF spfli_tab.
* Selection screens
PARAMETERS p_carrid TYPE spfli-carrid.
SELECTION-SCREEN BEGIN OF SCREEN 500.
SELECT-OPTIONS s_conn FOR spfli_wa-connid.
SELECTION-SCREEN END OF SCREEN 500.
* Handling selection screen events
AT SELECTION-SCREEN ON p_carrid.
IF p_carrid IS INITIAL.
MESSAGE 'Please enter a value' TYPE 'E'.
ENDIF.
AUTHORITY-CHECK OBJECT 'S_CARRID'
ID 'CARRID' FIELD p_carrid
ID 'ACTVT' FIELD '03'.
IF sy-subrc = 4.
MESSAGE 'No authorization for carrier' TYPE 'E'.
ELSEIF sy-subrc <> 0.
MESSAGE 'Error in authority check' TYPE 'A'.
ELSE.
IF sy-ucomm = 'ONLI'.
CALL SELECTION-SCREEN '0500'.
ENDIF.
ENDIF.
AT SELECTION-SCREEN.
IF sy-dynnr = '0500'.
IF s_conn IS INITIAL.
MESSAGE 'Please enter values' TYPE 'W'.
ELSE.
SELECT *
FROM spfli
INTO TABLE spfli_tab
WHERE carrid = p_carrid AND
connid IN s_conn.
IF sy-subrc <> 0.
MESSAGE 'No flights found' TYPE 'E'.
ENDIF.
ENDIF.
ENDIF.
* Main program
START-OF-SELECTION.
...
General Material Data ROGBILLS - Synchronize billing plans
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 13866 Date: 20120526 Time: 232158 triton ( 309 ms )






