Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
6 views12 pages

Mail Program in FM

This document outlines the steps to create an ABAP Function Module for sending emails to both an external email address and an SAP user inbox. It includes detailed instructions on creating the function module, declaring input variables, writing the necessary code, and executing the function. The document also describes potential use cases for this functionality in reports and workflows.

Uploaded by

paaavan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views12 pages

Mail Program in FM

This document outlines the steps to create an ABAP Function Module for sending emails to both an external email address and an SAP user inbox. It includes detailed instructions on creating the function module, declaring input variables, writing the necessary code, and executing the function. The document also describes potential use cases for this functionality in reports and workflows.

Uploaded by

paaavan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 12

Send Message to External email id and SAP User id via ABAP

by P surjith kumar, Enteg Infotech, Bangalore, India.

Requirement
In a Function Module the email id and SAP User id has to enter as an input. On successful execution it should send a mail
to external Email id and SAP Inbox.

Creating Mail sending Function Module and Execution Step by Step

The following steps are necessary the Creation.


1. Log to Transaction Code SE37.
2. Create a Function Module.
3. Declare the input variables for external email id and SAP user id.
4. Write the coding as shown below.
5. Save and Active it.
6. Execute the Function Module.
7. Enter the Input i.e. External email id and SAP User id.
8. See the output in SAP In box (SBWP) of SAP User id and SAP Connect (SOST) for external email id.

Where this can be used?

1. In the place where the mail need to send while execute a report.
2. In the Workflow Task you can call this method to send Mails.
3. In Workflow 'Send Mail' step is available to send mail, but if you want to send lengthy website link and more contents in
the Email via this program you can send.

1. Log to Transaction Code SE37.


2. Create a Function Module.
2.1 Create the Function group as indicated below.

2.2 Give the Function Group Name as mention below.

Click the save button to create function group.

2.3 Give the Function Module Name "ZSUR_MAIL_SENDING_PRG" and the Function Group
Name.

Click the save button to create function module.


3. Declare the input variables for external email id and SAP user id.

4. Write the coding as depicted below.


FUNCTION zsur_mail_sending_prg.
*"----------------------------------------------------------------------
""Local Interface:
*" IMPORTING
*" REFERENCE(LV_EMP_USERID) TYPE FITP_USER-UNAME
*" REFERENCE(LV_EMP_EMAILID) TYPE PA0105-USRID_LONG
*"----------------------------------------------------------------------
***********************************************************************************
* Created by: P.Surjith Kumar, Enteg InfoTech, Bangalore, India.
* Created on: 03-11-2008
* Purpose : Sending Mail for the Respective Person's SAP Inbox and External Email id.
***********************************************************************************
* *&Get the Email id and User id Whom you want to Send ******
DATA:it_receivers TYPE STANDARD TABLE OF somlreci1,
wa_it_receivers LIKE LINE OF it_receivers,
it_packing_list TYPE STANDARD TABLE OF sopcklsti1,
gd_doc_data TYPE sodocchgi1,
wa_it_packing_list LIKE LINE OF it_packing_list,
psubject(90) TYPE c,
it_message TYPE STANDARD TABLE OF solisti1,
wa_it_message LIKE LINE OF it_message,
c1(99) TYPE c,
c2(15) TYPE c,
num_lines TYPE i.
&-- Assign the Email id and User id to Whom you want to Send -------------&
FREE wa_it_receivers.
wa_it_receivers-receiver = lv_emp_emailid. "&---- Assign Email id
wa_it_receivers-rec_type = 'U'. "&---- Send to External Email id
wa_it_receivers-com_type = 'INT'.
wa_it_receivers-notif_del = 'X'.
wa_it_receivers-notif_ndel = 'X'.
APPEND wa_it_receivers TO it_receivers .
FREE wa_it_receivers.
wa_it_receivers-receiver = lv_emp_userid. "&----- Assign SAP User Id
wa_it_receivers-rec_type = 'B'. "&-- Send to SAP Inbox
wa_it_receivers-com_type = 'INT'.
wa_it_receivers-notif_del = 'X'.
wa_it_receivers-notif_ndel = 'X'.
APPEND wa_it_receivers TO it_receivers .
*& - END of Assign the Email id and User id to Whom you want to Send --&
"&--- Read the Number of lines in the Internal Table
DESCRIBE TABLE it_receivers LINES num_lines.
"&--- Check the Sender Email id or SAP User id is got or not.
IF num_lines IS NOT INITIAL.
*&---------------------------------------------------------------------
* Add thetext to mail text table
*&----------------------------------------------------------------------
*&-- Subject of the mail -------------&*
psubject = 'Send Mail from ABAP Program.'(001).
&-- Body of the mail ----------------&*
CLEAR wa_it_message.
c1 = 'Dear'(005).
c2 = lv_emp_userid.
CONCATENATE c1 c2 ',' INTO
wa_it_message-line SEPARATED BY space.
APPEND wa_it_message TO it_message.
*** insert Blank Line *********************************************
CLEAR wa_it_message.
wa_it_message-line = ' '.
APPEND wa_it_message TO it_message.
******* Assign your Text below *************************************
CLEAR wa_it_message.
wa_it_message-line = 'A Test Mail sent from "Enteg InfoTech" through ABAP Program.'(002).
APPEND wa_it_message TO it_message.
*** insert Blank Line{} *********************************************
CLEAR wa_it_message.
wa_it_message-line = ' '.
APPEND wa_it_message TO it_message.
**********Assign your Text below ********************************
CLEAR wa_it_message.
wa_it_message-line = 'This mail generate automatically. Please do not reply.'(003).
APPEND wa_it_message TO it_message.
*********************************************************************
**********& Send EMAIL MESSAGE &*********************************
gd_doc_data-doc_size = 1.
*Populate the subject/generic message attributes
gd_doc_data-obj_langu = sy-langu.
gd_doc_data-obj_name = 'SAPRPT'.
gd_doc_data-obj_descr = psubject.
gd_doc_data-sensitivty = 'F'.
*Describe the body of the message
CLEAR wa_it_packing_list.
REFRESH it_packing_list.
wa_it_packing_list-transf_bin = space.
wa_it_packing_list-head_start = 1.
wa_it_packing_list-head_num = 0.
wa_it_packing_list-body_start = 1.
DESCRIBE TABLE it_message LINES wa_it_packing_list-body_num.
wa_it_packing_list-doc_type = 'RAW'.
APPEND wa_it_packing_list TO it_packing_list.
*&------ Call the Function Module to send the message to External and SAP Inbox
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = gd_doc_data
put_in_outbox = 'X'
commit_work = 'X'
TABLES
packing_list = it_packing_list
contents_txt = it_message
receivers = it_receivers
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 .
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDIF. "&---- END of Check the Sender Email id or SAP User id is got or not.
ENDFUNCTION.

5. Save and Active it.


6. Execute the Function Module.

7. Enter the Input i.e. External email id & SAP User id and execute the Function Module
8.1. See the output in SAP In box (SBWP) of SAP User id.

8.2 See the output in SAP Connect (SOST) for external email id.

You might also like