Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

email to the user

Former Member
0 Kudos

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.

1 ACCEPTED SOLUTION

former_member583013
Active Contributor
0 Kudos

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.

4 REPLIES 4

Former Member
0 Kudos

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

0 Kudos

Thanks for mail.

Will this work for sending a mail to the outlook express.

former_member583013
Active Contributor
0 Kudos

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.

0 Kudos

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.