Aufruf des Adobe Formulars im Rahmenprogramm
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
- FP_FUNCTION_MODULE_NAME
- FP_JOB_OPEN
- lv_fm_name (dynamischer Aufruf)
- 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.
Beim Druck steht in der Struktur LS_RESULT, ob der Druckauftrag erfolgreich war und in welchem Spool der Druck erfolgte.
In den Spoolauftrag 2022 erfolgte der PDF-Druck.
Web-Links
- SAP-Hilfe: Formularausgabe
- SAP-Hilfe: Adobe Forms generierter Funktionsbaustein
- https://www.sapdatasheet.org/abap/func/fp_job_close.html
- https://www.sapdatasheet.org/abap/func/fp_function_module_name.html
Literatur
- Function Modules in ABAP: A Quick Reference Guide, von Tanmaya Gupta (EN), S. 273, 275f.