Chinaunix首页 | 论坛 | 博客
  • 博客访问: 641314
  • 博文数量: 68
  • 博客积分: 2527
  • 博客等级: 少校
  • 技术积分: 1028
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-07 08:59
文章分类

全部博文(68)

文章存档

2014年(1)

2013年(6)

2012年(18)

2011年(15)

2010年(7)

2009年(21)

我的朋友

分类:

2012-12-28 17:10:16

 

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.

阅读(5235) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~