MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 26/12/11, 13:13:38
XJerickX XJerickX is offline
Junior Member
 
Fecha de Ingreso: oct 2009
Mensajes: 29
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.
Responder Con Cita
  #2  
Viejo 26/12/11, 14:41:52
rubendaga rubendaga is offline
Junior Member
 
Fecha de Ingreso: sep 2011
Mensajes: 13
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.
Responder Con Cita
  #3  
Viejo 29/12/11, 19:53:21
XJerickX XJerickX is offline
Junior Member
 
Fecha de Ingreso: oct 2009
Mensajes: 29
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..
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 04:53:54.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web