Beim Starten eines ausführbaren Programms erscheint normalerweise das Selektionsbild, auf dem die Selektionskriterien und Parameter einer verbundenen logischen Datenbank sowie die des Reports selbst abgefragt werden (siehe Direkte Ausführung). Beim Aufruf eines ausführbaren Programms mit SUBMIT gibt es verschiedene Zusätze, um die Eingabefelder des Selektionsbilds zu füllen.
SUBMIT... [VIA
SELECTION-SCREEN]
[USING
SELECTION-SET var]
[WITH sel
criterion]
[WITH FREE
SELECTIONS freesel]
[WITH
SELECTION-TABLE rspar].
Diese Zusätze haben folgende Wirkung:
· VIA SELECTION-SCREEN
Das Selektionsbild des aufgerufenen ausführbaren Programms wird angezeigt. Falls Werte durch die übrigen Zusätze an das ausführbare Programm übergeben werden, sind deren Eingabefelder im Selektionsbild gefüllt. Der Benutzer kann diese Werte abändern. Standardmäßig erscheint kein Selektionsbild nach der Anweisung SUBMIT.
· USING SELECTION-SET var
Dieser Zusatz bewirkt, dass das aufgerufene Programm über die Variante var gestartet wird.
· WITH sel criterion
Mit diesem Zusatz können einzelne Eingabefelder sel des Selektionsbilds (Selektionstabellen und Parameter) mit Hilfe der Sprachelemente criterion gefüllt werden.
·
WITH
FREE SELECTION freesel
Benutzerdialog für freie Abgrenzungen. Um diesen Zusatz zu verwenden, muss das
aufgerufene Programm mit einer logischen Datenbank verknüpft sein, die freie
Abgrenzungen unterstützt.
·
WITH
SELECTION-TABLE rspar
dynamische Übergabe verschiedener Werte. Es wird eine interne Tabelle
rspar mit der
Dictionary-Struktur RSPARAMS erstellt, die im aufrufenden Programm dynamisch
mit allen gewünschten Werten für das Selektionsbild des aufgerufenen Programms
gefüllt werden kann.
Für mehr Informationen zu diesen Zusätzen: siehe Schlüsselwortdokumentation.
All diese Zusätze außer WITH SELECTION-TABLE können mehrfach und in beliebigen Kombinationen in einer SUBMIT-Anweisung eingesetzt werden. Insbesondere kann den Zusatz WITH sel auch mehrfach für ein einzelnes Kriterium sel verwendet werden. Der Zusatz WITH SELECTION-TABLE kann nur mit USING SELECTION-SET kombiniert werden.
Wenn die Eingabefelder von Selektionsbildern mit SPA/GPA-Parametern verknüpft sind, kann auch die SPA/GPA-Technik zur Datenübergabe an Selektionsbilder verwendet werden (siehe Daten zwischen Programmen übergeben).
Das folgende ausführbare Programm hat ein intern definiertes Selektionsbild mit dem Parameter paramet und dem Selektionskriterium selecto:
REPORT demo_program_submit_rep1.
DATA number TYPE i.
PARAMETERS paramet(14) TYPE c.
SELECT-OPTIONS selecto FOR number.
Das Programm demo_program_submit_rep1 wird von folgendem Programm mit verschiedenen Übergabeparametern aufgerufen:
REPORT demo_program_submit_sel_screen NO STANDARD PAGE HEADING.
DATA: int TYPE i,
rspar TYPE TABLE OF rsparams,
wa_rspar LIKE LINE OF
rspar.
RANGES seltab FOR int.
WRITE: 'Select a Selection!',
/ '--------------------'.
SKIP.
FORMAT HOTSPOT COLOR 5 INVERSE ON.
WRITE: 'Selection 1',
/ 'Selection 2'.
AT LINE-SELECTION.
CASE sy-lilli.
WHEN 4.
seltab-sign = 'I'. seltab-option =
'BT'.
seltab-low = 1.
seltab-high = 5.
APPEND seltab.
SUBMIT demo_program_submit_rep1 VIA
SELECTION-SCREEN
WITH
paramet eq 'Selection 1'
WITH
selecto IN seltab
WITH
selecto ne 3
AND
RETURN.
WHEN 5.
wa_rspar-selname = 'SELECTO'.
wa_rspar-kind = 'S'.
wa_rspar-sign = 'E'. wa_rspar-option =
'BT'.
wa_rspar-low =
14. wa_rspar-high = 17.
APPEND wa_rspar TO rspar.
wa_rspar-selname = 'PARAMET'.
wa_rspar-kind = 'P'.
wa_rspar-low = 'Selection
2'.
APPEND wa_rspar TO rspar.
wa_rspar-selname = 'SELECTO'.
wa_rspar-kind = 'S'.
wa_rspar-sign = 'I'. wa_rspar-option =
'GT'.
wa_rspar-low = 10.
APPEND wa_rspar TO rspar.
SUBMIT demo_program_submit_rep1 VIA
SELECTION-SCREEN
WITH
SELECTION-TABLE rspar
AND
RETURN.
ENDCASE.
Nach dem Start erscheint eine Grundliste und durch Clicks auf die Hotspots wird das Selektionsbild von rep1 unterschiedlich gefüllt angezeigt.
Bei beiden Aufrufen von demo_program_submit_rep1werden Werte übergeben, die zu zweizeiligen Selektionstabellen selecto führen. Die zweite Zeile ist jeweils im Dialogfenster Mehrfachselektion für selecto zu sehen. Ohne den Zusatz VIA SELECTION-SCREEN der SUBMIT-Anweisung würden paramet und selecto in demo_program_submit_rep1 genauso gefüllt, aber nicht angezeigt.