‎2007 Mar 01 6:12 AM
Hi,
Is there any way to send a mail with cc populated with some mail id.
regards,
Ravi
‎2007 Mar 01 6:16 AM
HI,
Check this:
INCLUDE: OLE2INCL. "OLE2 Automation
DATA: OUTLOOK TYPE OLE2_OBJECT,
NAMESPACE TYPE OLE2_OBJECT,
MYFOLDER TYPE OLE2_OBJECT,
MYITEM TYPE OLE2_OBJECT,
MYITEMS TYPE OLE2_OBJECT.
collection of mail item properties
DATA: MYPROPS TYPE OLE2_OBJECT, "#EC NEEDED
A mail item property
MYPROP TYPE OLE2_OBJECT, "#EC NEEDED
W_VALUE TYPE OLE2_OBJECT. " property values
DATA :
W_VALUE2(100),
W_VALUE3(100),
W_VALUE4(1) VALUE '''' .
DATA: W_COUNTER TYPE I. "#EC NEEDED
DATA: W_CREATETIME TYPE OLE2_OBJECT, "#EC NEEDED
Y_CREATETIME TYPE OLE2_OBJECT. "#EC NEEDED
CLEAR W_VALUE.
FREE MYITEM.
FREE MYFOLDER.
FREE NAMESPACE.
FREE OUTLOOK.
----
FORM F0026_SENDEMAIL_OUTLOOK *
----
........ *
----
FORM FM_SENDEMAIL_OUTLOOK USING RV_TO
RV_CC
RV_SUBJECT
RV_BODY
CHANGING V_RET.
Create instance of Outlook
CREATE OBJECT OUTLOOK 'Outlook.Application'.
Get the outlook namespace
CALL METHOD OF OUTLOOK 'GetNamespace' = NAMESPACE
EXPORTING
#1 = 'MAPI'.
Get outlook folders and create a reference to sent mail folder
(myfolder)
CALL METHOD OF NAMESPACE 'GetDefaultFolder' = MYFOLDER
EXPORTING
#1 = 5. "olFolderSentMail
Create an inbox item
CALL METHOD OF OUTLOOK 'CreateItem' = MYITEM
EXPORTING
#1 = 0. "olMailItem
set properties for sending mail
*
SET PROPERTY OF MYITEM 'To' = RV_TO. " user email
SET PROPERTY OF MYITEM 'BodyFormat' = 3.
SET PROPERTY OF MYITEM 'CC' = RV_CC.
SET PROPERTY OF MYITEM 'Body' = RV_BODY.
Replace ALL occurence of $OBJECTID in ZFACT_NOTIFICATN-SUBJECT
with OBJECTID value
for testing: Add object ID used for tracking email.
CONCATENATE '000000000-0060-3025000-WA737-000000000'
*ZFACT_NOTIFICATN-SUBJECT INTO ZFACT_NOTIFICATN-SUBJECT SEPARATED BY ':
*.
SET PROPERTY OF MYITEM 'Subject' = RV_SUBJECT.
Create custom property attached to the mail item
so that we can later identifiy the item
PERFORM CreateCustomProperty USING myitem .
In the normal case, object id is in the first position of subject.
CALL METHOD OF MYITEM 'Save'.
PERFORM CREATECUSTOMPROPERTY USING MYITEM .
CALL METHOD OF MYITEM 'Display'
EXPORTING #1 = 1.
W_COUNTER = 1.
FREE MYITEM.
CONCATENATE W_VALUE4 RV_SUBJECT INTO
W_VALUE3.
CONCATENATE W_VALUE3 W_VALUE4 INTO W_VALUE3.
CONCATENATE '[Subject] = ' W_VALUE3 INTO W_VALUE2
SEPARATED BY ' '. "#EC NOTEXT
WAIT UP TO 2 SECONDS.
CALL METHOD OF MYFOLDER 'Items' = MYITEMS.
CALL METHOD OF MYITEMS 'Find' = MYITEM
EXPORTING #1 = W_VALUE2.
GET PROPERTY OF MYITEM 'Subject' = W_VALUE.
Get creation time used for tracking email
GET PROPERTY OF MYITEM 'CreationTime' = W_CREATETIME.
IF W_VALUE NE RV_SUBJECT.
IF MYITEM IS INITIAL .
*and not MYITEM is eq '.
V_RET = 'NO'.
EXIT.
ELSE.
V_RET = 'YES'.
EXIT.
ENDIF.
free memory
FREE MYPROPS.
FREE MYPROP.
FREE W_CREATETIME.
FREE Y_CREATETIME.
FREE W_VALUE.
ENDFORM.
You can call this program from another program using a call like:
PERFORM fm_sendemail_outlook
IN PROGRAM zemail_prg
USING ws_to
ws_cc
ws_subject
ws_body
CHANGING ws_ret. "#CCE
Regards
kumar
‎2007 Mar 01 6:30 AM
Hi Ravi,
I think this might be useful to you.
http://www.sapdevelopment.co.uk/reporting/email/attach_xls.htm
Regards,
Harsha.