Aufruf des Adobe Formulars im Rahmenprogramm

Aus SAP-Wiki
Zur Navigation springenZur Suche springen

Im Rahmenprogramm sind für die Ausgabe des Adobe Formulars der Aufruf von vier Funktionsbausteinen nötig.

Im Beispiel wurde der SAP-Report SD_INVOICE_PRINT01 kopiert und angepasst.

Siehe Bug: Aufruf Adobe Forms über direktes Ausführen eines Funktionsbausteins nicht möglich.


Aufrufkette

  1. FP_FUNCTION_MODULE_NAME
  2. FP_JOB_OPEN
  3. lv_fm_name (dynamischer Aufruf)
  4. FP_JOB_CLOSE

Aufruf Funktionsbaustein FP_FUNCTION_MODULE_NAME

Der Formularname LV_FORM wird übergeben und der Funktionsbausteinname LV_FM_NAME wird zurückgegeben

try. 

  call function 'FP_FUNCTION_MODULE_NAME'
    EXPORTING
      i_name     = lv_form.      "Formularname
    IMPORTING
      e_funcname = lv_fm_name.   "Name generierter Funktionsbaustein

  catch cx_fp_api_repository
    cx_fp_api_usage
    cx_fp_api_internal.

endtry.

Funktionsbaustein FP_JOB_OPEN und Druckstruktur OUTPUTPARAMS

Aufruf Funktionsbaustein <lv_fm_name>

Siehe Importstruktur SFPDOCPARAMS für Adobe Forms Formularverarbeitung.

Das eigentliche Formular wird aufgerufen. Die betriebswirtschaftlichen Daten sind in der tiefen Struktur GS_INTERFACE.

Die Kombination Sprache und Land bestimmen auch die Formatierung Währungs-/Zahlenfelder, Datumsfelder und Zeitfelder.

 ls_docparams-langu = nast-spras.
 ls_docparams-country = 'DE'.  

 call function lv_fm_name
   EXPORTING
     /1bcdwb/docparams  = ls_docparams  "type SFPDOCPARAMS
     bil_prt_com        = gs_interface
   IMPORTING
     /1bcdwb/formoutput = ls_pdf_file
   EXCEPTIONS
     usage_error        = 1
     system_error       = 2
     internal_error     = 3
     others             = 4.

Aufruf Funktionsbaustein FP_JOB_CLOSE

Der Druckauftrag/Spool wird abgeschlossen.

Data: ls_RESULT  TYPE SFPJOBOUTPUT.

CALL FUNCTION 'FP_JOB_CLOSE'
  IMPORTING
    e_result = ls_result
  EXCEPTIONS
    USAGE_ERROR    = 1
    SYSTEM_ERROR   = 2
    INTERNAL_ERROR = 3
    OTHERS         = 4.

IF SY-SUBRC <> 0.
ENDIF.

Wenn es eine Preview war, dann ist die Struktur LS_RESULT nicht gefüllt.

FP JOB CLOSE1.JPG


Beim Druck steht in der Struktur LS_RESULT, ob der Druckauftrag erfolgreich war und in welchem Spool der Druck erfolgte.

FP JOB CLOSE2.JPG


FP JOB CLOSE3.JPG


In den Spoolauftrag 2022 erfolgte der PDF-Druck.

FP JOB CLOSE4.JPG

Web-Links

Literatur