ABAP Keyword Documentation → ABAP - Reference → Calling and leaving program units → Calling ABAP 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
supplies all the selection screen components by means of a
Variant variant
.
If you specify USING SELECTION-SETS OF PROGRAM
, you can use a variant from
a different program; if you specify WITH SELECTION-TABLE
, values for several
selection screen components are transferred as the content of an internal table rspar
;
WITH expr_syntax
supplies individual selection screen components with values. The addition WITH FREE SELECTIONS
allows you to transfer free selections to the
selection screen for a
logical database.
Addition 1
... USING SELECTION-SET variant
Effect
If you specify this edition, the parameters and selection criteria for the selection screen are supplied with values from a
variant. For variant
,
you must specify a character-type data object that contains the name of a variant for the program accessed when the statement is executed. If the variant does not exist, the system sends an
error message. If the variant belongs to a different selection screen, it is ignored.
Note
You can create and manage 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 you specify this addition, the variants of the program prog
are used in
the program accessed. For prog
, you must specify a character-type data object that contains the name of a program when the statement is executed. The addition has the following effect:
-
If a variant
variant
is specified withUSING SELECTION-SET
, the system searches for this variant in the programprog
. -
If the selection screen is displayed with
VIA SELECTION-SCREEN
, all the functions that can be accessed by means of the menu path Goto - Variants affect the variants of the programprog
. However, these functions are only active 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 program accessed.
Addition 3
... WITH SELECTION-TABLE rspar
Effect
If you specify this addition, parameters and selection criteria on the selection screen are supplied
from an internal table rspar
. You must specify a standard table with row type RSPARAMS or RSPARAMSL_255 and without
secondary table keys
for rspar
. The structured data types RSPARAMS and RSPARAMSL_255 are defined in the ABAP Dictionary and have the following components, all of which are 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)
To supply parameters and selection criteria for the
selection screen with specific values, the rows in the internal table rspar
must contain the following values:
- SELNAME must contain the name of a parameter or selection criterion for the selection screen in block capitals
- KIND must contain the type of selection screen component ("P" for parameters, "S" for selection criteria)
-
SIGN, OPTION, LOW, and HIGH must contain the values specified for the
selection table columns
that have the same names as the selection criteria; in the case of 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
, this defines a
selection table containing several rows and passes it on to the selection criterion. If parameter names occur several times, the last value is passed on to the parameter.
The contents of the parameters or selection tables for the current program can be entered in the table by the function module RS_REFRESH_FROM_SELECTOPTIONS.
Notes
-
In contrast to selection tables, the data types of the components LOW and HIGH in table
rspar
are always of type CHAR and are converted to the type of the parameter or selection criterion during transfer, if necessary. - 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 as of Release 7.2 instead of RSPARAMS, if the length of 45 characters for components LOW und HIGH is no longer sufficient.
Addition 4
... WITH expr_syntax1 WITH expr_syntax2 ...
Effect
This addition supplies values to individual parameters or selection criteria for the selection screen.
Parameters are supplied with single values and selection criteria with selection tables that overwrite values already specified in the program accessed. The
selection table to
be transferred is compiled from all the expr_syntax
additions that address
the same selection criterion sel
. You can specify the following statements
for expr_syntax
, where you have to specify the name of a parameter or a selection criterion directly for sel
:
-
sel {EQ|NE|CP|NP|GT|GE|LT|LE} dobj [SIGN sign]
Transfer of a single value
The operators beforedobj
correspond to the values specified for column OPTION for selection tables. Fordobj
, you must specify a data object whose data type can be converted to the data type of the selection screen componentsel
. Forsign
, you can specify a character-type field that must contain 'I' or 'E'. The default value is 'I'.
Ifsel
is a selection criterion, the system appends a row in the selection table to be transferred, placing the operator in column OPTION, the content ofdobj
in column LOW, and the content ofsign
in column SIGN.
Ifsel
is a parameter, it is set to the value ofdobj
in the program accessed. The operator and the value ofsign
are not taken into account. -
sel [NOT] BETWEEN dobj1 AND dobj2 [SIGN sign]
Transfer of an interval
In this case,sel
must be a selection criterion. Fordobj
, you must specify data objects whose data type can be converted to that of the columns LOW and HIGH for the selection criterionsel
. Forsign
, you can specify a character-type field that must contain 'I' or 'E'. The default value is 'I'.
A row is appended in the selection table to be transferred. IfNOT
is specified, the value 'NB' is placed in column OPTION; otherwise, the value entered is 'BT'. The content of the data objectsdobj
andsign
is placed in the columns LOW, HIGH, and SIGN. -
sel IN rtab
Transfer of a ranges table.
In this case,sel
must be a selection criterion. Forrtab
, you have to specify a standard table without secondary table keysthat has the same structure as the selection table for selection criterionsel
. A table of this type can be created using the additionRANGE OF
to the statementsTYPES
andDATA
.
The rows in tablertab
are appended to the selection table to be transferred.
You can specify the addition expr_syntax
more than once, and you can also specify the same selection screen component 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 stand-alone
selection screen with the
screen 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 transferred at SUBMIT
together with a single condition.
Program accessed
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 supplies values to the dynamic selections for the
selection screen for a
logical database.
The program accessed must be linked to 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 (Reverse Polish Notation). You can use function modules FREE_SELECTIONS_INIT, FREE_SELECTIONS_DIALOG,
and FREE_SELECTIONS_RANGE_2_EX from the function group SSEL
to fill texpr
in the calling program. Whereas the first two function modules execute a user dialog (see
Dynamic Selections), you can transfer
ranges tables to FREE_SELECTIONS_RANGE_2_EX
for each node in the dynamic selection in an internal table of the type RSDS_TRANGE. These 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, you can transfer its content beforehand 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 the ABAP Dictionary. RSDSSELOPT contains the four components SIGN, OPTION, LOW, and HIGH and can include the ranges table.
Example
Program report1
is linked to the logical database F1S, which supports dynamic
selections for the node SPFLI. Program report2
enters conditions in a nested
internal table of the type rsds_trange
with selection conditions for field
CONNID in node SPFLI; this is then converted to a table of the type rsds_texpr
, which is transferred at SUBMIT
.
Program accessed
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.