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 15/07/11, 21:16:24
minerva0112 minerva0112 is offline
Senior Member
 
Fecha de Ingreso: nov 2009
Mensajes: 116
Question Tabla interna en el cuerpo del mail

Hola a todos, estoy intentando enviar un email desde sap hacia Outlook
y colocar en el cuerpo el contenido de una tabla interna.
Lo que me sucede es que solo toma el ultimo valor de la tabla interna, a pesar de que hago un loop es la siguiente manera:
LOOP AT it_body.
SET PROPERTY OF APPITEM 'Body' = it_body.
ENDLOOP.

Porfavora quien me pueda orientar al respecto.
Responder Con Cita
  #2  
Viejo 16/07/11, 18:27:26
Avatar de abapedro
abapedro abapedro is offline
Member
 
Fecha de Ingreso: mar 2007
Mensajes: 83
Smile Envio email contenido tabla interna

Hola minerva0112,

Te sugiero utilizar la clase:

cl_document_bcs

ejemplo:

DATA: mensaje TYPE REF TO cl_bcs.

El cuerpo del mensaje se debe incluir en una tabla del tipo: bcsy_text

ejemplo:

DATA: texto_mensaje TYPE bcsy_text.

Es simplemente una tabla con un solo campo que es de 255 caracteres.

Habría que transferir la tabla interna a la del cuerpo del mensaje (texto_mensaje), convirtiendo cada registro de la interna en un string antes de pasarlo al respectivo registro de la tabla del cuerpo (texto_mensaje).

Después se crea un "documento", así:

DATA: documento TYPE REF TO cl_document_bcs.
documento = cl_document_bcs=>create_document(
i_type = 'RAW'
i_text = texto_mensaje
i_length = '12'
i_subject = asunto ).

En donde "asunto" es un string que contiene el texto que aparecerá como "referencia" en el mensaje.

Luego se crea el mensaje:

mensaje = cl_bcs=>create_persistent( ).

Luego se le asigna el cuerpo así:

CALL METHOD mensaje->set_document( documento ).

El destinatario se define usando:

recipient = cl_cam_address_bcs=>create_internet_address(
'buzon_destino@vialactea.com' ).
CALL METHOD mensaje->add_recipient
EXPORTING
i_recipient = recipient
i_express = 'X'.

El remitente se define usando:

sender = cl_cam_address_bcs=>create_internet_address('buzon_remitente@vialactea.com')
mensaje->set_sender( i_sender = sender ).


Ya el mensaje está listo y se puede enviar:

call method mensaje->send_without_dialog.

Adicionalmente, se pueden adicionar anexos al mensaje usando:

call method documento->add_attachment

Observa que el anexo se adiciona al 'documento', no al 'mensaje' (antes de asignar el documento al mensaje).

Espero que esta pequeña explicación te sirva.

Abapedro
Responder Con Cita
  #3  
Viejo 18/07/11, 16:32:31
Avatar de luis999
luis999 luis999 is offline
Member
 
Fecha de Ingreso: jun 2008
Localización: Lima - Perú
Mensajes: 82
Yo te recomiendo, mandar el cuerpo de mensaje como html, asi te queda mas presentable que mandarlo como string.
__________________
Luis Lipa
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 17:35:17.


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