The by far most important function of selection screens is to allow users to minimize the data to be read before database tables are actually accessed. In this context, a user can also be a calling ABAP program. This important function of selection screens is also illustrated in Executing Reports Directly.
However, the input fields that accept single values and are defined using PARAMETERS cannot fulfill this task. For this purpose, ABAP contains selection criteria. These selection criteria allow the user to easily handle complex selections. You can link selection criteria to the columns of database tables and to internal fields in a program. Each selection criterion may only apply to one column of a database table. However, a database table can have more than one selection criterion linked to it (for example, one criterion for each column). If selection criteria are used for complex selections, you do not have to write lengthy logical expressions, since this task is solved internally.
Unlike parameters that are declared as elementary variables in ABAP programs, selection criteria are based on special internal tables, called selection tables. To define a selection criterion, you must declare a selection table in the declaration part using the SELECT-OPTIONSstatement. The relevant possible entries then appear on the selection screen.
You can use the SELECT-OPTIONS statement for both standard and user-defined selection screens. If the program is linked to a logical database, you must consider several special rules for handling selection criteria. The following sections explain the variants of the SELECT-OPTIONS statement which are important for program-specific selections.
There are special variants of the SELECT-OPTIONSstatement that you can use to define database-specific selections in logical databases. For more information, see the keywords documentation and the section on Logical Databases.