Ver Mensaje Individual
  #3  
Viejo 27/04/11, 09:25:49
julianvc julianvc is offline
Member
 
Fecha de Ingreso: mar 2008
Mensajes: 69
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.
Responder Con Cita