esto funciona
*&---------------------------------------------------------------------*
*& Report Envío de MAIL utilizando objetos OLE para Microsoft Outlook
*& Versión 98 : problemas cuando Outlook no está abierto
*& Versión 2000 : correcto
*&---------------------------------------------------------------------*
*& Siempre en ON-LINE ( como cualquier funcionamiento OLE )
*&---------------------------------------------------------------------*
REPORT YMAIL .
PARAMETERS : P_TO(30),
P_SUBJ(30),
P_BODY(50). "este es el cuerpo del mail
* Include Objetos OLE
INCLUDE OLE2INCL.
*----------------------------------------------------------------*
START-OF-SELECTION.
*lonecesario para recolectar los datos a enviar
*
PERFORM ENVIA-MAIL .
*&---------------------------------------------------------------------*
*& Form ENVIA-MAIL
*&---------------------------------------------------------------------*
*FORM ENVIA-MAIL .
*----------------
DATA: APPOUTLOOK TYPE OLE2_OBJECT.
DATA: APPOUT2 TYPE OLE2_OBJECT.
DATA: APPITEM TYPE OLE2_OBJECT.
DATA: NAMESPACE TYPE OLE2_OBJECT.
* Crear objeto OLE : outlook.application
CREATE OBJECT APPOUTLOOK 'outlook.application' .
* Mensajes vía MAPI
CALL METHOD OF APPOUTLOOK 'GetNameSpace' = NAMESPACE
EXPORTING #1 = 'MAPI'.
* Crea objeto nuevo ITEM ( nuevo mensaje )
CALL METHOD OF APPOUTLOOK 'CreateItem' = APPITEM
EXPORTING #1 = '0'.
* Propiedades TO , SUBJECT y BODY
SET PROPERTY OF APPITEM 'To' = P_TO.
SET PROPERTY OF APPITEM 'Subject' = P_SUBJ.
SET PROPERTY OF APPITEM 'Body' = P_BODY. "aquí lo utilizas
* Envía ITEM
CALL METHOD OF APPITEM 'Send'.
* Libera Espacio del objeto
FREE OBJECT APPITEM.
FREE OBJECT NAMESPACE.
* Cierra Outlook ( solo si se quiere que quede cerrado )
FREE OBJECT APPOUTLOOK.
*
ENDFORM. " ENVIA-MAIL
|