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.
THE END.