ABAPAT_SELECTION-SCREEN_EVENTS - AT SELECTION-SCREEN EVENTS

ABAP Short Reference   ROGBILLS - Synchronize billing plans  
Diese Dokumentation steht unter dem Copyright der SAP AG.

AT SELECTION-SCREEN - selscreen_event

Kurzreferenz



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 )