SAP AT SELECTION-SCREEN EVENTS ABAP Statements Get Example source ABAP code based on a different SAP table
ABAP Statement
• OUTPUT AT SELECTION-SCREEN
• ON AT SELECTION-SCREEN
• ON END OF AT SELECTION-SCREEN
• ON BLOCK AT SELECTION-SCREEN
• ON RADIOBUTTON GROUP AT SELECTION-SCREEN
• ON HELP-REQUEST FOR AT SELECTION-SCREEN
• ON VALUE-REQUEST FOR AT SELECTION-SCREEN
• ON EXIT-COMMAND AT SELECTION-SCREEN
AT SELECTION-SCREEN>, selscreen_event> Short Reference > ABAP_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 $}.> ABAP_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> What does it do? These additions allow the individual evaluation of specific elements of the selection screens> of the program. The information about which selection screen raised the event is in the system field sy-dynnr>. ABAP Alternative 1 ... OUTPUT> What does it do? This event is raised by the dynpro event PBO> of a selection screen. In the event block, the selection screen can be prepared using assignments to the data objects of selection parameters and selection criteria and using dynamic screen modifications. Latest notes: The assignments to input fields in the event block AT SELECTION-SCREEN OUTPUT> always affect the selection screen and overwrite the user input from previous displays of the same selection screen. Assignments in the event blocks LOAD-OF-PROGRAM>> or INITIALIZATION >>, on the other hand, only have an effect the first time the program starts. The statement MODIFY SCREEN>> can be used during the event AT SELECTION-SCREEN OUTPUT> to modify properties of screen elements of the selection screen. ABAP_HINT_END Example ABAP Coding The following section of an executable program modifies an input field of a selection screen declared using PARAMETERS >>. The field input is made invisible using the characters ***...>, which can be used for example, for entering a password. ABEXA 00046 ABAP_EXAMPLE_END ABAP Alternative 2 ... ON ${para$|selcrit$}> What does it do? This event is raised by the dynpro event PAI> of a selection screen if the content of the input field of a selection parameter para> or a line of a selection criterion> selcrit > was passed to the ABAP program. The user input can be checked in this event block. Sending a warning> or an error message> in the event block makes the fields para> and selcrit> ready for input again. No selection parameter that is defined as a radio button can be specified. For this purpose, the addition ON RADIOBUTTON GROUP> is provided. Latest notes: If a user action takes place in the dialog box for the multiple selection of a selection criterion selcrit>, the entries of the selection table> are passed to the program, line by line. For each line, the event AT SELECTION-SCREEN ON selcrit> is raised. ABAP_HINT_END ABAP Alternative 3 ... ON END OF selcrit> What does it do? This event is raised after the selection table selcrit> is passed completely to the program after a user action in the dialog box for the multiple selection has taken place. The entire selection table can be checked in this event block. ABAP Alternative 4 ... ON BLOCK block> What does it do? This event is raised by the dynpro event PAI of a selection screen if all the input fields of a block block> of the selection screen were passed to the ABAP program. The user input can be checked in the event block. Sending a warning or an error message in the event block makes all the fields of the block block> ready for input again. ABAP_EXAMPLE_ABEXA Block Processing and Radio Button Processing> ABAP_EXAMPLE_END ABAP Alternative 5 ... ON RADIOBUTTON GROUP group> What does it do? This event is raised by the dynpro 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. The user input can be checked in this event block. Sending a warning> or error message> in the event block makes all the radio buttons of the group group> ready for input again. Latest notes: The individual fields of a radio button group are not passed individually and do not raise the event AT SELECTION-SCREEN ON par >. ABAP_HINT_END ABAP_EXAMPLE_ABEXA Block Processing and Radio Button Processing> ABAP_EXAMPLE_END ABAP Alternative 6 ... ${ $}> What does it do? The event AT SELECTION-SCREEN> itself is raised as the last event in selection screen processing if all the input values were passed to the program. All user input can be checked in this event block. Sending a warning or an error message in the event block makes all the screen fields ready for input again. ABAP Alternative 7 ... ON ${ HELP-REQUEST $| VALUE-REQUEST $} FOR ${para$|selcrit-low$|selcrit-high$}> What does it do? The two events ON HELP-REQUEST> and ON VALUE-REQUEST> are raised by the dynpro events POH > and POV> of a selection screen if, for the input field of a selection parameter para> or one of the input fields of a selection criterion> selcrit>, the field help F1> or the input help F4> was called. Other selection events> are not raised. In the event blocks, a user-defined field or input field can be programmed, which overrides any helps defined in ABAP Dictionary. The selection parameters and selection criteria changed in the event blocks for ON VALUE-REQUEST> are transported to the respective fields of the selection screen. Latest 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 any linked logical database>. During the events for the field help and input help no data is transported from the selection screen to the ABAP program. As with general dynpros>, suitable function modules such as RS_SELECTIONSCREEN_READ> and RS_SELECTIONSCREEN_UPDATE > must be used. ABAP_HINT_END ABAP_EXAMPLES_ABEXA Selection Screens - Field Help> Selection Screens - Input Help for Selection Parameters> ABAP_EXAMPLE_END ABAP Alternative 8 ... ON EXIT-COMMAND> What does it do? This event is raised if the user has called one of the functions Back>, Exit>, or Cancel>. Any cleanup actions can be executed in this event block. Example ABAP Coding The following section of an executable program> defines a standard selection screen and a further selection screen. In the event blocks AT SELECTION-SCREEN>, the input in the selection screens can be specially handled using the evaluation of the name p_carrid > and the dynpro number > in sy-dynnr>. ABEXA 00047 ABAP_EXAMPLE_END Return to menu