Hallo zusammen,
ich hoffe sehr, dass mir jemand einen Tipp geben kann.. bin mit meinem Latein am Ende.
Ich möchte mehrere Adobe Forms in eine einzige PDF packen. Ohne "APPEND = 'X'" funktioniert es wunderbar, allerdings überschreiben sich die Dateien gegenseitig, ich bekomme also nach dem Ausführen des Programms immer nur die letzte PDF als Ergebnis. Mit "APPEND = 'X'" bekomme ich am Ende zwar eine größere, aber eine geschädigte PDF, die nicht geöffnet werden kann. Hat jemand das Problem schon gehabt?
* Diese Codingstelle wird mehrere Male durchlaufen
CALL FUNCTION 'FP_FUNCTION_MODULE_NAME'
EXPORTING
i_name = iv_form
IMPORTING
e_funcname = lv_fm_name.
ls_outputparams-connection = cl_fp=>get_ads_connection( ).
ls_outputparams-nopreview = 'X'.
ls_outputparams-xfpoutdev = 'P002'.
ls_outputparams-nodialog = 'X'.
ls_outputparams-dest = 'P002'.
ls_outputparams-reqnew = 'X'.
ls_outputparams-device = 'PRINTER'.
ls_outputparams-getpdf = 'M'.
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 EQ 0.
ls_docparams-langu = iv_spras.
CALL FUNCTION lv_fm_name
EXPORTING
/1bcdwb/docparams = ls_docparams
EXCEPTIONS
usage_error = 1
system_error = 2
internal_error = 3
OTHERS = 4.
CALL FUNCTION 'FP_GET_PDF_TABLE'
IMPORTING
e_pdf_table = lt_table.
CALL FUNCTION 'FP_JOB_CLOSE'
IMPORTING
e_result = ls_result
EXCEPTIONS
usage_error = 1
system_error = 2
internal_error = 3
OTHERS = 4.
LOOP AT lt_table INTO ls_table.
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
EXPORTING
buffer = ls_table
TABLES
binary_tab = lt_data.
ENDLOOP.
CALL METHOD cl_gui_frontend_services=>gui_download
EXPORTING
filename = 'C:\TEMP\test.pdf'
filetype = 'BIN'
append = 'X'
CHANGING
data_tab = lt_data
EXCEPTIONS
OTHERS = 1.
ENDIF.