Ver la Versión Completa : Tabla interna en el cuerpo del mail
minerva0112
15/07/11, 21:16:24
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.
abapedro
16/07/11, 18:27:26
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
luis999
18/07/11, 16:32:31
Yo te recomiendo, mandar el cuerpo de mensaje como html, asi te queda mas presentable que mandarlo como string.
www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web