06-27-2007 4:11 PM
Hi,
I have a senario where i need to send the mail to the user in his outlook express.
At the time of creation/change of the PO i need to triger the message to the outlook express.
I have the user exit at which trigers at the time of the save of the PO.
I need to take the EKKO-ERNAM to get the persons username.
How can i send the mail to the user based on the ERNAM ?
Can any one pls advise.
06-27-2007 4:18 PM
Another approach for sending mail to Outlook -:)
DATA: APPOUTLOOK TYPE OLE2_OBJECT.
DATA: APPOUT2 TYPE OLE2_OBJECT.
DATA: APPITEM TYPE OLE2_OBJECT.
DATA: NAMESPACE TYPE OLE2_OBJECT.
DATA: BODY(5000) TYPE C.
DATA: CR TYPE X VALUE 13.
DATA: W_MAIL(5000) TYPE C.
CALL FUNCTION 'ZFGETCONST'
EXPORTING
P_PROGRAM = 'ZSDR0007N'
P_CAMPO = 'MAIL'
TABLES
TI_CONST = IT_MAILS.
LOOP AT IT_MAILS WHERE LOW = SY-SLSET.
CONCATENATE W_MAIL IT_MAILS-HIGH ';'
INTO W_MAIL.
ENDLOOP.
LOOP AT TI_LOG ASSIGNING <LOG>.
PERFORM QUITAR_CEROS CHANGING <LOG>-MATNR.
CONCATENATE BODY <LOG>-VKORG <LOG>-VKBUR <LOG>-MATNR
<LOG>-KUNNR <LOG>-EAN11 <LOG>-MENSA CR INTO BODY
SEPARATED BY SPACE.
ENDLOOP.
CREATE OBJECT APPOUTLOOK 'outlook.application' .
CALL METHOD OF APPOUTLOOK 'GetNameSpace' = NAMESPACE
EXPORTING #1 = 'MAPI'.
CALL METHOD OF APPOUTLOOK 'CreateItem' = APPITEM
EXPORTING #1 = '0'.
SET PROPERTY OF APPITEM 'To' = W_MAIL.
SET PROPERTY OF APPITEM 'Subject' = 'Log de Errores CONCESIONARIOS'.
SET PROPERTY OF APPITEM 'Body' = BODY.
CALL METHOD OF APPITEM 'Send'.
FREE OBJECT APPITEM.
FREE OBJECT NAMESPACE.
FREE OBJECT APPOUTLOOK.
Greetings,
Blag.
06-27-2007 4:15 PM
Hello,
There is a exit for this.
Exit Name: MM06E005
Fm Name: EXIT_SAPMM06E_012
Include: ZXM06U43.
Inside this inlude you will get the value of EKKO and EKPO.
With tzhis u can send the mail.
Chk this sample to send mail.
REPORT ZV_EMAIL_TEST .
TABLES: KNA1.
* data for send function
DATA DOC_DATA LIKE SODOCCHGI1.
DATA OBJECT_ID LIKE SOODK.
DATA OBJCONT LIKE SOLI OCCURS 10 WITH HEADER LINE.
DATA RECEIVER LIKE SOMLRECI1 OCCURS 1 WITH HEADER LINE.
SELECT * FROM KNA1 WHERE ANRED LIKE 'C%'.
WRITE:/ KNA1-KUNNR, KNA1-ANRED.
* send data internal table
CONCATENATE KNA1-KUNNR KNA1-ANRED
INTO OBJCONT-LINE SEPARATED BY SPACE.
APPEND OBJCONT.
ENDSELECT.
* insert receiver (sap name)
REFRESH RECEIVER.
CLEAR RECEIVER.
MOVE: SY-UNAME TO RECEIVER-RECEIVER,
'X' TO RECEIVER-EXPRESS,
'U' TO RECEIVER-REC_TYPE.
APPEND RECEIVER.
* insert mail description
WRITE 'Sending a mail through abap'
TO DOC_DATA-OBJ_DESCR.
CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'
EXPORTING
DOCUMENT_DATA = DOC_DATA
IMPORTING
NEW_OBJECT_ID = OBJECT_ID
TABLES
OBJECT_CONTENT = OBJCONT
RECEIVERS = RECEIVER
EXCEPTIONS
TOO_MANY_RECEIVERS = 1
DOCUMENT_NOT_SENT = 2
DOCUMENT_TYPE_NOT_EXIST = 3
OPERATION_NO_AUTHORIZATION = 4
PARAMETER_ERROR = 5
X_ERROR = 6
ENQUEUE_ERROR = 7
OTHERS = 8.
write:/ 'Hi'.
If useful reward.
Vasanth
06-28-2007 8:21 AM
Thanks for mail.
Will this work for sending a mail to the outlook express.
06-27-2007 4:18 PM
Another approach for sending mail to Outlook -:)
DATA: APPOUTLOOK TYPE OLE2_OBJECT.
DATA: APPOUT2 TYPE OLE2_OBJECT.
DATA: APPITEM TYPE OLE2_OBJECT.
DATA: NAMESPACE TYPE OLE2_OBJECT.
DATA: BODY(5000) TYPE C.
DATA: CR TYPE X VALUE 13.
DATA: W_MAIL(5000) TYPE C.
CALL FUNCTION 'ZFGETCONST'
EXPORTING
P_PROGRAM = 'ZSDR0007N'
P_CAMPO = 'MAIL'
TABLES
TI_CONST = IT_MAILS.
LOOP AT IT_MAILS WHERE LOW = SY-SLSET.
CONCATENATE W_MAIL IT_MAILS-HIGH ';'
INTO W_MAIL.
ENDLOOP.
LOOP AT TI_LOG ASSIGNING <LOG>.
PERFORM QUITAR_CEROS CHANGING <LOG>-MATNR.
CONCATENATE BODY <LOG>-VKORG <LOG>-VKBUR <LOG>-MATNR
<LOG>-KUNNR <LOG>-EAN11 <LOG>-MENSA CR INTO BODY
SEPARATED BY SPACE.
ENDLOOP.
CREATE OBJECT APPOUTLOOK 'outlook.application' .
CALL METHOD OF APPOUTLOOK 'GetNameSpace' = NAMESPACE
EXPORTING #1 = 'MAPI'.
CALL METHOD OF APPOUTLOOK 'CreateItem' = APPITEM
EXPORTING #1 = '0'.
SET PROPERTY OF APPITEM 'To' = W_MAIL.
SET PROPERTY OF APPITEM 'Subject' = 'Log de Errores CONCESIONARIOS'.
SET PROPERTY OF APPITEM 'Body' = BODY.
CALL METHOD OF APPITEM 'Send'.
FREE OBJECT APPITEM.
FREE OBJECT NAMESPACE.
FREE OBJECT APPOUTLOOK.
Greetings,
Blag.
06-28-2007 8:23 AM
Hi,
Thanks for the mail.
Can you pls elaborate on CALL FUNCTION 'ZFGETCONST'.
How can i get the mail id of the user.
I would triger the mail in the save user exit.