Selection screens are special dynpros that are not created in Screen Painter, but rather are generated from ABAP statements. You use them whenever you want the user to enter either a single value for a field or fields, or to enter selection criteria.
ABAP programs use screens to obtain input from users. The most general type of screen is a dialog screen, which you create using the ABAP Workbench tools Screen Painter and Menu Painter. These tools allow you to create screens for data input and output. However, each of these screens requires its own flow logic.
You often use screens purely for data input . In these cases, you can use a selection screen. Selection screens are a standardized user interface. Users can enter both single values and complex selections. Input parameters are primarily used to control the program flow, while users can enter selection criteria to restrict the amount of data read from the database. You can create and save predefined sets of input values in ABAP Editor for any selection screen. These are called variants. Texts on the selection screen are stored as language-specific selection texts in the program text elements. If you start an executable report using the SUBMIT statement, the input fields of the selection screen also serve as a data interface.
Defining and Calling Selection Screens
You define selection screens using ABAP statements in a program. Simple statements allow you to create input fields, checkboxes, and radio buttons, and design the screen layout. If you want to create a screen exclusively for data input, you do not need to create it using the normal dynpro programming tools. When you create a selection screen, the system automatically assumes the tasks of the Screen Painter and Menu Painter.
The rules for calling and defining selection screens in ABAP programs depend on the program type:
Executable program without logical database
You can use a single standard selection screen and as many standalone selection screens as you wish. The standard selection screen is called automatically when you start the program. Standalone selection screens, on the other hand, are called using the CALL SELECTION-SCREEN statement in a program. The standard selection screen always has the dynpro number 1000. Standalone selection screens can have any dynpro number except 1000.
Executable program with logical database
The standard selection screen for an executable program linked to a logical database is made up of the logical database selections and the program selections.
Module Pools and Function Modules
You can only use standalone selection screens in module pools and function modules. These can have any dynpro number apart from 1000. In function modules, you can only call a selection screen using the CALL SELECTION-SCREEN statement. You can use a standalone selection screen in a module pool as the initial dynpro of a transaction.
You can also define selection screens as Subscreens and incorporate them in dynpros or tabstrip controls.