SAP ALL SELECT-OPTIONS Sign High Low

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

6/24/2021 SELECT-OPTIONS - ABAP Keyword Documentation

SAP NetWeaver AS ABAP Release 750, ©Copyright 2016 SAP AG. All rights reserved.

ABAP - Keyword Documentation → 


ABAP - Reference → 
User Dialogs → 
Selection Screens → 
Create Selection Screens → 

SELECT-OPTIONS

Quick Reference

Syntax
SELECT-OPTIONS selcrit FOR {dobj|(name)}

               [
screen_options]

               [value_options]

               [
NO DATABASE SELECTION]

               [
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, the statement is only allowed within the definition of a
standalone selection screen. In executable programs, the
statement 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, multiple selection conditions can be saved. The content of selection tables can be analyzed in a
relational expression with the
relational operator IN or in
a
similar 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 results set for all rows. Valid 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 relational operators. Valid operators
are "EQ",
"NE", "GE",
"GT", "LE", "LT",
"CP", and "NP", if the column high
is initial, and "BT", "NB", if column high is not initial. For the options "CP" and "NP",
the data type of the columns low and high must be c, and special rules apply to 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 selcrit-low and selcrit-high


are created on the current selection screen using a matching external data type in a new row at
positions
35 and 60. The length of the input fields is based upon the length of the data type which is defined
after FOR. The maximum length of the input fields is 255. 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 greater than the maximum visible
length, the content is scrollable.

An output field generated automatically is displayed in the first position available on the left
of the input field as a label with a length of between 20 and 30 depending on
the nesting depth in blocks
with frames. The output field contains either the name of the selcrit selection
criterion or the selection text to which the selection criterion is
assigned in the text elements of
the program. If the user requests field or input help on the output field using the function key F1 or F4, the same output is displayed as if
one of the input fields is chosen.

A multiple selection pushbutton is created after the second input field. If this pushbutton is selected, 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.

A user can select an input field by double-clicking the selection screen or using the dialog screen
for multiple selection. On the selection screen, the value of the column
sign
can also be chosen. On the dialog screen for multiple selection, this can be done by selecting the respective
tabstrip page. If the selection option is not equal to "EQ"
or "BT",
it is displayed as an icon in front of the first input field. The color of the icon is green if the
content of the 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 "+". "+" masks a single character, "*"
masks any character string, even an empty one. 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. When the
selection table is evaluated, the 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 associated 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 the columns low and high
in the first row of the selection table is greater than
255, the surplus content is cut off on 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 line 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. These
transports convert
the content of character-like fields by default into uppercase letters by default, after which a conversion routine is performed, if required. After each
transport, various
selection screen events are raised.

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 RS_SELOPT_NO_INTERVAL_CHECK.

If selection criteria are defined in the selection include of a logical database, further additions
ldb_options are necessary or possible.

If, in an executable program, a selection criterion is defined for a component of a node of the associated
logical database, declared by TABLES
or NODES,
and the node in
question is intended for dynamic selection on the logical database, the selection table is passed (by default) to the logical database, after
selection screen processing,
where it is handled as a dynamic selection. Furthermore, in this case, the input fields for the corresponding
dynamic selection are displayed directly on the selection
screen. Therefore the user does not need to
select the fields using the Dynamic Selections function. This transfer can
be suppressed using the addition
NO DATABASE SELECTION.

https://help.sap.com/doc/abapdocu_750_index_htm/7.50/en-US/abapselect-options.htm 1/2
6/24/2021 SELECT-OPTIONS - ABAP Keyword Documentation
Notes

To avoid undefined system behavior, the header line of a selection table should not be changed in the
program. Reads should also be avoided. Instead separate work
areas, field symbols, or data references should be used, as always for internal tables.

If a selection criterion is supplied with data when calling up an executable program using SUBMIT, a
conversion routine
may be performed for the first row only, while the
value of the columns low
and high will be truncated at position 255 for the first row only. If the
selection criterion is declared with the addition NO-DISPLAY, no conversion
routine or truncation will be performed for the first row either.

If the type of the selection criterion is a decimal floating point number that does not refer to a data type in ABAP Dictionary, the output
style preserve scaling is set for the
input field of the selection screen.
Here, any trailing zeroes are preserved in the decimal places. If a data type in ABAP Dictionary is referenced, the output style defined
there applies.

If the type of the selection criteria is a packed number or a


decimal floating point number
defined in ABAP Dictionary, the attribute sign must be set for the type attribute, so
that negative numbers can be displayed on the selection screen. This setting is only possible for
domains and not for the direct specification of a predefined type for
data
elements or structure
components. If a negative number is entered on the selection screen and this attribute is not set, the
system rejects it with an error message. If the
columns low or high
contain a negative number when the selection screen is called, an non-handleable exception is raised.

If the selection criterion type is a decimal floating point number that is defined in ABAP Dictionary for which the output
style "Currency Amount" is specified, only numbers
with the corresponding amount of decimal places
can be entered on the selection screen. If a corresponding ABAP data object contains a number with too
many decimal
places when the selection screen is called, a non-handleable exception is raised. If the output style is "extended currency amount", additional decimal places can be
displayed.

The columns sign and option of a selection table declared using SELECT-OPTIONS are not related to data types in ABAP Dictionary. For a
ranges table defined in
ABAP Dictionary, these columns refer to the data elements DDSIGN and DDOPTION.

Continue

SELECT-OPTIONS - FOR

SELECT-OPTIONS - screen_options

SELECT-OPTIONS - value_options

https://help.sap.com/doc/abapdocu_750_index_htm/7.50/en-US/abapselect-options.htm 2/2

You might also like