ABAPAT_SELECTION-SCREEN_EVENTS - AT SELECTION-SCREEN EVENTS

BAL_S_LOG - Application Log: Log header data   Fill RESBD Structure from EBP Component Structure  
This documentation is copyright by SAP AG.

AT SELECTION-SCREEN - selscreen_event

Short Reference



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 }.

Alternatives:

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

Effect

These additions allow individual evaluation of specific elements of theselectionscreens of the program. The information as to which selection has triggered the event is contained in the system field sy-dynnr.

Alternative 1

... OUTPUT


Effect

This event is triggered at the screen event PBO of a selection screen. In the event block, the selection screen can be prepared through assignments to the data objects of parameters and selection criteria and through dynamic screen modifications.

Note

The assignments to input fields in the event block AT SELECTION-SCREEN OUTPUT always affectsthe selection screen and overwrites the user inputs from previous displays of the same selection screen.Assignments in the event blocks LOAD-OF-PROGRAMor INITIALIZATION, on the other hand, only have an effect at first program start.

Alternative 2

... ON {para|selcrit}


Effect

This event is triggered at the screen event PAI of a selection screen if the content of the input field of a parameter para or a line of aselectioncriterion selcrit was passed to the ABAP program. In the event block, the user input can be checked. Sending awarning or anerror message in the event block makes the fields para and selcrit ready for input again.

No parameter that is defined as a radio button can be specified. For this purpose, the addition ON RADIOBUTTON GROUP is provided.

Note

If a user action takes place in the dialog box for the multiple selection of a selection criterion selcrit, the entries of theselection table are passed to the program, line by line. For each line, the event AT SELECTION-SCREEN ON selcrit is triggered.

Alternative 3

... ON END OF selcrit


Effect

This event is triggered after the selection table selcrit has been fully passed to the programafter a user action in the dialog box for the multiple selection has taken place. In the event block, the entire selection table can be checked.

Alternative 4

... ON BLOCK block


Effect

This event is triggered at the screen event PAI of a selection screen if all the input fields of a blockblock of the selection screen were passed to the ABAP program. In the event block, the user inputscan be checked. Sending a warning or an error message in the event block makes all the fields of the block block ready for input again.

Alternative 5

... ON RADIOBUTTON GROUP group


Effect

This event is triggered at the screen event PAI of a selection screen if all the fields of a radio button group group of the selection screen were passed to the ABAP program. In the event block, the user input can be checked. Sending awarning orerrormessage in the event block makes all the radio buttons of the group group ready for input again.

Note

The individual fields of a radio button group are not passed individually and do not trigger the event AT SELECTION-SCREEN ON par.

Alternative 6

... { }


Effect

The event AT SELECTION-SCREEN itself is triggered as the last event of selection screen processingif all the input values were passed to the program. In this event block, all the user inputs can bechecked. Sending a warning or an error message in the event block makes all the screen fields ready for input once again.

Alternative 7

... ON { HELP-REQUEST | VALUE-REQUEST } FOR {para|selcrit-low|selcrit-high} }


Effect

The two events ON HELP-REQUEST and ON VALUE-REQUEST are triggered at the screen eventsPOH andPOV of a selection screen if - for the input field of a parameter para or one of the input fields of aselectioncriterion selcrit - the field help F1 or the input help F4 was called. Otherselection events are not triggered.

In the event blocks, a self-defined field or input field can be programmed, which overrides any helps possibly defined in the ABAP Dictionary.

Notes

  • These event blocks can only be implemented for fields of the selection screen that are defined in the same ABAP program and not in a possibly linkedlogical database.
  • With the events for the field and input help, no data is transported between the selection screen and the ABAP program. As with generalscreens,suitable function modules such as RS_SELECTIONSCREEN_READ and RS_SELECTIONSCREEN_UPDATE must be usedfor these. The parameters and selection criteria changed for the input help are transported to the selection screen.


Alternative 8

... ON EXIT-COMMAND


Effect

This event is triggered if the user has called one of the functions Back,Exit or Cancel. In the event block, possible clean-up actions can be executed.

Example

In these executable programs, a standard selection screen and a further selection screen are defined. Inthe event blocks AT SELECTION-SCREEN, the inputs in the selection screens can be specially handled using the name p_carrid and thescreen number in sy-dynnr.

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.
  ...


Fill RESBD Structure from EBP Component Structure   ROGBILLS - Synchronize billing plans  
This documentation is copyright by SAP AG.


Length: 13100 Date: 20120518 Time: 194012     triton ( 393 ms )