MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Email con ficheros adjuntos (foro/showthread.php?t=42801)

Bedwir_cv 15/04/11 09:45:14

Email con ficheros adjuntos
 
Buenos días a todos/as.

Queremos enviar E-mails con ficheros adjuntos. Se como enviar un pdf adjunto a un e-mail con SO_DOCUMENT_SEND_API1, pero lo que quiere el usuario es poder seleccionar él los ficheros del PC (ya sean .TXT, .DOC o lo que se le antoje) y adjuntarlos en el mail.

¿Como se podría hacer eso? ¿Hay alguna función que permita darle la ruta y nombre del fichero y que envié el mail con ese fichero adjunto?

Gracias, saludos.

kiboqac 15/04/11 12:23:36

Directamente no creo que puedas hacerlo.

Deberas hacer un Download de los archivos, tenerlos en una tabla interna y despues adjuntarlos al mail...

Si esa solucion te sirve; te paso algunas funciones para que puedas hacerlo pero si revisas en este foro, vas a encontrar todas las respuestas.

julianvc 27/04/11 09:25:49

Buenos días.
Yo hice algo parecido, pero enviando el correo desde sap, usando el outlook.

Lo primero que hice fue hacer al usuario que seleccione el fichero a enviar:

FORM muestra_ruta_fic.

DATA p_file LIKE rlgrap-filename .
DATA p_tipo LIKE rlgrap-filetype .

p_tipo = 'DAT'.

PERFORM f_help_file USING p_file.

txt_fichero = p_file.
ENDFORM. "muestra_ruta_fic


ahora ejecutaría el código para el envio de este fichero:

DATA: outlook TYPE ole2_object. "Outlook.Application
DATA: item TYPE ole2_object. "Outlook.MailItem
DATA: lattach TYPE ole2_object . "Outlook.Attachement
DATA: subject(255) TYPE c.
DATA: w_answer(50).
DATA: pregunta(200).
DATA: cuerpo_mensaje(500).
DATA: objcont LIKE solisti1 OCCURS 5 WITH HEADER LINE.
DATA: gv_body TYPE string.


pregunta = 'Enviar correo electrónico?.'.

CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
text_question = pregunta
IMPORTING
answer = w_answer
EXCEPTIONS
text_not_found = 1
OTHERS = 2.

IF w_answer = '1'.

objcont-line = zsac_cod_inc-descripcion.
APPEND objcont.
objcont-line = zsac_tipo_inc-descripcion.
APPEND objcont.

*Enviar mail con fichero adjunto
IF txt_fichero <> ''.
CREATE OBJECT outlook 'outlook.application'.

CALL METHOD OF outlook 'CreateItem' = item
EXPORTING
#1 = '0'.

SET PROPERTY OF item 'To' = email.

* AQUI RELLENO EL CUERPO DEL MENSAJE CON LO ALMACENADO EN OBJCONT

CLEAR gv_body.
LOOP AT objcont.
CONCATENATE gv_body objcont-line INTO gv_body.
CONCATENATE gv_body cl_abap_char_utilities=>cr_lf INTO gv_body.

ENDLOOP.
SET PROPERTY OF item 'BODY' = gv_body.




* OPCION 2:
* concatenate zsac_cod_inc-descripcion ' ' zsac_tipo_inc-descripcion zsac_cau_des-descripcion zdepartamentos-descripcion zmaterial-maktx txt_tipo_llamada txt_destinos into cuerpo_mensaje.
*
* SET PROPERTY OF item 'Body' = cuerpo_mensaje.


*AQUI ES DONDE LE INDICO EL FICHERO A ENVIAR POR CORREO

SET PROPERTY OF item 'Subject' = texto_correo.

CALL METHOD OF item 'Attachments' = lattach.

CALL METHOD OF lattach 'Add'
EXPORTING
#1 = txt_fichero.

*CON ESTA ENVIA EL CORREO DIRECTAMENTE
CALL METHOD OF item 'Send'.
*CON ESTA OTRA ABRIRÍA LA VENTANA DEL OUTLOOK
* CALL METHOD OF ITEM 'DISPLAY'.

FREE OBJECT item.
FREE OBJECT outlook.
FREE OBJECT lattach.


Husos Horarios son GMT. La hora en este momento es 17:54:58.

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