Um die Ausgabe von Reports, die über SUBMIT aus Programmen heraus aufgerufen werden an das Spool-System zu senden, verwenden sie die Anweisung SUBMIT mit dem Zusatz TO SAP-SPOOL wie folgt:
SUBMIT rep TO
SAP-SPOOL
[params|SPOOL PARAMETERS pripar]
[ARCHIVE PARAMETERS arcpar]
[WITHOUT SPOOL DYNPRO].
Die Anweisung SUBMITwird unter Ausführbare Programme aufrufen beschrieben. Mit der zusätzlichen Option TO SAP-SPOOL bewirken Sie, dass die Listen des aufgerufenen ausführbaren Programms während der Erstellung für die Druckausgabe formatiert und an das Spool-System gesendet werden. Die übrigen Zusätze dienen der Festlegung der Druckparameter.
Für die Festlegung der Druckparameter gilt das Gleiche wie für die Anweisung NEW-PAGE PRINT ON:
Sie können zwar jeden Druckparameter einzeln mit einem der Zusätze params setzen (siehe Schlüsselwortdokumentation) oder durch die SUBMIT-Anweisung einen Benutzerdialog führen lassen, aber Sie sollten die Druckparameter nur über den Funktionsbaustein GET_PRINT_PARAMETERS bestimmen. Der Funktionsbaustein GET_PRINT_PARAMETERS entkoppelt den Benutzerdialog von der SUBMIT-Anweisung und gewährleistet auch ohne Benutzerdialog einen vollständigen Parametersatz. Verwenden Sie nur die Zusätze SPOOL PARAMETERS und ARCHIVE PARAMETERS um die Parameter festzulegen, sowie den Zusatz WITHOUT SPOOL DYNPRO um den Benutzerdialog bei der SUBMIT-Anweisung abzuschalten.
Das folgende ausführbare Programm sei mit der logischen Datenbank F1S verknüpft:
REPORT sapmzts1.
TABLES spfli.
GET spfli.
NEW-LINE.
WRITE: spfli-mandt, spfli-carrid, spfli-connid,
spfli-cityfrom, spfli-airpfrom, spfli-cityto,
spfli-airpto, spfli-fltime, spfli-deptime, spfli-arrtime,
spfli-distance, spfli-distid, spfli-fltype.
Das folgende Programm ruft sapmzts1 auf und sendet die Ausgabe zum Spool-System:
REPORT demo_list_submit_to_spool NO STANDARD PAGE HEADING.
DATA: val(1) TYPE c,
pripar TYPE pri_params,
arcpar TYPE arc_params.
CALL FUNCTION 'GET_PRINT_PARAMETERS'
EXPORTING
layout
= 'X_65_132'
line_count
= 65
line_size =
132
IMPORTING
out_parameters
= pripar
out_archive_parameters
= arcpar
valid =
val
EXCEPTIONS
archive_info_not_found
= 1
invalid_print_params
= 2
invalid_archive_params
= 3
OTHERS
= 4.
IF val <> space AND sy-subrc = 0.
SUBMIT demo_list_output TO SAP-SPOOL
SPOOL PARAMETERS pripar
ARCHIVE PARAMETERS arcpar
WITHOUT SPOOL DYNPRO.
ENDIF.
Nach dem Programmstart bewirkt der Funktionsbaustein GET_PRINT_PARAMETERS einen Benutzerdialog, wobei der Bereich Ausgabeformat des Druckparameter-Dialogfensters durch die verwendeten Importparameter schon vorgefüllt ist:
Nachdem der Benutzer seine Druckparameter eingegeben und bestätigt hat, wird sapmzts1aufgerufen. Dabei werden die Exportparameter von GET_PRINT_PARAMETERS als Druck- und Archivierungsparameter übergeben. sapmzts1erzeugt keine Bildschirmanzeige und keinen Benutzerdialog. Die erstellte Liste wird direkt ins Spool-System gesendet. Über System →Dienste → Druckaufträge kann sich der Benutzer den gespeicherten Spool-Auftrag ansehen. Mit obigen Ausgabeformat sieht der Spool-Auftrag z.B. folgendermaßen aus: