Ansicht
Dokumentation

ABAPSUBMIT_SELSCREEN_PARAMETERS - SUBMIT SELSCREEN PARAMETERS

ABAPSUBMIT_SELSCREEN_PARAMETERS - SUBMIT SELSCREEN PARAMETERS

ROGBILLS - Synchronize billing plans   Vendor Master (General Section)  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

SUBMIT, selscreen_parameters

Kurzreferenz



... $[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

Über eine Selektionsbildvariante variant versorgt USING SELECTION-SET alle Selektionsbildkomponenten. Die Angabe USING SELECTION-SETS OF PROGRAM ermöglicht die Verwendung einer Variant eines anderen Programms. Mit WITH SELECTION-TABLE können Werte für mehrere Selektionsbildkomponenten als Inhalt der internen Tabelle rspar übergeben werden. WITH expr_syntax versorgt einzelne Selektionsbildkomponenten mit Werten. 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:

  • Wenn mit USING SELECTION-SET eine Variante variant angegeben ist, wird diese im Programm prog gesucht.
  • Wenn das Selektionsbild mit VIA SELECTION-SCREEN dargestellt wird, wirken alle über Springen - Varianten erreichbaren Funktionen auf die Selektionsbildvarianten des Programms prog. Diese Funktionen sind aber nur aktiv, wenn prog ein ausführbares Programm ist.

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:

  • SELNAME (Länge 8),
  • KIND (Länge 1),
  • SIGN (Länge 1),
  • OPTION (Länge 2),
  • LOW (Länge 45 bei RSPARAMS und 255 bei RSPARAMSL_255),
  • HIGH (Länge 45 bei RSPARAMS und 255 bei RSPARAMSL_255).

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

  • in selname den Namen eines Parameters oder eines Selektionskriteriums des Selektionsbildes in Großbuchstaben,
  • in kind die Art der Selektionsbildkomponente ("P" für Parameter, "S" für Selektionskriterien),
  • in sign, option, low und high müssen für Selektionskriterien die für die gleichnamigen Spalten von der Ranges-Tabelle vorgesehenen Werte übergeben werden; für Parameter muss der Wert in low übergeben werden, alle anderen Komponenten werden ignoriert.

Wenn der Name eines Selektionskriteriums mehrfach in rspar vorkommt, wird dadurch eine mehrzeilige Ranges-Tabelle 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. Ranges-Tabellen des aktuellen Programms gefüllt werden.

Hinweise

  • Abweichend von Ranges-Tabellen sind die Datentypen der Komponenten low und high in der Tabelle rspar immer vom Typ c und werden - falls notwendig - bei der Übergabe in den Typ des Parameters bzw. des Selektionskriteriums konvertiert.
  • Bei der Angabe von Werten ist darauf zu achten, dass diese nicht im Ausgabeformat der Bildschirmanzeige, sondern im internen Format für ABAP-Werte anzugeben sind.
  • Der Datentyp RSPARAMSL_255 kann ab Release 7.2 statt RSPARAMS verwendet werden, wenn die Länge von 45 Zeichen der Komponenten low und high nicht mehr ausreicht.

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 Ranges-Tabellen versorgt, die bereits gesetzte Werte im aufgerufenen Programm überschreiben. Die zu übergebende Ranges-Tabelle 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:

  • sel ${EQ$|NE$|CP$|NP$|GT$|GE$|LT$|LE$} dobj $[SIGN sign$]
Übergabe eines Einzelwerts.
Die Operatoren vor dobj entsprechen den für die Spalte option von Ranges-Tabellen vorgesehenen Werten. Für dobj muss ein Datenobjekt angegeben werden, dessen Datentyp in den Datentyp der Selektionsbildkomponente sel konvertierbar ist. Es kann kein Aufzählungsobjekt angegeben werden. Für sign kann ein zeichenartiges Feld angegeben werden, das den Inhalt 'I' oder 'E' haben muss. Der Standardwert ist 'I'.
Wenn sel ein Selektionskriterium ist, wird an die zu übergebende Ranges-Tabelle eine Zeile angehängt, wobei der angegebene Operator in die Spalte option, der Inhalt von dobj in die Spalte low und der Inhalt von sign in die Spalte SIGN gestellt wird.
Wenn sel ein Parameter ist, wird dieser im aufgerufenen Programm auf den Wert von dobj gesetzt. Der Operator und der Wert von sign werden nicht berücksichtigt.
  • sel $[NOT$] BETWEEN dobj1 AND dobj2 $[SIGN sign$]
Übergabe eines Intervalls.
In diesem Fall muss sel ein Selektionskriterium sein. Für dobj müssen Datenobjekte angegeben werden, deren Datentyp in denjenigen der Spalten low und high des Selektionskriteriums sel konvertierbar ist. Es kann kein Aufzählungsobjekt angegeben werden. Für sign kann ein zeichenartiges Feld angegeben werden, das den Inhalt 'I' oder 'E' haben muss. Der Standardwert ist 'I'.
An die zu übergebende Ranges-Tabelle wird eine Zeile angehängt. Falls NOT angegeben ist, wird in die Spalte option der Wert 'NB', ansonsten 'BT' gestellt. Der Inhalt der Datenobjekte dobj und sign wird in die Spalten low, high und sign gestellt.
  • sel IN range_tab
Übergabe einer Ranges-Tabelle.
In diesem Fall muss sel ein Selektionskriterium sein. Für range_tab muss eine Standardtabelle ohne sekundäre Tabellenschlüssel angegeben werden, welche die Struktur der Selektionstabelle des Selektionskriteriums sel hat. Eine solche Tabelle kann mit dem Zusatz RANGE OF der Anweisungen TYPES und DATA angelegt werden.
Die Zeilen der Tabelle range_tab werden an die zu übergebende Ranges-Tabelle.

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

Die Übergabe eines nicht in den Datentyp der Selektionsbildkomponente konvertierbaren Datenobjekts führt nicht zu einem Syntax-, sondern zum Laufzeitfehler SUBMIT_PARAM_NOT_CONVERTIBLE.

Hinweise

  • Statt des Operators EQ kann auch = oder INCL verwendet werden.
  • Bei der Angabe von Werten ist darauf zu achten, dass diese nicht im Ausgabeformat der Bildschirmanzeige, sondern im internen Format für ABAP-Werte anzugeben sind.
  • Aufzählungsobjekte sind bei der Übergabe an Selektionsbilder nicht implizit in die Typen c oder string konvertierbar.

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 zusammen mit 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.

...


Rufendes 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_r 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 Ranges-Bedingungen 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.

...


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







PERFORM Short Reference   PERFORM Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 24882 Date: 20240523 Time: 142948     sap01-206 ( 343 ms )