Adobe Forms Funktionsbaustein FP JOB OPEN und OUTPUTPARAMS

Aus SAP-Wiki
Wechseln zu: Navigation, Suche

Der Druckauftrag wird geöffnet, in dem ein oder mehrere Formulare ausgegeben werden. In der Struktur LS_OUTPUTPARAMS werden Druckparameter übergeben. Der wichtigste Parameter ist DEST, in dem der Drucker enthalten ist. Wenn der Drucker nicht übergeben wird, kommt immer auch der Dialogbildschirm mit den Druckparametern, da der Drucker ein obligatorischer Parameter beim Druck ist.

Parameter FILLABLE

Ls_outputparams-fillable = ‚X‘.

Mit dem Parameter "fillable = 'X'", bzw. "fillable = 'F'" wird ein Formular interaktiv gemacht. Alle Felder, die nicht explizit auf schreibgeschützt sind, sind dann ausfüllbar.

Parameter DEST

ls_outputparams-dest     = 'P022'. "Drucker (Mußfeld, sonst Abfrage Drucker im Dialogbildschirm Druckparameter)  

Parameter REQNEW

ls_outputparams-reqnew   = 'X'. 

Ein neuer Spool-Auftrag wird erzeugt.

Parameter REQIMMM

ls_outputparams-reqimm   = 'X'. "Sofortdruck

Es wird nicht nur ein Spoolauftrag erzeugt, sondern sofort auf den Drucker ausgegeben.

Parameter GETPDF

ls_outputparams-getpdf  = 'X'. 

PDF wird in elektronischer Form zurückgeliefert in Struktur LS_PDF_FILE. Es erfolgt dann keine Ausgabe auf Drucker/Bildschirm und keine Anlage Spool-Auftrag. Daher muss man mit diesem Parameter sehr vorsichtig sein. Manchmal wird das PDF jedoch auch in elektronischer Form zurückgegeben, selbst wenn GETPDF = space. Der Grund für die Rückgabe, wann es zurückgegeben wird und wann nicht, ist mir nicht klar. Beim Debuggen wurde eine ADS-Struktur abgefragt. Offensichtlich also abhängig vom ADS.

Parameter NOPRINT

ls_outputparams-noprint = 'X'. 

PDF kann nicht gedruckt werden. Dieser Parameter wird meist nicht gefüllt werden, da es die User dann auch nur verwirrt, wenn z. B bei der Druckvorschau dieser Parameter gesetzt ist und es dann nicht möglich ist aus der Druckvorschau heraus zu drucken.

Coding

Data: ls_outputparams type sfpoutputparams,
      ls_docparams    type sfpdocparams,
      lv_form         type tdsfname,
      lv_fm_name      type rs38l_fnam,
      ls_pdf_file     type fpformoutput.
 
ls_outputparams-dest     = 'P022'. "Drucker (Mußfeld, sonst Abfrage Drucker im Dialogbildschirm Druckparameter)  
ls_outputparams-nodialog = 'X'. "Kein Druckparameterbildschirm (oft ist es dagegen erwünscht) 
ls_outputparams-reqnew   = 'X'. "Neuer Spool-Auftrag 
ls_outputparams-reqimm   = 'X'. "Sofortdruck
"ls_outputparams-getpdf  = 'X'. "PDF wird in elektronischer Form zurückgeliefert in Struktur LS_PDF_FILE
ls_outputparams-fillable = 'F'. "Interaktives Formular
"ls_outputparams-noprint = 'X'. "PDF kann nicht gedruckt werden. Dieser Parameter wird meist nicht gefüllt werden

call function 'FP_JOB_OPEN'
  CHANGING
    ie_outputparams = ls_outputparams
  EXCEPTIONS
   cancel          = 1
   usage_error     = 2
   system_error    = 3
   internal_error  = 4
   others          = 5.

if sy-subrc <> 0. 
endif.