Difference between revisions of "SAP ABAP ADOBE FORMS"
From SapWiki
(Created page with "<pdf>File:Mini_manual_adobe_forms.pdf</pdf> <pdf>File:Insertar_imagenes_Adobe_Forms.pdf</pdf>") |
|||
| Line 3: | Line 3: | ||
<pdf>File:Insertar_imagenes_Adobe_Forms.pdf</pdf> | <pdf>File:Insertar_imagenes_Adobe_Forms.pdf</pdf> | ||
| + | |||
| + | ==Ejemplo programa de impresión== | ||
| + | <nowiki>FORM print_pdf USING p_data TYPE zestruc_cert_renta | ||
| + | CHANGING p_xstring TYPE xstring | ||
| + | p_subrc TYPE sy-subrc. | ||
| + | DATA: wa_output TYPE sfpoutputparams, | ||
| + | wa_result TYPE sfpjoboutput. | ||
| + | DATA: gs_fp_outputparams TYPE sfpoutputparams, | ||
| + | lv_fm_name TYPE rs38l_fnam, | ||
| + | lv_form_name TYPE fpwbformname, | ||
| + | wa_docparams TYPE sfpdocparams. | ||
| + | DATA ls_pdf_file TYPE fpformoutput. | ||
| + | |||
| + | *...Opciones de salida impresión | ||
| + | wa_output-device = 'PRINTER'. | ||
| + | * wa_output-dest = 'PDF1'. | ||
| + | wa_output-cover = 'D'. | ||
| + | wa_output-receiver = sy-uname. | ||
| + | wa_output-reqnew = abap_true. | ||
| + | wa_output-preview = abap_false. | ||
| + | * wa_output-getpdf = space. | ||
| + | wa_output-getpdf = abap_true. | ||
| + | |||
| + | wa_output-nopreview = abap_true. | ||
| + | wa_output-nodialog = abap_true. | ||
| + | wa_output-reqimm = abap_false. | ||
| + | |||
| + | |||
| + | CALL FUNCTION 'FP_JOB_OPEN' | ||
| + | CHANGING | ||
| + | ie_outputparams = wa_output | ||
| + | EXCEPTIONS | ||
| + | cancel = 1 | ||
| + | usage_error = 2 | ||
| + | system_error = 3 | ||
| + | internal_error = 4 | ||
| + | OTHERS = 5. | ||
| + | IF sy-subrc <> 0. | ||
| + | p_subrc = 1. | ||
| + | RETURN. | ||
| + | ENDIF. | ||
| + | |||
| + | TRY. | ||
| + | lv_form_name = 'Z_MI_FORMULARIO'. | ||
| + | CALL FUNCTION 'FP_FUNCTION_MODULE_NAME' | ||
| + | EXPORTING | ||
| + | i_name = lv_form_name | ||
| + | IMPORTING | ||
| + | e_funcname = lv_fm_name. | ||
| + | CATCH cx_fp_api_repository | ||
| + | cx_fp_api_usage | ||
| + | cx_fp_api_internal. | ||
| + | p_subrc = 2. | ||
| + | RETURN. | ||
| + | ENDTRY. | ||
| + | |||
| + | CALL FUNCTION lv_fm_name | ||
| + | EXPORTING | ||
| + | * /1bcdwb/docparams = wa_docparams | ||
| + | gs_datos = p_data | ||
| + | IMPORTING | ||
| + | /1bcdwb/formoutput = ls_pdf_file | ||
| + | EXCEPTIONS | ||
| + | usage_error = 1 | ||
| + | system_error = 2 | ||
| + | internal_error = 3 | ||
| + | OTHERS = 4. | ||
| + | IF sy-subrc NE 0. | ||
| + | p_subrc = 3. | ||
| + | RETURN. | ||
| + | ENDIF. | ||
| + | |||
| + | CALL FUNCTION 'FP_JOB_CLOSE' | ||
| + | IMPORTING | ||
| + | e_result = wa_result | ||
| + | EXCEPTIONS | ||
| + | usage_error = 1 | ||
| + | system_error = 2 | ||
| + | internal_error = 3 | ||
| + | OTHERS = 4. | ||
| + | IF sy-subrc <> 0. | ||
| + | p_subrc = 4. | ||
| + | RETURN. | ||
| + | ENDIF. | ||
| + | |||
| + | p_xstring = ls_pdf_file-pdf. | ||
| + | * READ TABLE wa_result-spoolids INTO DATA(wa_spoolids) INDEX 1. | ||
| + | * CHECK sy-subrc = 0. | ||
| + | * | ||
| + | ** Get merged document | ||
| + | * DATA l_xstring TYPE xstring. | ||
| + | * CLEAR l_xstring. | ||
| + | * CALL FUNCTION 'RSPO_GET_MERGED_PDF_FROM_SPOOL' | ||
| + | * EXPORTING | ||
| + | * spool_number = wa_spoolids | ||
| + | * IMPORTING | ||
| + | * merged_document = l_xstring | ||
| + | * EXCEPTIONS | ||
| + | * internal_error = 1 | ||
| + | * empty_job = 2 | ||
| + | * not_supported = 3 | ||
| + | * OTHERS = 4. | ||
| + | * IF sy-subrc = 0. | ||
| + | * p_xstring = l_xstring. | ||
| + | * ENDIF. | ||
| + | ENDFORM.</nowiki> | ||
Revision as of 17:06, 7 January 2021
The URL or file path given does not exist.
Ejemplo programa de impresión
FORM print_pdf USING p_data TYPE zestruc_cert_renta
CHANGING p_xstring TYPE xstring
p_subrc TYPE sy-subrc.
DATA: wa_output TYPE sfpoutputparams,
wa_result TYPE sfpjoboutput.
DATA: gs_fp_outputparams TYPE sfpoutputparams,
lv_fm_name TYPE rs38l_fnam,
lv_form_name TYPE fpwbformname,
wa_docparams TYPE sfpdocparams.
DATA ls_pdf_file TYPE fpformoutput.
*...Opciones de salida impresión
wa_output-device = 'PRINTER'.
* wa_output-dest = 'PDF1'.
wa_output-cover = 'D'.
wa_output-receiver = sy-uname.
wa_output-reqnew = abap_true.
wa_output-preview = abap_false.
* wa_output-getpdf = space.
wa_output-getpdf = abap_true.
wa_output-nopreview = abap_true.
wa_output-nodialog = abap_true.
wa_output-reqimm = abap_false.
CALL FUNCTION 'FP_JOB_OPEN'
CHANGING
ie_outputparams = wa_output
EXCEPTIONS
cancel = 1
usage_error = 2
system_error = 3
internal_error = 4
OTHERS = 5.
IF sy-subrc <> 0.
p_subrc = 1.
RETURN.
ENDIF.
TRY.
lv_form_name = 'Z_MI_FORMULARIO'.
CALL FUNCTION 'FP_FUNCTION_MODULE_NAME'
EXPORTING
i_name = lv_form_name
IMPORTING
e_funcname = lv_fm_name.
CATCH cx_fp_api_repository
cx_fp_api_usage
cx_fp_api_internal.
p_subrc = 2.
RETURN.
ENDTRY.
CALL FUNCTION lv_fm_name
EXPORTING
* /1bcdwb/docparams = wa_docparams
gs_datos = p_data
IMPORTING
/1bcdwb/formoutput = ls_pdf_file
EXCEPTIONS
usage_error = 1
system_error = 2
internal_error = 3
OTHERS = 4.
IF sy-subrc NE 0.
p_subrc = 3.
RETURN.
ENDIF.
CALL FUNCTION 'FP_JOB_CLOSE'
IMPORTING
e_result = wa_result
EXCEPTIONS
usage_error = 1
system_error = 2
internal_error = 3
OTHERS = 4.
IF sy-subrc <> 0.
p_subrc = 4.
RETURN.
ENDIF.
p_xstring = ls_pdf_file-pdf.
* READ TABLE wa_result-spoolids INTO DATA(wa_spoolids) INDEX 1.
* CHECK sy-subrc = 0.
*
** Get merged document
* DATA l_xstring TYPE xstring.
* CLEAR l_xstring.
* CALL FUNCTION 'RSPO_GET_MERGED_PDF_FROM_SPOOL'
* EXPORTING
* spool_number = wa_spoolids
* IMPORTING
* merged_document = l_xstring
* EXCEPTIONS
* internal_error = 1
* empty_job = 2
* not_supported = 3
* OTHERS = 4.
* IF sy-subrc = 0.
* p_xstring = l_xstring.
* ENDIF.
ENDFORM.