ABAP Keyword Documentation → ABAP − Reference → Calling and leaving program units → Calling Programs → Calling Executable Programs → SUBMIT → SUBMIT - selscreen_options
SUBMIT - selscreen_parameters
Other versions: 7.31 | 7.40 | 7.54
Syntax
... [USING SELECTION-SET variant]
[USING SELECTION-SETS OF PROGRAM prog]
[WITH SELECTION-TABLE rspar]
[WITH expr_syntax1 WITH expr_syntax2 ...]
[WITH FREE SELECTIONS texpr] ...
Extras
1. ... USING SELECTION-SET variant
2. ... USING SELECTION-SETS OF PROGRAM prog
3. ... WITH SELECTION-TABLE rspar
4. ... WITH expr_syntax1 WITH expr_syntax2 ...
5. ... WITH FREE SELECTIONS texpr
Effect
USING SELECTION-SET
fills all selection screen components using a
selection screen variant
variant
. If USING SELECTION-SETS OF PROGRAM
is
specified, a variant of a different program can be used. If WITH SELECTION-TABLE
is specified, values for multiple selection screen components are passed as the content of an internal
table rspar
. WITH expr_syntax
fills individual
selection screen components with values. The addition WITH FREE SELECTIONS
makes it possible to pass dynamic selections to the
selection screen of a
logical database.
Addition 1
... USING SELECTION-SET variant
Effect
If this addition is specified, the parameters and selection criteria for the selection screen are filled with the values of a
selection screen variant.
variant
expects a character-like data object that contains the name of a selection screen variant for the program called when the statement is executed. If the variant does not exist, an
error message is sent. If the variant is part of a different selection screen, it is ignored.
Note
You can create and manage selection screen variants for every program in which selection screens are defined, either in the ABAP Workbench or during execution of the program by choosing Goto - Variants on a selection screen.
Addition 2
... USING SELECTION-SETS OF PROGRAM prog
Effect
If this addition is specified, the selection
screen variants of the program prog
are used in the called program.
prog expects a character-like data object that contains the name of a program when the statement is executed. The addition has the following effects:
-
If a variant
variant
is specified withUSING SELECTION-SET
, a search is made for this variant in the programprog
. -
If the selection screen is displayed using
VIA SELECTION-SCREEN
, all functions accessed using the menu path Goto - Variants are applied to the selection screen variants of the programprog
. These functions are only active, however, ifprog
is an executable program.
Note
The program prog
should contain a selection screen that has the same parameters and selection criteria as the selection screen used in the called program.
Addition 3
... WITH SELECTION-TABLE rspar
Effect
If this addition is specified, parameters and selection criteria on the selection screen are filled
from an internal table rspar
. rspar
expects a standard table with the row type RSPARAMS or RSPARAMSL_255 and without
secondary table keys.
The structured data types RSPARAMS and RSPARAMSL_255 are defined in ABAP Dictionary and have the following components, all of which have the data type CHAR:
- SELNAME (length 8)
- KIND (length 1)
- SIGN (length 1)
- OPTION (length 2)
- LOW (length 45 for RSPARAMS and 255 for RSPARAMSL_255)
-
HIGH (length 45 for RSPARAMS and 255 for RSPARAMSL_255)
Before parameters and selection criteria of the
selection screen can be filled with specific values, the rows in the internal table rspar
must contain the following values:
- SELNAME must contain the name of a parameter or a selection criterion for the selection screen in uppercase.
- KIND must contain the category of the selection screen component ("P" for parameters or "S" for selection criteria).
-
SIGN, OPTION, LOW, and HIGH must contain the values specified for the
ranges tables columns
that have the same names as the selection criteria. For parameters, the value must be specified in LOW and all other components are ignored.
If the name of a selection criterion is repeated in rspar
, a ranges table
containing multiple rows is defined and passed to the selection criterion. If parameter names occur multiple times, the last value is passed to the parameter.
The content of the parameters or ranges tables for the current program can be entered in the table using the function module RS_REFRESH_FROM_SELECTOPTIONS.
Notes
-
Unlike in ranges tables, the data types of the components LOW and HIGH in table
rspar
are always of type CHAR and, if necessary, are converted to the type of the parameter or selection criterion when passed. - When entering values, you must ensure that these have the internal format of the ABAP values, and not the output format of the screen display.
-
The data type RSPARAMSL_255 can be used instead of RSPARAMS from Release 7.2, if the length of 45 characters for components LOW and HIGH is no longer sufficient.
Addition 4
... WITH expr_syntax1 WITH expr_syntax2 ...
Effect
This addition fills individual parameters or selection criteria of the selection screen with values.
Parameters are filled with single values and selection criteria are filled with ranges tables that overwrite values already specified in the called program. The passed
ranges table is compiled
from all additions expr_syntax
that address the same selection criterion
sel
. The following statements can be specified for expr_syntax
,
where the name of a parameter or a selection criterion must be specified directly for sel
:
-
sel {EQ|NE|CP|NP|GT|GE|LT|LE} dobj [SIGN sign]
Passes a single value.
The operators in front ofdobj
match the values specified for the column OPTION in ranges tables.dobj
expects a data object whose data type can be converted to the data type of the selection screen componentsel
. A character-like field containing 'I' or 'E' can be specified forsign
. The default value is 'I'.
Ifsel
is a selection criterion, a row is appended to the passed ranges table. Here, the operator is placed in the column OPTION, the content ofdobj
is placed in the column LOW, and the content ofsign
is placed in the column SIGN.
Ifsel
is a parameter, it is set to the value ofdobj
in the called program. The operator and the value ofsign
are ignored. -
sel [NOT] BETWEEN dobj1 AND dobj2 [SIGN sign]
Passes an interval.
In this case,sel
must be a selection criterion.dobj
expects data objects whose data type can be converted to that of the columns LOW and HIGH for the selection criterionsel
. A character-like field containing 'I' or 'E' can be specified forsign
. The default value is 'I'.
A row is appended in the ranges table to be passed. IfNOT
is specified, the value 'NB' is placed in the column OPTION. If it is not specified, 'BT' is entered. The content of the data objectsdobj
andsign
is placed in the columns LOW, HIGH, and SIGN. -
sel IN range_tab
Passes a ranges table.
In this case,sel
must be a selection criterion.range_tab
expects a standard table without secondary table keys that has the same structure as the selection table of the selection criterionsel
. A table of this type can be created using the additionRANGE OF
of the statementsTYPES
andDATA
.
The rows in the tablerange_tab
are appended to the passed ranges table.
The addition expr_syntax
can be specified more than once and the same selection screen component can also be specified more than once.
Notes
-
=
orINCL
can also be used instead of the operatorEQ
. -
When entering values, you must ensure that these have the internal format of the ABAP values, and not the output format of the screen display.
Example
The program report1
has a standalone
selection screen with the
dynpro number 1100. In
the program report2
, an internal table with row type RSPARAMS and a ranges
table are filled for this selection screen. These are passed at SUBMIT
time, together with a single condition.
Called Program
DATA text TYPE c LENGTH 10.
SELECTION-SCREEN BEGIN OF SCREEN 1100.
SELECT-OPTIONS: selcrit1 FOR text,
selcrit2 FOR text.
SELECTION-SCREEN END OF SCREEN 1100.
...
Calling Program
DATA: text TYPE c LENGTH 10,
rspar_tab TYPE TABLE OF rsparams,
rspar_line LIKE LINE OF rspar_tab,
range_tab LIKE RANGE OF text,
range_line LIKE LINE OF range_tab.
...
rspar_line-selname = 'SELCRIT1'.
rspar_line-kind = 'S'.
rspar_line-sign = 'I'.
rspar_line-option = 'EQ'.
rspar_line-low = 'ABAP'.
APPEND rspar_line TO rspar_tab.
range_line-sign = 'E'.
range_line-option = 'EQ'.
range_line-low = 'H'.
APPEND range_line TO range_tab.
range_line-sign = 'E'.
range_line-option = 'EQ'.
range_line-low = 'K'.
APPEND range_line TO range_tab.
SUBMIT report1 USING SELECTION-SCREEN '1100'
WITH SELECTION-TABLE rspar_tab
WITH selcrit2 BETWEEN 'H' AND 'K'
WITH selcrit2 IN range_tab
AND RETURN.
Result
SIGN | OPTION | LOW | HIGH | |
---|---|---|---|---|
selcrit1 |
I | EQ | ABAP | |
selcrit2 |
I | BT | H | K |
selcrit2 |
E | EQ | H | |
selcrit2 |
E | EQ | K |
Addition 5
... WITH FREE SELECTIONS texpr
Effect
This addition fills the dynamic selections of the
selection screen of a
logical database
with values. The called program must be associated with a logical database that supports dynamic selections. texpr
must be an internal table of the type RSDS_TEXPR from
type group RSDS.
In texpr
, the selections for the dynamic selections are specified in an internal
format (known as Reverse Polish Notation). The function modules FREE_SELECTIONS_INIT,
FREE_SELECTIONS_DIALOG, and FREE_SELECTIONS_RANGE_2_EX
from the function group SSEL can be used to fill texpr
in the calling program. The first two function modules run a user dialog (see
Dynamic Selections). At the same time, however,
ranges tables can be passed
to FREE_SELECTIONS_RANGE_2_EX in an internal table of the type RSDS_TRANGE for each node in the dynamic
selection. These ranges tables are then converted to a table of the row type RSDS_TEXPR. If the calling
program contains a selection screen with the same dynamic selections, its content can first be passed to a table of the type RSDS_TRANGE using the function module RS_REFRESH_FROM_DYNAMICAL_SEL.
The rows in the internal table type RSDS_TRANGE contain a
flat component TABLENAME for each
node and a table-like component FRANGE_T of the type RSDS_FRANGE_T for the fields in the node. The rows
in RSDS_FRANGE_T contain a flat component FIELDNAME for each field and a table-like component SELOPT_T
of the row type RSDSSELOPT from ABAP Dictionary. RSDSSELOPT contains the four components SIGN, OPTION, LOW, and HIGH and can include the ranges table.
Example
The program report1
is associated with the logical database F1S, which supports
dynamic selections for the node SPFLI. The program report2
enters conditions
in a nested internal table of the type rsds_trange
with ranges conditions
for field CONNID in node SPFLI. This table is then converted to a table of the type rsds_texpr
, which is passed at SUBMIT
time.
Called Program
REPORT report1.
NODES: spfli, sflight, sbook.
...
Calling Program
DATA: trange TYPE rsds_trange,
trange_line
LIKE LINE OF trange,
trange_frange_t_line
LIKE LINE OF trange_line-frange_t,
trange_frange_t_selopt_t_line
LIKE LINE OF trange_frange_t_line-selopt_t,
texpr TYPE rsds_texpr.
trange_line-tablename = 'SPFLI'.
trange_frange_t_line-fieldname = 'CONNID'.
trange_frange_t_selopt_t_line-sign = 'I'.
trange_frange_t_selopt_t_line-option = 'BT'.
trange_frange_t_selopt_t_line-low = '0200'.
trange_frange_t_selopt_t_line-high = '0800'.
APPEND trange_frange_t_selopt_t_line
TO trange_frange_t_line-selopt_t.
trange_frange_t_selopt_t_line-sign = 'I'.
trange_frange_t_selopt_t_line-option = 'NE'.
trange_frange_t_selopt_t_line-low = '0400'.
APPEND trange_frange_t_selopt_t_line
TO trange_frange_t_line-selopt_t.
APPEND trange_frange_t_line TO trange_line-frange_t.
APPEND trange_line TO trange.
CALL FUNCTION 'FREE_SELECTIONS_RANGE_2_EX'
EXPORTING
field_ranges = trange
IMPORTING
expressions = texpr.
SUBMIT report1 VIA SELECTION-SCREEN
WITH FREE SELECTIONS texpr.