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 21/09/15, 14:49:28
fina.canals fina.canals is offline
Junior Member
 
Fecha de Ingreso: abr 2014
Mensajes: 2
Enviar fichero pdf por mail que está en el servidor después de pasar por RSTXPDFT4

El problema que me surge es en el momento en que intento abrir el fichero adjunto después de utilizar 'SO_DOCUMENT_SEND_API1'.
Me sale un mensaje "El fichero no puede abrirse porque es un archivo no permitido o está dañado.

A ver si alguien sabe por qué pasa...

Operativa que sigo:

-Impresión de mensajes de Factura en fondo y ejecución del programa RSTXPDFT4 para grabar un fichero pdf por cada factura en el servidor. Esto debe seguir haciéndose así, porque los clientes pueden acceder a ver sus facturas a través de un programa no-sap.

-El segundo paso es buscar los archivos pdf del servidor y enviarlos por mail. El código es el siguiente:

DATA: BEGIN OF res_adjunto,
raw(255) TYPE x,
END OF res_adjunto.
DATA: it_adjunto LIKE res_adjunto OCCURS 0 WITH HEADER LINE.

DATA: wa_cabecera LIKE sodocchgi1,
it_cuerpo TYPE TABLE OF solisti1 WITH HEADER LINE,
it_paquete LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE,
it_receptores LIKE somlreci1 OCCURS 0 WITH HEADER LINE,
wa_cuerpo LIKE it_cuerpo-line,
lineas LIKE sy-tabix,
indice LIKE sy-tabix.

OPEN DATASET v_pathfile FOR INPUT IN binary MODE.
DO.
READ DATASET v_pathfile INTO it_adjunto.
IF sy-subrc <> 0.
EXIT.
ENDIF.
APPEND it_adjunto.
ENDDO.
CLOSE DATASET v_pathfile.
.
.
CLEAR: wa_cabecera, it_cuerpo.
REFRESH it_cuerpo.

* Cabecera y cuerpo
wa_cabecera-obj_langu = sy-langu.
wa_cabecera-obj_name = 'SAPRPT'.
wa_cabecera-sensitivty = 'F'.
wa_cabecera-obj_descr = 'Facturas abril'.
*
it_cuerpo-line = 'Estimado cliente. Le adjuntamos las facturas del mes..'.
APPEND it_cuerpo.

CLEAR it_paquete.
REFRESH it_paquete.
* Cuerpo del mensaje
indice = 1.
it_paquete-transf_bin = space.
it_paquete-head_start = indice.
it_paquete-body_start = 1.
DESCRIBE TABLE it_cuerpo LINES it_paquete-body_num.
it_paquete-doc_type = 'RAW'.
APPEND it_paquete.

* Archivo adjunto
indice = indice + 1.
CLEAR: it_paquete.
it_paquete-transf_bin = 'X'.
it_paquete-head_start = 1.
it_paquete-body_start = 1.
DESCRIBE TABLE it_adjunto LINES it_paquete-body_num.
it_paquete-doc_type = 'pdf'.
it_paquete-obj_descr = 'Nombre_adjunto'.
DESCRIBE TABLE it_adjunto LINES lineas.
READ TABLE it_adjunto INDEX lineas.
it_paquete-doc_size = ( lineas - 1 ) * 255 + STRLEN( it_adjunto ).
APPEND it_paquete.

* Creamos el mail
DESCRIBE TABLE it_cuerpo LINES lineas.
READ TABLE it_cuerpo INDEX lineas.
wa_cabecera-doc_size = ( lineas - 1 ) * 255 + STRLEN( it_cuerpo )
+ it_paquete-doc_size. PERFORM cargar_receptores.

CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
EXPORTING
document_data = wa_cabecera
put_in_outbox = 'X'
sender_address = pa_emiso
sender_address_type = 'INT'
commit_work = 'X'
* IMPORTING
* SENT_TO_ALL = ''
* NEW_OBJECT_ID =
* SENDER_ID =
TABLES
packing_list = it_paquete
* OBJECT_HEADER =
contents_txt = it_cuerpo
contents_hex = it_adjunto
* OBJECT_PARA =
* OBJECT_PARB =
receivers = it_receptores
EXCEPTIONS
too_many_receivers = 1
document_not_sent = 2
document_type_not_exist = 3
operation_no_authorization = 4
parameter_error = 5
x_error = 6
enqueue_error = 7
OTHERS = 8

El fichero se envía pero cuando lo quiero abrir desde la transacción SCOT me dice que no se permite el formato o hay que descodificarlo. ¿Alguien me puede ayudar?

He probado de pasar el fichero del servidor al pc mediante CuteFTP y cuando lo abro no tengo problema.

Muchas 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 13:15:41.


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