Unterdrückung Druckdialog bei Ausgabe Smart Forms

Aus SAP-Wiki
Wechseln zu: Navigation, Suche

Wird ein Formular über Smart Forms ausgegeben, so wird häufig ein Druckdialog erscheinen, der Angaben abfragt, u. a.

  • Ausgabegerät
  • Sofort Ausgeben
  • Neuer Spool-Auftrag
  • Anzahl Exemplare
  • Druckansicht oder Drucken

Selektionsbildschirm Report

Das Beispiel ist hier eine Kopie vom Programm SF_EXAMPLE_01.

SmartFormsDruckdialog3.jpg

Das Programm wurde noch ergänzt um einen Parameter mit dem Ausgabegerät, der hier Default auf LOCL steht, also der Standarddrucker vom Windows Betriebssystem.

Parameter: p_tddest type SSFCOMPOP-tddest default 'LOCL'.

Druckdialog

SmartFormsDruckdialog2.jpg

Ausblenden Druckdialog

Häufig besteht der Wunsch diesen Druckdialog nicht zu sehen, bzw. die nötigen Felder automatisch vom Rahmenprogramm füllen zu lassen

Entscheidend sind hier die Felder

ls_control_parameters-no_dialog = 'X'.
ls_control_parameters-device    = 'PRINTER'.
ls_control_parameters-preview   = 'X'.   "Es wird dann auch kein Spool-Auftrag erzeugt
ls_output_options-tddest = p_tddest.     "Ausgabegerät LOCL, wenn keine Änderung am Parameter

und

user_settings = space


Data: ls_control_parameters type SSFCTRLOP,
      ls_OUTPUT_OPTIONS     type SSFCOMPOP.

"Importfelder für Unterdrückung Druckdialog
ls_control_parameters-no_dialog = 'X'.
ls_control_parameters-device    = 'PRINTER'.
ls_control_parameters-preview   = 'X'.
ls_output_options-TDDEST        = p_tddest.
"ls_control_parameters-langu     = 'D'.
"ls_control_parameters-getotf    = 'X'.


"Aufruf Smart Forms Funktionsbaustein 
CALL FUNCTION fm_name
  EXPORTING
*   archive_index        =
*   archive_parameters   =
    control_parameters   = ls_control_parameters
*   mail_appl_obj        =
*   mail_recipient       =
*   mail_sender          =
    output_options       = ls_output_options
    user_settings        = space     "muss auf space gesetzt sein
    customer             = customer
    bookings             = bookings
    connections          = connections
*  IMPORTING
*   document_output_info = lv_DOCUMENT_OUTPUT_INFO  "Anzahl der Formularseiten
*   job_output_info      = ls_JOB_OUTPUT_INFO
*   job_output_options   = ls_JOB_OUTPUT_OPTIONS
  EXCEPTIONS
    formatting_error     = 1
    internal_error       = 2
    send_error           = 3
    user_canceled        = 4
    others               = 5.

if sy-subrc <> 0.
*   error handling
  message id sy-msgid type sy-msgty number sy-msgno
          with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.

Web-Links