SELECT-OPTIONS
Short Reference
Syntax
SELECT-OPTIONS selcrit FOR {dobj|(name)}
[screen_options]
[value_options]
[ldb_options].
Effect
This declares a selection criterion selcrit for a data
object dobj or a type specified in name. Selection criteria are components of a
selection screen, to which are assigned a selection table in the ABAP program, as well as two input fields and a pushbutton for multiple selection.
The name of the selection criterion selcrit is limited to a maximum of 8 characters. This statement is allowed in the global declaration part of
executable programs,
function groups and
module-pools. In function groups and module-pools it is only allowed within the definition of an
independent selection screen. In executable programs it is otherwise automatically assigned to the
standard selection screen.
The statement SELECT-OPTIONS has the following effect:
-
The statement declares a selection table in the program with the name selcrit. A selection table is an internal
standard table with
header line and
standard key. In selection tables, you
can save multiple logical conditions. The content of selection screens can be analyzed in a logical
expression and in the expression of a WHERE-condition in Open SQL. Selection tables have the following four columns:
-
sign of type c
and length 1. The content of sign determines for every
row whether the result of the condition formulated in the column is included or excluded in the entire resulting set for all rows. Evaluable values are "I" for include and "E" for exclude.
-
option of type c
and length 2. option contains the selection option for
the condition of the row in form of logical operators. Analyzable operators are "EQ", "NE", "GE", "GT",
"LE", "LT", "CP" and "NP" if column high is initial, and
"BT", "NB" if column high is not initial. With the options
"CP" and "NP", the data type of the columns low and
high must be of the data type c, and special rules apply for entries on the selection screen.
-
low of the data type defined after
FOR. This column is designated for the comparison value or the lower interval limitation.
-
high of the data type defined after
FOR. This column is designated for the upper interval limitation.
-
Two input fields with the name selscrit-low and
selscrit-high are created on the current selection screen using a matching external data
type in a new line at positions 35 and 60. The length of the input fields bases upon the length of the
data type which is defined after FOR. The maximum length
of the input fields is 45. The maximum visible length of the input fields is, depending on the nesting
depth, in blocks with frames between 10 and 18. If the length is larger than the maximum visible length, then the content is scrollable.
Before the first input field, an automatically generated output field
is displayed as identifier
in the first possible position, whose length is, depending on the nesting depth, in blocks with frames
between 20 and 30. The output field either contains the name of the selection criterion
selcrit, or the selection text which is assigned to the selection criterion in the text elements
of the program. If the user requests a field- or input-help on the output field using the function key
F1 resp. F4, the same output is displayed as if one of the input fields is chosen.
A pushbutton multiple selection is created after the second input field. If you select this pushbutton, a dialog screen with four
tabstrip control pages appears, in which the input fields are again displayed in tabular form in
Table Controls. The tabstrip pages
are separated based on individual value comparison, interval limitation, and settings for the column sign.
As a user, you can select an input field with a double-click on the selection screen or use the
dialog screen for multiple selection. On the selection screen, you can also choose the value for column
sign. On the dialog screen for multiple selection, you
can do this by selecting the respective tabstrip page. If the selection option is not equal to "EQ"
or "BT", then it is displayed as an icon in front of the first input field. The color of the icon is
green if the content of column sign is "I", and red if it is "E".
The selection options "CP" and "NP" can be selected only if the first input field contains one
of the wildcard characters "*" or "+". If one of these characters is entered, the selection option is
automatically set to "CP". If "CP" is set, and all wildcard characters have been removed, the selection
option is automatically set to "EQ" when there is a user action. This limitation does not apply within
the program. During evaluation of the selection table, column low
can also contain a string without wildcard characters for the selection options "CP" and "NP".
The attributes of the elements on the selection screen can be influenced with the statement
screen_options or the statement SELECTION-SCREEN.
-
The first row of the selection table selcrit is linked
with the input fields on the selection screen. All rows are displayed in the dialog box for multiple selection. Each time before the selection screen is sent to the
selection screen event
ATSELECTION-SCREEN OUTPUT, the content of first row in the selection table is transported to the selection screen, with a
conversion routine being executed
if required. If the length of columns low and
high in the first row of the selection table is over 45, the excessive content is cut off
to the right. It is only possible for all rows to be transported if the button for multiple selections
is selected. A conversion routine might be executed here, and rows might be cut off. Settings for the
content of the input fields can be made in value_options.
After a user action on the selection screen, the contents of the input fields and the chosen settings are transported to the first row and the header row of the selection table.
After a user action on the dialog box for multiple selections, the contents of all input fields
and the chosen settings are transported to the rows of the selection table, and the contents of the
header are initialized. During these transports, the contents of character-type fields are converted by default into capitals, after which a conversion routine is performed, if required. After each transport, various
selection screen events are triggered.
If
a value has been entered in the entry field for the upper interval high,
the system checks whether this value is greater than the lower interval limit low> following each transport and conversion routine (if performed). If necessary, an
error message is sent. This check can be switched off before the selection screen is sent, using the function module
-
If selection criteria are defined in the selection-include of a logical database, further additions
ldb_options are necessary resp. possible.
-
If in an executable program, a selection criterion is defined for a component of a node of the linked
logical database, declared by TABLES
or NODES, and the node in question is intended for free selection on the logical database, then the selection table is transferred to the logical database after
selection screen processing
and is treated there as a free selection. Furthermore, in this case, the input fields for the corresponding
free selection are displayed directly on the selection screen, without the necessity for the user having to select them via the function free selection.
Note
If a selection criterion for data types is supplied with data when calling up an executable program with SUBMIT , a
conversion routine may be performed
for the first row, while the value of the columns low
and high will be truncated to the right of position 45
for the first row. No conversion routine or truncation is performed for any other rows. If the selection
criterion is declared with the addition
NO-DISPLAY, no conversion routine or truncation will be performed for the first row either.