Listen von aufgerufenen Programmen drucken 

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:

Syntax

SUBMIT <rep> TO SAP-SPOOL
             [<params>|SPOOL PARAMETERS <pripar>]
             [ARCHIVE PARAMETERS <arcpar>]
             [WITHOUT SPOOL DYNPRO].

Die Anweisung SUBMIT wird unter Ausführbare Programme (Reports) aufrufen beschrieben. Mit der zusätzlichen Option TO SAP-SPOOL bewirken Sie, daß die Listen des aufgerufenen ausführbaren Programms (Report) 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.

Druckparameter festlegen

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 (Report) 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 SAPMZTS1 aufgerufen. Dabei werden die Exportparameter von GET_PRINT_PARAMETERS als Druck- und Archivierungsparameter übergeben. SAPMZTS1 erzeugt 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: