When search data in data:
Sign 'E' stands for 'Exclude'; Sign 'I' stands for 'Include'. I'm not sure what you're trying to do, but I guess you need to try 'I' instead of 'E'.
http://help.sap.com/abapdocu_70/en/ABAPSELECT-OPTIONS.htm
SELECT-OPTIONS
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 invalue_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.
imilarly to the special statements for processing strings, there are special comparisons that you can apply to strings with types C, D, N, and T. You can use the following operators:
<operator> | Meaning |
CO | Contains Only |
CN | Contains Not only |
CA | Contains Any |
NA | contains Not Any |
CS | Contains String |
NS | contains No String |
CP | Matches pattern |
NP | Does not match pattern |