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.
|