Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

at selection screen

Former Member
0 Likes
555

Hi ,

I am new in ABAP. can anyone explain about what is the use of at selection screen event with code examples.

thanks and regards,

Navneeth.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
532

AT SELECTION-SCREEN selscreen_event.

Effect

This statement defines event blocks for different events selscreen_event that are triggered by the ABAP runtime environment during selection screen processing.

Selection screen events occur immediately before sending a selection screen and after certain user actions on a displayed selection screen. They assist in selection screen processing in the ABAP program.

AT SELECTION-SCREEN is triggered at least twice during actions on selection screens that are linked into another selection screen as a subscreen - first for the linked selection screen itself, and then for the linking selection screens.

Note

The event blocks after AT SELECTION-SCREEN are implemented internally as procedures. Declarative statments in these event blocks create local data.

REPORT demo_at_selection_screen.

  • Global data

DATA: sflight_tab TYPE TABLE OF sflight,

sflight_wa LIKE LINE OF sflight_tab.

  • Selection screens

PARAMETERS p_carrid TYPE spfli-carrid.

SELECTION-SCREEN BEGIN OF SCREEN 500.

SELECT-OPTIONS s_conn FOR sflight_wa-connid.

DATA s_conn_wa LIKE LINE OF s_conn.

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 sflight

INTO TABLE sflight_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.

...

**********************************************************************

if working in SAP . JUST Write AT SELECTION SCREEN and press F1 help .

3 REPLIES 3
Read only

Former Member
0 Likes
533

AT SELECTION-SCREEN selscreen_event.

Effect

This statement defines event blocks for different events selscreen_event that are triggered by the ABAP runtime environment during selection screen processing.

Selection screen events occur immediately before sending a selection screen and after certain user actions on a displayed selection screen. They assist in selection screen processing in the ABAP program.

AT SELECTION-SCREEN is triggered at least twice during actions on selection screens that are linked into another selection screen as a subscreen - first for the linked selection screen itself, and then for the linking selection screens.

Note

The event blocks after AT SELECTION-SCREEN are implemented internally as procedures. Declarative statments in these event blocks create local data.

REPORT demo_at_selection_screen.

  • Global data

DATA: sflight_tab TYPE TABLE OF sflight,

sflight_wa LIKE LINE OF sflight_tab.

  • Selection screens

PARAMETERS p_carrid TYPE spfli-carrid.

SELECTION-SCREEN BEGIN OF SCREEN 500.

SELECT-OPTIONS s_conn FOR sflight_wa-connid.

DATA s_conn_wa LIKE LINE OF s_conn.

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 sflight

INTO TABLE sflight_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.

...

**********************************************************************

if working in SAP . JUST Write AT SELECTION SCREEN and press F1 help .

Read only

Former Member
0 Likes
532

Hi,

Any user action on selection screen triggers this AT SELECTION-SCREEN event......

U can use it for validating the input parameter values and if are not correct u can throw an error..........etc

AT SELECTION-SCREEN has a plenty of additions too...(see keyword docu F1 hlp )

Here is a piece of code that uses the output addition of AT SELECTION-SCREEN to disable a chk box when the other chk box is selected...........

PARAMETERS: cbox1 AS CHECKBOX USER-COMMAND rad,
            cbox2 AS CHECKBOX USER-COMMAND rad.

AT SELECTION-SCREEN OUTPUT.
  CASE 'X'.
    WHEN cbox1.
      LOOP AT SCREEN.
        CHECK screen-name = 'CBOX2'.
        screen-input = 0.
        MODIFY SCREEN.
      ENDLOOP.
    WHEN cbox2.
      LOOP AT SCREEN.
        CHECK screen-name = 'CBOX1'.
        screen-input = 0.
        MODIFY SCREEN.
      ENDLOOP.
  ENDCASE.

Cheers,

jose.

Read only

Former Member
0 Likes
532

AT SELECTION-SCREEN is used for validating the values entered in the selection-screen.

By using this event - you will get F4 Value,F1 Help and Screen field validation like whether data is available or not when user enters in field

AT SELECTION-SCREEN

The event AT SELECTION-SCREEN is the basic form of a whole series of events that occur while the selection screen is being processed.

The standard selection screen in an executable program or in the logical database linked to it is automatically called between the INITIALIZATION and START-OF-SELECTION events. When you call the selection screen, and when users interact with it, the ABAP runtime environment generates selection screen events, which occur between INITIALIZATION and START-OF-SELECTION.

You can define event blocks for these events in your program to change the selection screen or process user input.