Die Listen des aufgerufenen Programms können zum einen in ihrem Aufbau beeinflusst werden, zum anderen können die Listen statt auf dem Bildschirm angezeigt direkt in der Spool-Datei oder im ABAP-Memory abgelegt werden.
Der Listenaufbau eines durch SUBMIT aufgerufenen Programms lässt sich mit folgenden Zusätzen der SUBMIT-Anweisung beeinflussen:
SUBMIT... [LINE-SIZE width] [LINE-COUNT length].
Falls das aufgerufene Programm keine entsprechenden Zusätze in der REPORT-Anweisung hat, werden die Listen des aufgerufenen Programms entsprechend formatiert. Falls das aufgerufene Programm die entsprechenden Zusätze in der REPORT-Anweisung hat verwendet das System diese und ignoriert die Zusätze der SUBMIT-Anweisung. Genaue Informationen zu diesen Zusätzen finden Sie unter Listenaufbau selbst definieren.
REPORT demo_programm_submit_line NO STANDARD PAGE HEADING.
DATA: name TYPE sy-title VALUE 'DEMO_PROGRAM_READ_TABLES_1',
wid
TYPE i VALUE 80,
len
TYPE i VALUE 0.
SET PF-STATUS 'SELECT'.
WRITE: 'Select a report and its list format:',
/ '-------------------------------------'.
SKIP.
WRITE: 'Report ', name INPUT ON,
/ 'Line size ',
wid INPUT ON,
/ 'Page length', len INPUT ON.
AT USER-COMMAND.
CASE sy-ucomm.
WHEN 'SELE'.
READ LINE: 4 FIELD VALUE name,
5 FIELD VALUE wid,
6 FIELD VALUE len.
SUBMIT (name) LINE-SIZE wid LINE-COUNT len
AND RETURN.
ENDCASE.
Dieses Programm kann zum Starten von Programmen mit benutzerdefinierter Listenformatierung verwendet werden. Auf der Grundliste kann der Benutzer einen Reportnamen, sowie gewünschte Listenbreite und -länge eingeben, indem er die Vorschlagswerte überschreibt:
Beim Ereignis AT USER-COMMAND werden die Werte gelesen und verwendet, um das angegebene Programm mit SUBMIT zu starten. Falls das aufgerufene Programm keine eigenen Angaben LINE-SIZE oder LINE-COUNT in der REPORT-Anweisung hat, werden die Werte wid und len für seine Listen verwendet. Nach Beendigung des aufgerufenen Programms können die Eingabewerte auf der Grundliste geändert und ein neues Programm aufgerufen werden.
Statt auf dem Bildschirm angezeigt zu werden, kann die Liste des aufgerufenen Programms auch direkt an das Spool-System gesendet werden. Dazu verwendet man den Zusatz TO SAP-SPOOL der SUBMIT-Anweisung:
SUBMIT... TO SAP-SPOOL print-parameters.
Die hierbei anzugebenden Parameter sind unter Listen drucken beschrieben.
Statt auf dem Bildschirm angezeigt zu werden, kann die Liste des aufgerufenen Programms im ABAP-Memory abgelegt werden. Dazu verwendet man den Zusatz EXPORTING LIST TO MEMORY der SUBMIT-Anweisung:
SUBMIT... AND
RETURN
EXPORTING LIST TO
MEMORY.
Diese Anweisung legt die Liste im ABAP-Memory ab, damit das aufrufende Programm nach der Beendigung des aufgerufenen Programms darauf zugreifen kann. Der Zusatz AND RETURN ist hierbei erforderlich. Der Zusätze EXPORTING LIST TO MEMORY und TO SAP-SPOOLschließen sich dagegen aus.
Die Funktionsgruppe SLST stellt Funktionsbausteine zum Zugriff auf eine gesicherte Liste bereit, wie zum Beispiel:
· LIST_FROM_MEMORY
· WRITE_LIST
· DISPLAY_LIST