|
#1
|
|||
|
|||
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. |
#2
|
||||
|
||||
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. |
#3
|
|||
|
|||
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. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|