#1
|
|||
|
|||
Archivo no empieza por '%PDF-'
Buenos dias.
Aqui solicitando su ayuda, estuve haciendo un debugg a un programa que convierte un smartform en un PDF y lo muestra el caso es que en el smartform hay una tabla y el PDF solo se muestra cuando hay un solo registro, por que cuando hay 2 o mas me manda un mensaje que dice: El archivo no empieza por '%PDF-' Y el PDF no muestra nada. Espero me puedan dar una mano y explicarme por que sale este mensaje. |
#2
|
|||
|
|||
Y que función estás utilizando para la conversión, yo lo he hecho con SX_OBJECT_CONVERT_OTF_PDF y me funciona muy bien independiente de lo que contenga el smartform, acá te pongo un pedazo de código de como lo utilizo, depronto te puede servir.
Slds. *----------------------------------------------------------------------* *.Definición Estructuras Locales. *----------------------------------------------------------------------* DATA: ls_parameters TYPE ssfctrlop, ls_options TYPE ssfcompop, ls_pack TYPE sopcklsti1, ls_otfdata TYPE ssfcrescl, lc_body(255) TYPE c. *----------------------------------------------------------------------* **.Asignamos Constantes y Variables Impresión. *----------------------------------------------------------------------* CONSTANTS: l_cte_tdarmod(1) TYPE c VALUE '1', l_cte_tdnoprint(1) TYPE c VALUE 'X', l_cte_tddest(4) TYPE c VALUE 'ZPDG', l_cte_tdcopies(3) TYPE c VALUE '001', l_cte_device(7) TYPE c VALUE 'PRINTER', l_cte_no_dialog(1) TYPE c VALUE 'X', l_cte_getotf(1) TYPE c VALUE 'X', l_cte_langu(1) TYPE c VALUE 'S', l_ent TYPE c VALUE cl_abap_char_utilities=>newline. ls_options-tdarmod = l_cte_tdarmod. ls_options-tdnoprint = l_cte_tdnoprint. ls_options-tddest = l_cte_tddest. ls_options-tdreceiver = sy-uname. ls_options-tdcopies = l_cte_tdcopies. ls_parameters-device = l_cte_device. ls_parameters-no_dialog = l_cte_no_dialog. ls_parameters-getotf = l_cte_getotf. ls_parameters-langu = l_cte_langu. *----------------------------------------------------------------------* * Definición de variables locales *----------------------------------------------------------------------* DATA: func_module_name TYPE rs38l_fnam, pa_form TYPE ssfscreen-fname. * Parámetro del Smartform pa_form = 'ZFI..........'. *----------------------------------------------------------------------* *.Definición referencia a clases. *----------------------------------------------------------------------* DATA: lo_mail TYPE REF TO zcl_sub_send_mail. *----------------------------------------------------------------------* *.Definición Tablas Internas. *----------------------------------------------------------------------* DATA: lt_soli TYPE soli_tab, pti_body TYPE bcsy_text, pa_subject TYPE so_obj_des, pti_file TYPE solix_tab, pti_mail TYPE bcsy_smtpa, les_mail TYPE ad_smtpadr. * Determinar el nombre generado por el módulo de función del * Smartform CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME' EXPORTING formname = pa_form IMPORTING fm_name = func_module_name EXCEPTIONS no_form = 1 no_function_module = 2 OTHERS = 3. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. * Llamar el módulo de función generado por el Smartform CALL FUNCTION func_module_name EXPORTING control_parameters = ls_parameters output_options = ls_options user_settings = SPACE ges_adrc = ges_adrc IMPORTING job_output_info = ls_otfdata TABLES gtt_bsik = gti_bsik EXCEPTIONS formatting_error = 1 internal_error = 2 send_error = 3 user_canceled = 4 OTHERS = 5. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. **.Asignamos Valor OTF. lt_soli = ls_otfdata-otfdata. **.Convertir OTF a PDF. CALL FUNCTION 'SX_OBJECT_CONVERT_OTF_PDF' EXPORTING format_src = 'otf' format_dst = 'pdf' devtype = 'lp01' CHANGING transfer_bin = ls_pack-transf_bin content_txt = lt_soli content_bin = pti_file objhead = lt_soli len = ls_pack-doc_size EXCEPTIONS err_conv_failed = 1 OTHERS = 2. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. |
#3
|
|||
|
|||
Gracias.. pero el smartforms que visualizo se gestiona a travez de una pagina BSP en CRM y lo voy hacer es hacer un debugg desde la tx smartforms para localizar si el error se produce ahi, pero gracias..
|
Herramientas | Buscar en Tema |
Desplegado | |
|
|