Aufruf des Adobe Formulars im Rahmenprogramm

Aus SAP-Wiki
Wechseln zu: Navigation, Suche

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 auch Bug: Aufruf Adobe Forms über direktes Ausführen eines Funktionsbausteins nicht möglich.


Aufrufkette

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

Funktionsbaustein FP_JOB_OPEN und OUTPUTPARAMS

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
    IMPORTING
      e_funcname = lv_fm_name.

  catch cx_fp_api_repository
    cx_fp_api_usage
    cx_fp_api_internal.

endtry.

Aufruf Funktionsbaustein <lv_fm_name>

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

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

 call function lv_fm_name
   EXPORTING
     /1bcdwb/docparams  = ls_docparams
     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

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

IF SY-SUBRC <> 0.
ENDIF.

Web-Links

Literatur