<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Function Module SO_OBJECT_SEND in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/function-module-so-object-send/m-p/3264591#M780122</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hai ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SAP supplies a function module 'SO_OBJECT_SEND' to allow you send SAPOffice mails from within your ABAP programs. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Just try this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Author: Kevin Wilson&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FUNCTION z_send_email_itab_uname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*"----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;"&lt;/STRONG&gt;"Local interface:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*"  IMPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*"     VALUE(APPLICATION) LIKE  SOOD1-OBJNAM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*"     VALUE(EMAILTITLE) LIKE  SOOD1-OBJDES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*"     VALUE(RECEXTNAM) LIKE  SOOS1-RECEXTNAM OPTIONAL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*"     VALUE(SENDER) LIKE  SOUD-USRNAM DEFAULT SY-UNAME&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*"     VALUE(UNAME) LIKE  SOOS1-RECEXTNAM OPTIONAL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*"  EXPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*"     VALUE(RETURN_CODE) LIKE  SY-SUBRC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*"  TABLES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*"      TEXTTAB STRUCTURE  SOLI&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*"----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  TABLES: pa0105,   "Employee detail for username and email address&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          usr21,    "Login addition address data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          adr6.     "Address table for email addresses&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- local data declaration&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: ohd    LIKE sood1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        oid    LIKE soodk,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        to_all LIKE sonv-flag,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        t_uname LIKE sy-uname,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        okey   LIKE swotobjid-objkey.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: BEGIN OF receivers OCCURS 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          INCLUDE STRUCTURE soos1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: END OF receivers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- fill odh&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ohd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ohd-objla    = sy-langu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ohd-objnam   = application.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ohd-objdes   = emailtitle.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ohd-objpri   = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ohd-objsns   = 'F'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ohd-ownnam   = sy-uname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT uname IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Find personnel number of username&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONDENSE uname NO-GAPS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHILE uname CS ','.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      t_uname = uname+0(sy-fdpos).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ADD 1 TO sy-fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SHIFT uname LEFT BY sy-fdpos PLACES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM find_email_address USING t_uname&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                                 CHANGING recextnam.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDWHILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Do the last record&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF uname &amp;lt;&amp;gt; space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      t_uname = uname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM find_email_address USING t_uname&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                                 CHANGING recextnam.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- send Email&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT recextnam IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONDENSE recextnam NO-GAPS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CHECK recextnam CS '@'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- for every individual recipient send an Email&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;(see OSS message 0120050409/0000362105/1999)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WHILE recextnam CS ','.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM init_rec TABLES receivers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE receivers INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    receivers-recextnam = recextnam+0(sy-fdpos).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ADD 1 TO sy-fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SHIFT recextnam LEFT BY sy-fdpos PLACES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MODIFY receivers INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM so_object_send_rec&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     TABLES texttab receivers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      USING ohd&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            sender.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDWHILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- check last recipient in recipient list&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF recextnam &amp;lt;&amp;gt; space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM init_rec TABLES receivers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE receivers INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    receivers-recextnam = recextnam.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MODIFY receivers INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM so_object_send_rec&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     TABLES texttab receivers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      USING ohd&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            sender.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFUNCTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM SO_OBJECT_SEND_REC                                       *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM  so_object_send_rec&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES  objcont      STRUCTURE soli&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        receivers    STRUCTURE soos1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;USING   object_hd    STRUCTURE sood1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        sender LIKE soud-usrnam.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:   oid     LIKE soodk,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          to_all  LIKE sonv-flag,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          okey    LIKE swotobjid-objkey.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'SO_OBJECT_SEND'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            extern_address             = 'X'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            object_hd_change           = object_hd&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            object_type                = 'RAW'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            outbox_flag                = 'X'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            sender                     = sender&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            object_id_new              = oid&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            sent_to_all                = to_all&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            office_object_key          = okey&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            objcont                    = objcont&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            receivers                  = receivers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            active_user_not_exist      = 1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            communication_failure      = 2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            component_not_available    = 3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            folder_not_exist           = 4&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            folder_no_authorization    = 5&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            forwarder_not_exist        = 6&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            note_not_exist             = 7&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            object_not_exist           = 8&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            object_not_sent            = 9&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            object_no_authorization    = 10&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            object_type_not_exist      = 11&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            operation_no_authorization = 12&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            owner_not_exist            = 13&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            parameter_error            = 14&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            substitute_not_active      = 15&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            substitute_not_defined     = 16&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            system_failure             = 17&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            too_much_receivers         = 18&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            user_not_exist             = 19&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            x_error                    = 20&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            OTHERS                     = 21.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CASE sy-subrc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'Activer user does not exist.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'Communication Failure.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'Component not available.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'Folder does not exist..'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'No authorization for folder.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'Forwarder does not exist.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'Note does not exist.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 8.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'Object does not exist.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 9.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'Object not sent.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'No authorization for object.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 11.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'Object type does not exist.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 12.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'No authorization for operation.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 13.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'Owner does not exist.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 14.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'Parameter Error.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 15.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'Substitute not active.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 16.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'Substitute not defined.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 17.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'System failure.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 18.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'Too many receivers.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 19.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'User does not exist.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'Unknown error ocurred.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 21.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'Unknown error ocurred.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      FORM INIT_REC                                                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM init_rec TABLES receivers STRUCTURE soos1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR receivers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH receivers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE sy-datum  TO receivers-rcdat .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE sy-uzeit  TO receivers-rctim.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE '1'       TO receivers-sndpri.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE 'X'       TO receivers-sndex.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE 'U-'      TO receivers-recnam.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE 'U'       TO receivers-recesc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE 'INT'     TO receivers-sndart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE '5'       TO receivers-sortclass.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND receivers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  find_email_address&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Returns the email address for a USERID whether they are an&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      employee or just a user.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_RECEXTNAM  Email address&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_UNAME      USERID&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM find_email_address USING    p_uname&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                        CHANGING p_recextnam LIKE soos1-recextnam.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:   t_pernr LIKE pa0105-pernr,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          t_email LIKE pa0105-usrid_long.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;STEP 1 - Find personnel number for UNAME&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE pernr INTO t_pernr&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    FROM pa0105&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHERE subty = '0001' AND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          endda &amp;gt;= sy-datum AND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          begda &amp;lt;= sy-datum AND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          usrid = p_uname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Employee record found&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;STEP 2 - Find email address for personnel number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE usrid_long INTO t_email&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      FROM pa0105&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHERE pernr = t_pernr AND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            subty = '0022' AND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            endda &amp;gt;= sy-datum AND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            begda &amp;lt;= sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT p_recextnam IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CONCATENATE p_recextnam t_email&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          INTO p_recextnam SEPARATED BY ','.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        p_recextnam = t_email.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.  "Never found an email address for employee&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;WHO SHOULD WE SEND TO HERE??? ***&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Employee number not found. Search in ADR6 table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;See if user name is in the username table.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;i.e. The user is not an employee&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE addrnumber persnumber&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      INTO (usr21-addrnumber, usr21-persnumber)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      FROM usr21&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHERE bname = p_uname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Found user name now let's get the email address&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT SINGLE smtp_addr INTO t_email&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        FROM adr6&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        WHERE addrnumber = usr21-addrnumber AND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              persnumber = usr21-persnumber.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc &amp;lt;&amp;gt; 0 OR t_email IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;WHO SHOULD WE SEND TO HERE??? ***&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.  "Found email&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF NOT p_recextnam IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CONCATENATE p_recextnam t_email&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            INTO p_recextnam SEPARATED BY ','.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          p_recextnam = t_email.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.   "UNAME just does not have an email address addigned at all&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;WHO SHOULD WE SEND TO HERE??? ***&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " find_email_address&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;&lt;P&gt;Sowjanya.B.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 08 Jan 2008 09:23:28 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-01-08T09:23:28Z</dc:date>
    <item>
      <title>Function Module SO_OBJECT_SEND</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/function-module-so-object-send/m-p/3264587#M780118</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Gurus,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can we send the attachments using Function Module 'SO_OBJECT_SEND'. ?&lt;/P&gt;&lt;P&gt;If so please do let me know the code for filling the attachment and using this FM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Promise to reward points.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards&lt;/P&gt;&lt;P&gt;Mac&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Jan 2008 09:08:38 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/function-module-so-object-send/m-p/3264587#M780118</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-08T09:08:38Z</dc:date>
    </item>
    <item>
      <title>Re: Function Module SO_OBJECT_SEND</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/function-module-so-object-send/m-p/3264588#M780119</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mohan,&lt;/P&gt;&lt;P&gt;This might help u out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZREPORT_TO_EMAIL NO STANDARD PAGE HEADING LINE-SIZE 200. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF ITAB OCCURS 0, &lt;/P&gt;&lt;P&gt;PERNR LIKE PA0001-PERNR, &lt;/P&gt;&lt;P&gt;ENAME LIKE PA0001-ENAME, &lt;/P&gt;&lt;P&gt;END OF ITAB. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: message_content LIKE soli OCCURS 10 WITH HEADER LINE, &lt;/P&gt;&lt;P&gt;receiver_list LIKE soos1 OCCURS 5 WITH HEADER LINE, &lt;/P&gt;&lt;P&gt;packing_list LIKE soxpl OCCURS 2 WITH HEADER LINE, &lt;/P&gt;&lt;P&gt;listobject LIKE abaplist OCCURS 10, &lt;/P&gt;&lt;P&gt;compressed_attachment LIKE soli OCCURS 100 WITH HEADER LINE, &lt;/P&gt;&lt;P&gt;w_object_hd_change LIKE sood1, &lt;/P&gt;&lt;P&gt;compressed_size LIKE sy-index. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT PERNR ENAME &lt;/P&gt;&lt;P&gt;INTO CORRESPONDING FIELDS OF TABLE ITAB &lt;/P&gt;&lt;P&gt;FROM PA0001 &lt;/P&gt;&lt;P&gt;WHERE PERNR &amp;lt; 50. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT ITAB. &lt;/P&gt;&lt;P&gt;WRITE :/02 SY-VLINE , ITAB-PERNR, 15 SY-VLINE , ITAB-ENAME, 50 &lt;/P&gt;&lt;P&gt;SY-VLINE. &lt;/P&gt;&lt;P&gt;ENDLOOP. &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Receivers &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;receiver_list-recextnam = 'EXTERNAL-MAIL-ID@YAHOO.COM'. "--&amp;gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EMAIL ADDRESS &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;RECEIVER_list-RECESC = 'E'. "&amp;lt;- &lt;/P&gt;&lt;P&gt;RECEIVER_list-SNDART = 'INT'."&amp;lt;- &lt;/P&gt;&lt;P&gt;RECEIVER_list-SNDPRI = '1'."&amp;lt;- &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND receiver_list. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;General data &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;w_object_hd_change-objla = sy-langu. &lt;/P&gt;&lt;P&gt;w_object_hd_change-objnam = 'Object name'. &lt;/P&gt;&lt;P&gt;w_object_hd_change-objsns = 'P'. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Mail subject &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;w_object_hd_change-objdes = 'Message subject'. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Mail body &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;APPEND 'Message content' TO message_content. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Attachment &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL FUNCTION 'SAVE_LIST' &lt;/P&gt;&lt;P&gt;EXPORTING &lt;/P&gt;&lt;P&gt;list_index = '0' &lt;/P&gt;&lt;P&gt;TABLES &lt;/P&gt;&lt;P&gt;listobject = listobject. &lt;/P&gt;&lt;P&gt;CALL FUNCTION 'TABLE_COMPRESS' &lt;/P&gt;&lt;P&gt;IMPORTING &lt;/P&gt;&lt;P&gt;compressed_size = compressed_size &lt;/P&gt;&lt;P&gt;TABLES &lt;/P&gt;&lt;P&gt;in = listobject &lt;/P&gt;&lt;P&gt;out = compressed_attachment. &lt;/P&gt;&lt;P&gt;DESCRIBE TABLE compressed_attachment. &lt;/P&gt;&lt;P&gt;CLEAR packing_list. &lt;/P&gt;&lt;P&gt;packing_list-transf_bin = 'X'. &lt;/P&gt;&lt;P&gt;packing_list-head_start = 0. &lt;/P&gt;&lt;P&gt;packing_list-head_num = 0. &lt;/P&gt;&lt;P&gt;packing_list-body_start = 1. &lt;/P&gt;&lt;P&gt;packing_list-body_num = sy-tfill. &lt;/P&gt;&lt;P&gt;packing_list-objtp = 'ALI'. &lt;/P&gt;&lt;P&gt;packing_list-objnam = 'Object name'. &lt;/P&gt;&lt;P&gt;packing_list-objdes = 'Attachment description'. &lt;/P&gt;&lt;P&gt;packing_list-objlen = compressed_size. &lt;/P&gt;&lt;P&gt;APPEND packing_list. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;CALL FUNCTION 'SO_OBJECT_SEND'&lt;/STRONG&gt; &lt;/P&gt;&lt;P&gt;EXPORTING &lt;/P&gt;&lt;P&gt;object_hd_change = w_object_hd_change &lt;/P&gt;&lt;P&gt;object_type = 'RAW' &lt;/P&gt;&lt;P&gt;owner = sy-uname &lt;/P&gt;&lt;P&gt;TABLES &lt;/P&gt;&lt;P&gt;objcont = message_content &lt;/P&gt;&lt;P&gt;receivers = receiver_list &lt;/P&gt;&lt;P&gt;packing_list = packing_list &lt;/P&gt;&lt;P&gt;att_cont = compressed_attachment. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;Reward if helpful.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thankyou,&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Jan 2008 09:12:54 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/function-module-so-object-send/m-p/3264588#M780119</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-08T09:12:54Z</dc:date>
    </item>
    <item>
      <title>Re: Function Module SO_OBJECT_SEND</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/function-module-so-object-send/m-p/3264589#M780120</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt; Yes.check below code.....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZTSAPMAIL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: X_OBJECT_TYPE LIKE SOOD-OBJTP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF X_OBJECT_HD_CHANGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INCLUDE STRUCTURE SOOD1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: END OF X_OBJECT_HD_CHANGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF X_OBJCONT OCCURS 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INCLUDE STRUCTURE SOLI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: END OF X_OBJCONT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF X_OBJHEAD OCCURS 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INCLUDE STRUCTURE SOLI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: END OF X_OBJHEAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF RAW_HEAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INCLUDE STRUCTURE SORH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: END OF RAW_HEAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF X_RECEIVERS OCCURS 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INCLUDE STRUCTURE SOOS1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: END OF X_RECEIVERS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: RECEIVER LIKE X_RECEIVERS-RECNAM. " Name&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*BUILD MESSAGE HEADER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE 'Sort field goes here' TO X_OBJECT_HD_CHANGE-OBJSRT. " Sort field&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE 'Name of the object goes here' TO X_OBJECT_HD_CHANGE-OBJNAM. " Name&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE 'Document title goes here' TO X_OBJECT_HD_CHANGE-OBJDES. " Title&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE 'F' TO X_OBJECT_HD_CHANGE-OBJSNS. " Functional OBJECT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE 'E' TO X_OBJECT_HD_CHANGE-OBJLA. " Language&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Object type of the new document &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE 'RAW' TO X_OBJECT_TYPE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR X_OBJCONT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE 'Contents of mail' TO X_OBJCONT-LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND X_OBJCONT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR X_OBJCONT-LINE. APPEND X_OBJCONT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE 'More contents' TO X_OBJCONT-LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND X_OBJCONT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE 'Still more contents'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;to x_objcont-line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND X_OBJCONT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE ' ' TO X_OBJCONT-LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND X_OBJCONT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Specific header (Dependent on the object type, here RAW) &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REFRESH X_OBJHEAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DESCRIBE TABLE X_OBJCONT LINES RAW_HEAD-RAWSIZ.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE RAW_HEAD TO X_OBJHEAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND X_OBJHEAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*RECEIVERS table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR X_RECEIVERS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REFRESH X_RECEIVERS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE RECEIVER TO X_RECEIVERS-RECNAM. " Name&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE 'B' TO X_RECEIVERS-RECESC. " Receiver type&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE 'X' TO X_RECEIVERS-SNDCP. " Send as a copy&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE 'X' TO X_RECEIVERS-SNDEX. " EXPRESS DOCUMENT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND X_RECEIVERS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'SO_OBJECT_SEND'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;folder_id = 'OUTBOX' &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;forwarder = x_forwarder &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;object_fl_change = x_object_fl_change &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;OBJECT_HD_CHANGE = X_OBJECT_HD_CHANGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;object_id = x_object_id &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;OBJECT_TYPE = X_OBJECT_TYPE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;OUTBOX_FLAG = 'X'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;OWNER = SY-UNAME&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;store_flag = x_store_flag &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;importing &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;object_id_new = x_object_id_new &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sent_to_all = x_sent_to_all "May need to use &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;OBJCONT = X_OBJCONT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;OBJHEAD = X_OBJHEAD&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;objpara = x_objpara &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;objparb = x_objparb &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RECEIVERS = X_RECEIVERS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Don't forget to reward if useful..&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Jan 2008 09:13:45 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/function-module-so-object-send/m-p/3264589#M780120</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-08T09:13:45Z</dc:date>
    </item>
    <item>
      <title>Re: Function Module SO_OBJECT_SEND</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/function-module-so-object-send/m-p/3264590#M780121</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Use FM SO_NEW_DOCUMENT_SEND_API1, Search in the SDN forum with same FM you will get example code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Satish&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Jan 2008 09:16:14 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/function-module-so-object-send/m-p/3264590#M780121</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-08T09:16:14Z</dc:date>
    </item>
    <item>
      <title>Re: Function Module SO_OBJECT_SEND</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/function-module-so-object-send/m-p/3264591#M780122</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hai ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SAP supplies a function module 'SO_OBJECT_SEND' to allow you send SAPOffice mails from within your ABAP programs. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Just try this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Author: Kevin Wilson&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FUNCTION z_send_email_itab_uname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*"----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;"&lt;/STRONG&gt;"Local interface:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*"  IMPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*"     VALUE(APPLICATION) LIKE  SOOD1-OBJNAM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*"     VALUE(EMAILTITLE) LIKE  SOOD1-OBJDES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*"     VALUE(RECEXTNAM) LIKE  SOOS1-RECEXTNAM OPTIONAL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*"     VALUE(SENDER) LIKE  SOUD-USRNAM DEFAULT SY-UNAME&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*"     VALUE(UNAME) LIKE  SOOS1-RECEXTNAM OPTIONAL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*"  EXPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*"     VALUE(RETURN_CODE) LIKE  SY-SUBRC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*"  TABLES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*"      TEXTTAB STRUCTURE  SOLI&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*"----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  TABLES: pa0105,   "Employee detail for username and email address&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          usr21,    "Login addition address data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          adr6.     "Address table for email addresses&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- local data declaration&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: ohd    LIKE sood1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        oid    LIKE soodk,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        to_all LIKE sonv-flag,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        t_uname LIKE sy-uname,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        okey   LIKE swotobjid-objkey.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: BEGIN OF receivers OCCURS 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          INCLUDE STRUCTURE soos1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: END OF receivers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- fill odh&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ohd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ohd-objla    = sy-langu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ohd-objnam   = application.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ohd-objdes   = emailtitle.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ohd-objpri   = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ohd-objsns   = 'F'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ohd-ownnam   = sy-uname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT uname IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Find personnel number of username&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONDENSE uname NO-GAPS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHILE uname CS ','.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      t_uname = uname+0(sy-fdpos).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ADD 1 TO sy-fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SHIFT uname LEFT BY sy-fdpos PLACES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM find_email_address USING t_uname&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                                 CHANGING recextnam.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDWHILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Do the last record&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF uname &amp;lt;&amp;gt; space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      t_uname = uname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM find_email_address USING t_uname&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                                 CHANGING recextnam.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- send Email&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT recextnam IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONDENSE recextnam NO-GAPS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CHECK recextnam CS '@'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- for every individual recipient send an Email&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;(see OSS message 0120050409/0000362105/1999)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WHILE recextnam CS ','.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM init_rec TABLES receivers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE receivers INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    receivers-recextnam = recextnam+0(sy-fdpos).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ADD 1 TO sy-fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SHIFT recextnam LEFT BY sy-fdpos PLACES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MODIFY receivers INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM so_object_send_rec&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     TABLES texttab receivers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      USING ohd&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            sender.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDWHILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- check last recipient in recipient list&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF recextnam &amp;lt;&amp;gt; space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM init_rec TABLES receivers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE receivers INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    receivers-recextnam = recextnam.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MODIFY receivers INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM so_object_send_rec&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     TABLES texttab receivers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      USING ohd&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            sender.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFUNCTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM SO_OBJECT_SEND_REC                                       *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM  so_object_send_rec&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES  objcont      STRUCTURE soli&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        receivers    STRUCTURE soos1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;USING   object_hd    STRUCTURE sood1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        sender LIKE soud-usrnam.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:   oid     LIKE soodk,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          to_all  LIKE sonv-flag,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          okey    LIKE swotobjid-objkey.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'SO_OBJECT_SEND'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            extern_address             = 'X'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            object_hd_change           = object_hd&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            object_type                = 'RAW'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            outbox_flag                = 'X'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            sender                     = sender&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            object_id_new              = oid&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            sent_to_all                = to_all&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            office_object_key          = okey&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            objcont                    = objcont&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            receivers                  = receivers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            active_user_not_exist      = 1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            communication_failure      = 2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            component_not_available    = 3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            folder_not_exist           = 4&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            folder_no_authorization    = 5&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            forwarder_not_exist        = 6&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            note_not_exist             = 7&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            object_not_exist           = 8&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            object_not_sent            = 9&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            object_no_authorization    = 10&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            object_type_not_exist      = 11&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            operation_no_authorization = 12&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            owner_not_exist            = 13&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            parameter_error            = 14&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            substitute_not_active      = 15&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            substitute_not_defined     = 16&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            system_failure             = 17&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            too_much_receivers         = 18&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            user_not_exist             = 19&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            x_error                    = 20&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            OTHERS                     = 21.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CASE sy-subrc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'Activer user does not exist.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'Communication Failure.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'Component not available.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'Folder does not exist..'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'No authorization for folder.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'Forwarder does not exist.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'Note does not exist.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 8.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'Object does not exist.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 9.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'Object not sent.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'No authorization for object.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 11.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'Object type does not exist.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 12.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'No authorization for operation.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 13.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'Owner does not exist.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 14.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'Parameter Error.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 15.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'Substitute not active.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 16.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'Substitute not defined.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 17.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'System failure.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 18.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'Too many receivers.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 19.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'User does not exist.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'Unknown error ocurred.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 21.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE i999(b1) WITH 'Unknown error ocurred.'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          'Send Mail failed!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      FORM INIT_REC                                                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM init_rec TABLES receivers STRUCTURE soos1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR receivers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH receivers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE sy-datum  TO receivers-rcdat .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE sy-uzeit  TO receivers-rctim.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE '1'       TO receivers-sndpri.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE 'X'       TO receivers-sndex.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE 'U-'      TO receivers-recnam.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE 'U'       TO receivers-recesc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE 'INT'     TO receivers-sndart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE '5'       TO receivers-sortclass.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND receivers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  find_email_address&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Returns the email address for a USERID whether they are an&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      employee or just a user.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_RECEXTNAM  Email address&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_UNAME      USERID&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM find_email_address USING    p_uname&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                        CHANGING p_recextnam LIKE soos1-recextnam.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:   t_pernr LIKE pa0105-pernr,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          t_email LIKE pa0105-usrid_long.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;STEP 1 - Find personnel number for UNAME&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE pernr INTO t_pernr&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    FROM pa0105&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHERE subty = '0001' AND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          endda &amp;gt;= sy-datum AND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          begda &amp;lt;= sy-datum AND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          usrid = p_uname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Employee record found&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;STEP 2 - Find email address for personnel number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE usrid_long INTO t_email&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      FROM pa0105&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHERE pernr = t_pernr AND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            subty = '0022' AND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            endda &amp;gt;= sy-datum AND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            begda &amp;lt;= sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT p_recextnam IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CONCATENATE p_recextnam t_email&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          INTO p_recextnam SEPARATED BY ','.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        p_recextnam = t_email.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.  "Never found an email address for employee&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;WHO SHOULD WE SEND TO HERE??? ***&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Employee number not found. Search in ADR6 table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;See if user name is in the username table.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;i.e. The user is not an employee&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE addrnumber persnumber&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      INTO (usr21-addrnumber, usr21-persnumber)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      FROM usr21&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHERE bname = p_uname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Found user name now let's get the email address&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT SINGLE smtp_addr INTO t_email&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        FROM adr6&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        WHERE addrnumber = usr21-addrnumber AND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              persnumber = usr21-persnumber.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc &amp;lt;&amp;gt; 0 OR t_email IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;WHO SHOULD WE SEND TO HERE??? ***&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.  "Found email&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF NOT p_recextnam IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CONCATENATE p_recextnam t_email&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            INTO p_recextnam SEPARATED BY ','.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          p_recextnam = t_email.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.   "UNAME just does not have an email address addigned at all&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;WHO SHOULD WE SEND TO HERE??? ***&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " find_email_address&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;&lt;P&gt;Sowjanya.B.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Jan 2008 09:23:28 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/function-module-so-object-send/m-p/3264591#M780122</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-08T09:23:28Z</dc:date>
    </item>
    <item>
      <title>Re: Function Module SO_OBJECT_SEND</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/function-module-so-object-send/m-p/3264592#M780123</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi&lt;/P&gt;&lt;P&gt;good&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;go through these links,which will give you clear idea about &lt;/P&gt;&lt;P&gt;'SO_OBJECT_SEND'&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.thespot4sap.com/Articles/SAP_Mail_SO_Object_Send.asp" target="test_blank"&gt;http://www.thespot4sap.com/Articles/SAP_Mail_SO_Object_Send.asp&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/fu016.htm" target="test_blank"&gt;http://www.sap-img.com/fu016.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks&lt;/P&gt;&lt;P&gt;mrutyun^&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Jan 2008 09:27:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/function-module-so-object-send/m-p/3264592#M780123</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-08T09:27:34Z</dc:date>
    </item>
  </channel>
</rss>

