ABAP - Schlüsselwortdokumentation →  ABAP - Referenz →  Programmeinheiten aufrufen und verlassen →  Programme aufrufen →  Ausführbare Programme aufrufen →  SUBMIT →  SUBMIT - selscreen_options → 

SUBMIT - selscreen_parameters

Kurzreferenz

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


Zusätze:

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

Wirkung

Mit USING SELECTION-SET werden alle Selektionsbildkomponenten über eine Selektionsbildvariante variant versorgt, wobei über die Angabe von USING SELECTION-SETS OF PROGRAM eine Variante eines anderen Programms verwendet werden kann, mit WITH SELECTION-TABLE werden Werte für mehrere Selektionsbildkomponenten als Inhalt einer internen Tabelle rspar übergeben, mit WITH expr_syntax werden einzelne Selektionsbildkomponenten mit Werten versorgt. Der Zusatz WITH FREE SELECTIONS erlaubt die Übergabe freier Abgrenzungen an das Selektionsbild einer logischen Datenbank.

Zusatz 1

... USING SELECTION-SET variant

Wirkung

Dieser Zusatz bewirkt, dass die Parameter und Selektionskriterien des Selektionsbildes mit den Werten einer Selektionsbildvariante versorgt werden. Für variant muss ein zeichenartiges Datenobjekt angegeben werden, das bei der Ausführung der Anweisung den Namen einer Selektionsbildvariante des aufgerufenen Programms enthält. Wenn die Variante nicht existiert, wird eine Fehlermeldung gesendet. Gehört die Variante zu einem anderen Selektionsbild, wird sie ignoriert.

Hinweis

Selektionsbildvarianten können zu jedem Programm, in dem Selektionsbilder definiert sind, entweder in der ABAP Workbench oder während der Programmausführung über die Auswahl von Springen - Varianten auf einem Selektionsbild angelegt und verwaltet werden.

Zusatz 2

... USING SELECTION-SETS OF PROGRAM prog

Wirkung

Dieser Zusatz bewirkt, dass im aufgerufenen Programm die Selektionsbildvarianten des Programms prog verwendet werden. Für prog muss ein zeichenartiges Datenobjekt angegeben werden, das bei der Ausführung der Anweisung den Namen eines Programms enthält. Im Einzelnen bewirkt der Zusatz Folgendes:

Hinweis

Das Programm prog sollte ein Selektionsbild mit den gleichen Parametern und Selektionskriterien enthalten wie das verwendete Selektionsbild des aufgerufenen Programms.

Zusatz 3

... WITH SELECTION-TABLE rspar

Wirkung

Dieser Zusatz bewirkt die Versorgung von Parametern und Selektionskriterien des Selektionsbildes aus einer internen Tabelle rspar. Für rspar muss eine Standardtabelle mit dem Zeilentyp RSPARAMS oder RSPARAMSL_255 und ohne sekundäre Tabellenschlüssel angegeben werden. Die strukturierten Datentypen RSPARAMS und RSPARAMSL_255 sind im ABAP Dictionary definiert und haben folgende Komponenten, die alle vom Datentyp CHAR sind:

Um Parameter und Selektionskriterien des Selektionsbildes mit spezifischen Werten zu versorgen, müssen die Zeilen der internen Tabelle rspar folgende Werte enthalten:

Wenn der Name eines Selektionskriteriums mehrfach in rspar vorkommt, wird dadurch eine mehrzeilige Selektionstabelle definiert und an das Selektionskriterium übergeben. Bei mehrfach vorkommenden Parameternamen wird der letzte Wert an den Parameter übergeben.
Die Tabelle kann durch den Funktionsbaustein RS_REFRESH_FROM_SELECTOPTIONS mit den Inhalten der Parameter bzw. Selektionstabellen des aktuellen Programms gefüllt werden.

Hinweise

Zusatz 4

... WITH expr_syntax1 WITH expr_syntax2 ...

Wirkung

Mit diesem Zusatz werden einzelne Parameter oder Selektionskriterien des Selektionsbildes mit Werten versorgt. Parameter werden mit Einzelwerten, Selektionskriterien mit Selektionstabellen versorgt, die bereits gesetzte Werte im aufgerufenen Programm überschreiben. Die zu übergebende Selektionstabelle wird aus allen Zusätzen expr_syntax, die das gleiche Selektionskriterium sel ansprechen, zusammengesetzt. Für expr_syntax können folgende Ausdrücke angegeben werden, wobei für sel direkt der Name eines Parameters oder eines Selektionskriteriums angegeben werden muss:

Der Zusatz expr_syntax kann mehrfach angegeben werden, wobei auch die Mehrfachnennung der gleichen Selektionsbildkomponente möglich ist.

Hinweise

Beispiel

Das Programm report1 hat ein eigenständiges Selektionsbild mit der Dynpro-Nummer 1100. Im Programm report2 werden eine interne Tabelle vom Zeilentyp RSPARAMS und eine Ranges-Tabelle für dieses Selektionsbild gefüllt. Bei SUBMIT werden diese zuzüglich einer einzelnen Bedingung übergeben.

Aufgerufenes Programm

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.

...


Aufrufendes Programm

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.


Ergebnis
Nach dem Aufruf von report1 durch report2 sind die Selektionstabellen der Selektionskriterien selcrit1 und selcrit2 des aufgerufenen Programms wie folgt gefüllt:

  SIGN OPTION LOW HIGH
selcrit1 I EQ ABAP
selcrit2 I BT H K
selcrit2 E EQ H
selcrit2 E EQ K

Zusatz 5

... WITH FREE SELECTIONS texpr

Wirkung

Mit diesem Zusatz werden die freien Abgrenzungen des Selektionsbildes einer logischen Datenbank versorgt. Das aufgerufene Programm muss mit einer logischen Datenbank verknüpft sein, die freie Abgrenzungen unterstützt. texpr muss eine interne Tabelle vom Typ RSDS_TEXPR aus der Typgruppe RSDS sein.
In texpr werden die Selektionen der freien Abgrenzungen in einem internen Format (umgekehrte polnische Notation) übergeben. Um texpr im aufrufenden Programm zu füllen, können die Funktionsbausteine FREE_SELECTIONS_INIT, FREE_SELECTIONS_DIALOG und FREE_SELECTIONS_RANGE_2_EX aus der Funktionsgruppe SSEL verwendet werden. Während die ersten beiden Funktionsbausteine einen Benutzerdialog führen (siehe Freie Abgrenzungen), können in einer internen Tabelle vom Typ RSDS_TRANGE für jeden Knoten der freien Abgrenzung Ranges-Tabellen an FREE_SELECTIONS_RANGE_2_EX übergeben werden, die dort in eine Tabelle vom Zeilentyp RSDS_TEXPR konvertiert werden. Wenn das aufrufende Programm ein Selektionsbild mit den gleichen freien Abgrenzungen enthält, kann deren Inhalt mit dem Funktionsbaustein RS_REFRESH_FROM_DYNAMICAL_SEL zuvor in eine Tabelle vom Typ RSDS_TRANGE übernommen werden.
Die Zeilen des internen Tabellentyps RSDS_TRANGE enthalten eine flache Komponente TABLENAME für jeden Knoten und eine tabellenartige Komponente FRANGE_T vom Typ RSDS_FRANGE_T für die Felder des Knotens. Die Zeilen von RSDS_FRANGE_T enthalten eine flache Komponente FIELDNAME für jedes Feld und eine tabellenartige Komponente SELOPT_T vom Zeilentyp RSDSSELOPT aus dem ABAP Dictionary. RSDSSELOPT hat die vier Komponenten SIGN, OPTION, LOW und HIGH und kann die Ranges-Tabelle aufnehmen.

Beispiel

Das Programm report1 ist mit der logischen Datenbank F1S verknüpft, die freie Abgrenzungen für den Knoten SPFLI unterstützt. Im Programm report2 wird eine geschachtelte interne Tabelle vom Typ rsds_trange mit Selektionsbedingungen für das Feld CONNID des Knotens SPFLI mit Bedingungen gefüllt, in eine Tabelle vom Typ rsds_texpr konvertiert und diese bei SUBMIT übergeben.

Aufgerufenes Programm

REPORT report1.

NODES: spfli, sflight, sbook.

...


Aufrufendes Programm

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.