ABAP - Keyword Documentation →  ABAP - Reference →  Calling and leaving program units →  Calling Programs →  Calling Executable Programs →  SUBMIT →  SUBMIT - selscreen_options → 

SUBMIT - selscreen_parameters

Quick Reference

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


Additions

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 using a 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 supplies 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 supplied with values from a variant. variant expects a character-like data object that contains the name of a variant for the program called 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

Variants for every program in which selection screens are defined can be created and managed either in ABAP Workbench or when the program is executed by choosing Goto - Variants on a selection screen.

Addition 2

... USING SELECTION-SETS OF PROGRAM prog

Effect

If this addition is specified, the variants of the program prog are used in the program called. prog expects a character-like data object that contains the name of a program when the statement is executed. The addition has the following effect:

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

Addition 3

... WITH SELECTION-TABLE rspar

Effect

If this addition is specified, parameters and selection criteria on the selection screen are supplied from an internal table rspar. rspar expects a standard table with row type RSPARAMS or RSPARAMSL_255 and without secondary table keys for . The structured data types RSPARAMS and RSPARAMSL_255 are defined in ABAP Dictionary and have the following components, all of which are data type CHAR:

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:

If the name of a selection criterion is repeated in rspar, this defines a selection table containing multiple rows and passes it to the selection criterion. If parameter names occur multiple times, the last value is passed 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

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 called. The selection table to be passed is compiled from all the 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:

The addition expr_syntax can be specified more than once, and the same selection screen component can also be specified more than once.

Notes

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.

Program called

REPORT report1.

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

REPORT report2.

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
After report1 has been accessed by report2, the selection tables for the selection criteria selcrit1 and selcrit2 in the program called contain the following entries:

  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 called 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 (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. Whereas the first two function modules execute a user dialog (see Dynamic Selections), the ranges tables can be passed 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, its content can be passed 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 ABAP Dictionary. RSDSSELOPT contains the four components SIGN, OPTION, LOW, and HIGH and can include the ranges table.

Example

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 selection conditions for field CONNID in node SPFLI; this is then converted to a table of the type rsds_texpr, which is passed at SUBMIT time.

Program called

REPORT report1.

NODES: spfli, sflight, sbook.

...


Calling program

REPORT report2.

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.