<?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: e-mail sending using internal table in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/e-mail-sending-using-internal-table/m-p/1424167#M203364</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi kishore,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;check this code...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables: mara, makt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: objpack like sopcklsti1 occurs 2 with header line.&lt;/P&gt;&lt;P&gt;data: objhead like solisti1 occurs 1 with header line.&lt;/P&gt;&lt;P&gt;data: objbin like solisti1 occurs 10 with header line.&lt;/P&gt;&lt;P&gt;data: objtxt like solisti1 occurs 10 with header line.&lt;/P&gt;&lt;P&gt;*DATA: RECLIST LIKE SOMLRECI1 OCCURS 5 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;data: doc_chng like sodocchgi1.&lt;/P&gt;&lt;P&gt;data: tab_lines like sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*creation of document to be sent.&lt;/P&gt;&lt;P&gt;doc_chng-obj_name = 'Mailing List'.&lt;/P&gt;&lt;P&gt;doc_chng-obj_descr = 'Materials report'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*type declarations&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*To store material data&lt;/P&gt;&lt;P&gt;types: begin of t_mara,&lt;/P&gt;&lt;P&gt;        matnr type mara-matnr,&lt;/P&gt;&lt;P&gt;        pstat type mara-pstat,&lt;/P&gt;&lt;P&gt;        mtart type mara-mtart,&lt;/P&gt;&lt;P&gt;        mbrsh type mara-mbrsh,&lt;/P&gt;&lt;P&gt;        meins type mara-meins,&lt;/P&gt;&lt;P&gt;      end of t_mara.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--To store Material Description&lt;/P&gt;&lt;P&gt;types: begin of t_makt,&lt;/P&gt;&lt;P&gt;         matnr type makt-matnr,            " Material Number&lt;/P&gt;&lt;P&gt;         maktx type makt-maktx,            " Material Description&lt;/P&gt;&lt;P&gt;       end of t_makt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;types: begin of t_final,&lt;/P&gt;&lt;P&gt;        matnr type mara-matnr,&lt;/P&gt;&lt;P&gt;        maktx type makt-maktx,&lt;/P&gt;&lt;P&gt;        pstat type mara-pstat,&lt;/P&gt;&lt;P&gt;        mtart type mara-mtart,&lt;/P&gt;&lt;P&gt;        mbrsh type mara-mbrsh,&lt;/P&gt;&lt;P&gt;        meins type mara-meins,&lt;/P&gt;&lt;P&gt;       end of t_final.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Internal table declarations.&lt;/P&gt;&lt;P&gt;*--Internal Table to store Material Description&lt;/P&gt;&lt;P&gt;data: it_makt type standard table of t_makt,&lt;/P&gt;&lt;P&gt;*--Internal Table to store Material details&lt;/P&gt;&lt;P&gt;      it_mara type standard table of t_mara,&lt;/P&gt;&lt;P&gt;      it_objtxt type standard table of solisti1 ,    "object text&lt;/P&gt;&lt;P&gt;      it_objpack type standard table of sopcklsti1 ,&lt;/P&gt;&lt;P&gt;                                               " attachment table&lt;/P&gt;&lt;P&gt;      it_objbin type standard table of solisti1  ,&lt;/P&gt;&lt;P&gt;                                               " binary table&lt;/P&gt;&lt;P&gt;      it_objhead type standard table of solisti1  ,&lt;/P&gt;&lt;P&gt;                                               " object header table&lt;/P&gt;&lt;P&gt;*--Internal Table to hold Final records to download/display&lt;/P&gt;&lt;P&gt;      it_final type standard table of t_final.&lt;/P&gt;&lt;P&gt;data: it_reclist type standard table of somlreci1. "Workarea for internal table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data:  x_makt  type t_makt,         "Work area for IT_MAKT&lt;/P&gt;&lt;P&gt;       x_mara  type t_mara,         "Work area for IT_MARA&lt;/P&gt;&lt;P&gt;       x_final type t_final,       "Work area for IT_FINAL&lt;/P&gt;&lt;P&gt;       v_text(255) type c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Work area for all the internal tables used&lt;/P&gt;&lt;P&gt;data :    wa_objpack type sopcklsti1,&lt;/P&gt;&lt;P&gt;          wa_objhead type solisti1  ,&lt;/P&gt;&lt;P&gt;          wa_objbin type solisti1   ,&lt;/P&gt;&lt;P&gt;          wa_objtxt type solisti1   ,&lt;/P&gt;&lt;P&gt;          wa_reclist type somlreci1 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;constants: c_tab  type c value cl_abap_char_utilities=&amp;gt;horizontal_tab.&lt;/P&gt;&lt;P&gt;*selection screen.&lt;/P&gt;&lt;P&gt;selection-screen: begin of block b1 with frame title text-001.&lt;/P&gt;&lt;P&gt;select-options: s_matnr for mara-matnr.&lt;/P&gt;&lt;P&gt;selection-screen: end of block b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*at selection screen.&lt;/P&gt;&lt;P&gt;*AT SELECTION-SCREEN.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM VALIDATE_SCREEN.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*start of selection.&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;  perform get_mara_details.&lt;/P&gt;&lt;P&gt;  perform get_makt_details.&lt;/P&gt;&lt;P&gt;  perform final_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*end of selection&lt;/P&gt;&lt;P&gt;end-of-selection.&lt;/P&gt;&lt;P&gt;  perform send_mail_data.&lt;/P&gt;&lt;P&gt;  perform display_data.&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;*&amp;amp;      Form  validate_screen&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;*FORM VALIDATE_SCREEN .&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: LV_MATNR TYPE MARA-MATNR.&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; IF NOT S_MATNR[] IS INITIAL.&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;   SELECT MATNR INTO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         LV_MATNR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         UP TO 1 ROWS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         FROM MARA&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         WHERE MATNR IN S_MATNR.&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;   ENDSELECT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MESSAGE E000 WITH 'Invalid material'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*ENDFORM.                    " validate_screen&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;*&amp;amp;      Form  get_mara_details&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;form get_mara_details .&lt;/P&gt;&lt;P&gt;  select matnr&lt;/P&gt;&lt;P&gt;         pstat&lt;/P&gt;&lt;P&gt;         mtart&lt;/P&gt;&lt;P&gt;         mbrsh&lt;/P&gt;&lt;P&gt;         meins&lt;/P&gt;&lt;P&gt;         into table it_mara&lt;/P&gt;&lt;P&gt;         from&lt;/P&gt;&lt;P&gt;         mara where&lt;/P&gt;&lt;P&gt;          matnr in s_matnr.&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;    message i000 with 'No doc found'.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  sort it_mara by matnr.&lt;/P&gt;&lt;P&gt;  delete adjacent duplicates from it_mara comparing matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " get_mara_details&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;*&amp;amp;      Form  get_makt_details&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;form get_makt_details .&lt;/P&gt;&lt;P&gt;  select matnr&lt;/P&gt;&lt;P&gt;         maktx&lt;/P&gt;&lt;P&gt;       from makt&lt;/P&gt;&lt;P&gt;       into table it_makt&lt;/P&gt;&lt;P&gt;       for all entries in it_mara&lt;/P&gt;&lt;P&gt;       where matnr = it_mara-matnr and&lt;/P&gt;&lt;P&gt;             spras = sy-langu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " get_makt_details&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;*&amp;amp;      Form  final_data&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;form final_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at it_mara into x_mara.&lt;/P&gt;&lt;P&gt;    clear x_final.&lt;/P&gt;&lt;P&gt;    read table it_makt into x_makt with key matnr = x_mara-matnr.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      x_final-maktx = x_makt-maktx.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    x_final-matnr = x_mara-matnr.&lt;/P&gt;&lt;P&gt;    x_final-pstat = x_mara-pstat.&lt;/P&gt;&lt;P&gt;    x_final-mtart = x_mara-mtart.&lt;/P&gt;&lt;P&gt;    x_final-mbrsh = x_mara-mbrsh.&lt;/P&gt;&lt;P&gt;    x_final-meins = x_mara-meins.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    append x_final to it_final.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " final_data&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;*&amp;amp;      Form  send_mail_data&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;form send_mail_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_reclist-rec_type = 'B'.&lt;/P&gt;&lt;P&gt;  wa_reclist-express  = 'X'.&lt;/P&gt;&lt;P&gt;  wa_reclist-receiver = 'DEV02'.&lt;/P&gt;&lt;P&gt;  append wa_reclist to it_reclist.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  concatenate 'MATERIAL DATA'(021)&lt;/P&gt;&lt;P&gt;             sy-datum into doc_chng-obj_descr separated by space.&lt;/P&gt;&lt;P&gt;*--Mail body&lt;/P&gt;&lt;P&gt;  concatenate 'MATERIAL DESCRIPTION'(022) 'ATTACHMENT' into wa_objtxt sePARATED BY SPACE.&lt;/P&gt;&lt;P&gt;  append wa_objtxt to it_objtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  describe table it_objtxt lines tab_lines.&lt;/P&gt;&lt;P&gt;  read table it_objtxt into wa_objtxt index tab_lines .&lt;/P&gt;&lt;P&gt;  doc_chng-doc_size =&lt;/P&gt;&lt;P&gt;                 ( tab_lines - 1 ) * 255 + strlen( wa_objtxt ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-populate packing list for body text&lt;/P&gt;&lt;P&gt;  wa_objpack-head_start = 1.&lt;/P&gt;&lt;P&gt;  wa_objpack-head_num = 0.&lt;/P&gt;&lt;P&gt;  wa_objpack-body_start = 1.&lt;/P&gt;&lt;P&gt;  wa_objpack-body_num = tab_lines.&lt;/P&gt;&lt;P&gt;  wa_objpack-doc_type = 'RAW'.&lt;/P&gt;&lt;P&gt;  append wa_objpack to it_objpack.&lt;/P&gt;&lt;P&gt;  clear wa_objpack.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--for attachment&lt;/P&gt;&lt;P&gt;*--Populate Column headings&lt;/P&gt;&lt;P&gt;  concatenate text-040   " Material Number&lt;/P&gt;&lt;P&gt;              text-041   " Material Description&lt;/P&gt;&lt;P&gt;              text-042   " Maintenence status&lt;/P&gt;&lt;P&gt;              text-043   " Material type&lt;/P&gt;&lt;P&gt;              text-044   " Industry sector&lt;/P&gt;&lt;P&gt;              text-045   " Base unit of measure&lt;/P&gt;&lt;P&gt;              into v_text separated by c_tab.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CONCATENATE V_TEXT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             C_CR_LF&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             INTO V_TEXT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_objbin = v_text.&lt;/P&gt;&lt;P&gt;  append wa_objbin to it_objbin.&lt;/P&gt;&lt;P&gt;  clear  wa_objbin.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Populate Data to the attachment&lt;/P&gt;&lt;P&gt;  loop at it_final into x_final.&lt;/P&gt;&lt;P&gt;    concatenate x_final-matnr&lt;/P&gt;&lt;P&gt;                x_final-maktx&lt;/P&gt;&lt;P&gt;                x_final-pstat&lt;/P&gt;&lt;P&gt;                x_final-mtart&lt;/P&gt;&lt;P&gt;                x_final-mbrsh&lt;/P&gt;&lt;P&gt;                x_final-meins&lt;/P&gt;&lt;P&gt;               into v_text separated by c_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Go to next line after this record.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONCATENATE V_TEXT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               C_CR_LF&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               INTO V_TEXT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    wa_objbin = v_text.&lt;/P&gt;&lt;P&gt;    append wa_objbin to it_objbin.&lt;/P&gt;&lt;P&gt;    clear  wa_objbin.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR : TAB_LINES.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  describe table it_objbin lines tab_lines.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*1ST ATTACHMENT :  MAT 5000 PLANT&lt;/P&gt;&lt;P&gt;*2ND ATT        : MAT 5010 PLANTS&lt;/P&gt;&lt;P&gt;  sort it_final by meins.&lt;/P&gt;&lt;P&gt;  data : v_begin type sy-tabix,&lt;/P&gt;&lt;P&gt;         v_end   type sy-tabix.&lt;/P&gt;&lt;P&gt;  loop at it_final into x_final.&lt;/P&gt;&lt;P&gt;    at end of meins.&lt;/P&gt;&lt;P&gt;      if v_begin is initial.&lt;/P&gt;&lt;P&gt;        v_begin = 1.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        v_begin = v_end + 1.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      v_end = sy-tabix.&lt;/P&gt;&lt;P&gt;      wa_objpack-transf_bin = 'X'.&lt;/P&gt;&lt;P&gt;      wa_objpack-head_start = 1.&lt;/P&gt;&lt;P&gt;      wa_objpack-head_num = 1.&lt;/P&gt;&lt;P&gt;      wa_objpack-body_start = v_begin.&lt;/P&gt;&lt;P&gt;      wa_objpack-body_num = v_end.&lt;/P&gt;&lt;P&gt;      wa_objpack-doc_type = 'RAW' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      wa_objpack-obj_name = 'MATERIAL'.&lt;/P&gt;&lt;P&gt;      wa_objpack-obj_descr = 'attachment'.&lt;/P&gt;&lt;P&gt;      wa_objpack-doc_size = tab_lines * 255.&lt;/P&gt;&lt;P&gt;      append wa_objpack to it_objpack.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endat.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-populate object header(attachment name)&lt;/P&gt;&lt;P&gt;  wa_objhead = 'MATERIAL DETAILS'.&lt;/P&gt;&lt;P&gt;  append wa_objhead to it_objhead.&lt;/P&gt;&lt;P&gt;  clear  wa_objhead.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-packing list for attachment&lt;/P&gt;&lt;P&gt;  wa_objpack-transf_bin = 'X'.&lt;/P&gt;&lt;P&gt;  wa_objpack-head_start = 1.&lt;/P&gt;&lt;P&gt;  wa_objpack-head_num = 1.&lt;/P&gt;&lt;P&gt;  wa_objpack-body_start = 1.&lt;/P&gt;&lt;P&gt;  wa_objpack-body_num = tab_lines .&lt;/P&gt;&lt;P&gt;  wa_objpack-doc_type = 'RAW' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_objpack-obj_name = 'MATERIAL'.&lt;/P&gt;&lt;P&gt;  wa_objpack-obj_descr = 'ATTACHMENT DESCRIPTION'.&lt;/P&gt;&lt;P&gt;  wa_objpack-doc_size = tab_lines * 255.&lt;/P&gt;&lt;P&gt;  append wa_objpack to it_objpack.&lt;/P&gt;&lt;P&gt;  clear  wa_objpack.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-Sending the document&lt;/P&gt;&lt;P&gt;  call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;      document_data              = doc_chng&lt;/P&gt;&lt;P&gt;      put_in_outbox              = 'X'&lt;/P&gt;&lt;P&gt;      commit_work                = 'X'&lt;/P&gt;&lt;P&gt;    tables&lt;/P&gt;&lt;P&gt;      packing_list               = it_objpack&lt;/P&gt;&lt;P&gt;      object_header              = it_objhead&lt;/P&gt;&lt;P&gt;      contents_bin               = it_objbin&lt;/P&gt;&lt;P&gt;      contents_txt               = it_objtxt&lt;/P&gt;&lt;P&gt;      receivers                  = it_reclist&lt;/P&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;      too_many_receivers         = 1&lt;/P&gt;&lt;P&gt;      document_not_sent          = 2&lt;/P&gt;&lt;P&gt;      document_type_not_exist    = 3&lt;/P&gt;&lt;P&gt;      operation_no_authorization = 4&lt;/P&gt;&lt;P&gt;      parameter_error            = 5&lt;/P&gt;&lt;P&gt;      x_error                    = 6&lt;/P&gt;&lt;P&gt;      enqueue_error              = 7&lt;/P&gt;&lt;P&gt;      others                     = 8.&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;    message e000 with 'Error occurred in sending mail'(039).&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    message i000 with 'Mail sent'(010).&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " send_mail_data&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;*&amp;amp;      Form  DISPLAY_DATA&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;form display_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write:/1 sy-vline,&lt;/P&gt;&lt;P&gt;          2 'Material No'(024),&lt;/P&gt;&lt;P&gt;         19 sy-vline,&lt;/P&gt;&lt;P&gt;         20 'Material Description'(025),&lt;/P&gt;&lt;P&gt;         61 sy-vline,&lt;/P&gt;&lt;P&gt;         62 'Maintainence Status'(026),&lt;/P&gt;&lt;P&gt;         71 sy-vline,&lt;/P&gt;&lt;P&gt;         72 'Material type'(027),&lt;/P&gt;&lt;P&gt;         89 sy-vline,&lt;/P&gt;&lt;P&gt;         90 'Industry sector'(028),&lt;/P&gt;&lt;P&gt;         107 sy-vline,&lt;/P&gt;&lt;P&gt;         108 'Base unit of measure'(029),&lt;/P&gt;&lt;P&gt;         125 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write:/1 sy-vline,&lt;/P&gt;&lt;P&gt;         19 sy-vline,&lt;/P&gt;&lt;P&gt;         61 sy-vline,&lt;/P&gt;&lt;P&gt;         71 sy-vline,&lt;/P&gt;&lt;P&gt;         89 sy-vline,&lt;/P&gt;&lt;P&gt;         107 sy-vline,&lt;/P&gt;&lt;P&gt;         125 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; sy-uline.&lt;/P&gt;&lt;P&gt;endform.                    " DISPLAY_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;hope this helps,&lt;/P&gt;&lt;P&gt;do reward if it helps,&lt;/P&gt;&lt;P&gt;priya.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 14 Jun 2006 19:13:34 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-06-14T19:13:34Z</dc:date>
    <item>
      <title>e-mail sending using internal table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/e-mail-sending-using-internal-table/m-p/1424165#M203362</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   we have a requirement to send an e-mail to the external system.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   the content of the e-mail has to be filled with the entries of an Internal table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; how do we do this ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in Advance,&lt;/P&gt;&lt;P&gt;Kishore Kumar Yerra.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 Jun 2006 19:08:06 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/e-mail-sending-using-internal-table/m-p/1424165#M203362</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-14T19:08:06Z</dc:date>
    </item>
    <item>
      <title>Re: e-mail sending using internal table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/e-mail-sending-using-internal-table/m-p/1424166#M203363</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi Kishore,&lt;/P&gt;&lt;P&gt; Have a look at this program&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapdevelopment.co.uk/reporting/email/email_mbody.htm" target="test_blank"&gt;http://www.sapdevelopment.co.uk/reporting/email/email_mbody.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;santosh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 Jun 2006 19:10:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/e-mail-sending-using-internal-table/m-p/1424166#M203363</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-14T19:10:51Z</dc:date>
    </item>
    <item>
      <title>Re: e-mail sending using internal table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/e-mail-sending-using-internal-table/m-p/1424167#M203364</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi kishore,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;check this code...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables: mara, makt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: objpack like sopcklsti1 occurs 2 with header line.&lt;/P&gt;&lt;P&gt;data: objhead like solisti1 occurs 1 with header line.&lt;/P&gt;&lt;P&gt;data: objbin like solisti1 occurs 10 with header line.&lt;/P&gt;&lt;P&gt;data: objtxt like solisti1 occurs 10 with header line.&lt;/P&gt;&lt;P&gt;*DATA: RECLIST LIKE SOMLRECI1 OCCURS 5 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;data: doc_chng like sodocchgi1.&lt;/P&gt;&lt;P&gt;data: tab_lines like sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*creation of document to be sent.&lt;/P&gt;&lt;P&gt;doc_chng-obj_name = 'Mailing List'.&lt;/P&gt;&lt;P&gt;doc_chng-obj_descr = 'Materials report'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*type declarations&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*To store material data&lt;/P&gt;&lt;P&gt;types: begin of t_mara,&lt;/P&gt;&lt;P&gt;        matnr type mara-matnr,&lt;/P&gt;&lt;P&gt;        pstat type mara-pstat,&lt;/P&gt;&lt;P&gt;        mtart type mara-mtart,&lt;/P&gt;&lt;P&gt;        mbrsh type mara-mbrsh,&lt;/P&gt;&lt;P&gt;        meins type mara-meins,&lt;/P&gt;&lt;P&gt;      end of t_mara.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--To store Material Description&lt;/P&gt;&lt;P&gt;types: begin of t_makt,&lt;/P&gt;&lt;P&gt;         matnr type makt-matnr,            " Material Number&lt;/P&gt;&lt;P&gt;         maktx type makt-maktx,            " Material Description&lt;/P&gt;&lt;P&gt;       end of t_makt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;types: begin of t_final,&lt;/P&gt;&lt;P&gt;        matnr type mara-matnr,&lt;/P&gt;&lt;P&gt;        maktx type makt-maktx,&lt;/P&gt;&lt;P&gt;        pstat type mara-pstat,&lt;/P&gt;&lt;P&gt;        mtart type mara-mtart,&lt;/P&gt;&lt;P&gt;        mbrsh type mara-mbrsh,&lt;/P&gt;&lt;P&gt;        meins type mara-meins,&lt;/P&gt;&lt;P&gt;       end of t_final.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Internal table declarations.&lt;/P&gt;&lt;P&gt;*--Internal Table to store Material Description&lt;/P&gt;&lt;P&gt;data: it_makt type standard table of t_makt,&lt;/P&gt;&lt;P&gt;*--Internal Table to store Material details&lt;/P&gt;&lt;P&gt;      it_mara type standard table of t_mara,&lt;/P&gt;&lt;P&gt;      it_objtxt type standard table of solisti1 ,    "object text&lt;/P&gt;&lt;P&gt;      it_objpack type standard table of sopcklsti1 ,&lt;/P&gt;&lt;P&gt;                                               " attachment table&lt;/P&gt;&lt;P&gt;      it_objbin type standard table of solisti1  ,&lt;/P&gt;&lt;P&gt;                                               " binary table&lt;/P&gt;&lt;P&gt;      it_objhead type standard table of solisti1  ,&lt;/P&gt;&lt;P&gt;                                               " object header table&lt;/P&gt;&lt;P&gt;*--Internal Table to hold Final records to download/display&lt;/P&gt;&lt;P&gt;      it_final type standard table of t_final.&lt;/P&gt;&lt;P&gt;data: it_reclist type standard table of somlreci1. "Workarea for internal table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data:  x_makt  type t_makt,         "Work area for IT_MAKT&lt;/P&gt;&lt;P&gt;       x_mara  type t_mara,         "Work area for IT_MARA&lt;/P&gt;&lt;P&gt;       x_final type t_final,       "Work area for IT_FINAL&lt;/P&gt;&lt;P&gt;       v_text(255) type c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Work area for all the internal tables used&lt;/P&gt;&lt;P&gt;data :    wa_objpack type sopcklsti1,&lt;/P&gt;&lt;P&gt;          wa_objhead type solisti1  ,&lt;/P&gt;&lt;P&gt;          wa_objbin type solisti1   ,&lt;/P&gt;&lt;P&gt;          wa_objtxt type solisti1   ,&lt;/P&gt;&lt;P&gt;          wa_reclist type somlreci1 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;constants: c_tab  type c value cl_abap_char_utilities=&amp;gt;horizontal_tab.&lt;/P&gt;&lt;P&gt;*selection screen.&lt;/P&gt;&lt;P&gt;selection-screen: begin of block b1 with frame title text-001.&lt;/P&gt;&lt;P&gt;select-options: s_matnr for mara-matnr.&lt;/P&gt;&lt;P&gt;selection-screen: end of block b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*at selection screen.&lt;/P&gt;&lt;P&gt;*AT SELECTION-SCREEN.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM VALIDATE_SCREEN.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*start of selection.&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;  perform get_mara_details.&lt;/P&gt;&lt;P&gt;  perform get_makt_details.&lt;/P&gt;&lt;P&gt;  perform final_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*end of selection&lt;/P&gt;&lt;P&gt;end-of-selection.&lt;/P&gt;&lt;P&gt;  perform send_mail_data.&lt;/P&gt;&lt;P&gt;  perform display_data.&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;*&amp;amp;      Form  validate_screen&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;*FORM VALIDATE_SCREEN .&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: LV_MATNR TYPE MARA-MATNR.&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; IF NOT S_MATNR[] IS INITIAL.&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;   SELECT MATNR INTO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         LV_MATNR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         UP TO 1 ROWS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         FROM MARA&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         WHERE MATNR IN S_MATNR.&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;   ENDSELECT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MESSAGE E000 WITH 'Invalid material'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*ENDFORM.                    " validate_screen&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;*&amp;amp;      Form  get_mara_details&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;form get_mara_details .&lt;/P&gt;&lt;P&gt;  select matnr&lt;/P&gt;&lt;P&gt;         pstat&lt;/P&gt;&lt;P&gt;         mtart&lt;/P&gt;&lt;P&gt;         mbrsh&lt;/P&gt;&lt;P&gt;         meins&lt;/P&gt;&lt;P&gt;         into table it_mara&lt;/P&gt;&lt;P&gt;         from&lt;/P&gt;&lt;P&gt;         mara where&lt;/P&gt;&lt;P&gt;          matnr in s_matnr.&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;    message i000 with 'No doc found'.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  sort it_mara by matnr.&lt;/P&gt;&lt;P&gt;  delete adjacent duplicates from it_mara comparing matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " get_mara_details&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;*&amp;amp;      Form  get_makt_details&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;form get_makt_details .&lt;/P&gt;&lt;P&gt;  select matnr&lt;/P&gt;&lt;P&gt;         maktx&lt;/P&gt;&lt;P&gt;       from makt&lt;/P&gt;&lt;P&gt;       into table it_makt&lt;/P&gt;&lt;P&gt;       for all entries in it_mara&lt;/P&gt;&lt;P&gt;       where matnr = it_mara-matnr and&lt;/P&gt;&lt;P&gt;             spras = sy-langu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " get_makt_details&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;*&amp;amp;      Form  final_data&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;form final_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at it_mara into x_mara.&lt;/P&gt;&lt;P&gt;    clear x_final.&lt;/P&gt;&lt;P&gt;    read table it_makt into x_makt with key matnr = x_mara-matnr.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      x_final-maktx = x_makt-maktx.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    x_final-matnr = x_mara-matnr.&lt;/P&gt;&lt;P&gt;    x_final-pstat = x_mara-pstat.&lt;/P&gt;&lt;P&gt;    x_final-mtart = x_mara-mtart.&lt;/P&gt;&lt;P&gt;    x_final-mbrsh = x_mara-mbrsh.&lt;/P&gt;&lt;P&gt;    x_final-meins = x_mara-meins.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    append x_final to it_final.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " final_data&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;*&amp;amp;      Form  send_mail_data&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;form send_mail_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_reclist-rec_type = 'B'.&lt;/P&gt;&lt;P&gt;  wa_reclist-express  = 'X'.&lt;/P&gt;&lt;P&gt;  wa_reclist-receiver = 'DEV02'.&lt;/P&gt;&lt;P&gt;  append wa_reclist to it_reclist.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  concatenate 'MATERIAL DATA'(021)&lt;/P&gt;&lt;P&gt;             sy-datum into doc_chng-obj_descr separated by space.&lt;/P&gt;&lt;P&gt;*--Mail body&lt;/P&gt;&lt;P&gt;  concatenate 'MATERIAL DESCRIPTION'(022) 'ATTACHMENT' into wa_objtxt sePARATED BY SPACE.&lt;/P&gt;&lt;P&gt;  append wa_objtxt to it_objtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  describe table it_objtxt lines tab_lines.&lt;/P&gt;&lt;P&gt;  read table it_objtxt into wa_objtxt index tab_lines .&lt;/P&gt;&lt;P&gt;  doc_chng-doc_size =&lt;/P&gt;&lt;P&gt;                 ( tab_lines - 1 ) * 255 + strlen( wa_objtxt ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-populate packing list for body text&lt;/P&gt;&lt;P&gt;  wa_objpack-head_start = 1.&lt;/P&gt;&lt;P&gt;  wa_objpack-head_num = 0.&lt;/P&gt;&lt;P&gt;  wa_objpack-body_start = 1.&lt;/P&gt;&lt;P&gt;  wa_objpack-body_num = tab_lines.&lt;/P&gt;&lt;P&gt;  wa_objpack-doc_type = 'RAW'.&lt;/P&gt;&lt;P&gt;  append wa_objpack to it_objpack.&lt;/P&gt;&lt;P&gt;  clear wa_objpack.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--for attachment&lt;/P&gt;&lt;P&gt;*--Populate Column headings&lt;/P&gt;&lt;P&gt;  concatenate text-040   " Material Number&lt;/P&gt;&lt;P&gt;              text-041   " Material Description&lt;/P&gt;&lt;P&gt;              text-042   " Maintenence status&lt;/P&gt;&lt;P&gt;              text-043   " Material type&lt;/P&gt;&lt;P&gt;              text-044   " Industry sector&lt;/P&gt;&lt;P&gt;              text-045   " Base unit of measure&lt;/P&gt;&lt;P&gt;              into v_text separated by c_tab.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CONCATENATE V_TEXT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             C_CR_LF&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             INTO V_TEXT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_objbin = v_text.&lt;/P&gt;&lt;P&gt;  append wa_objbin to it_objbin.&lt;/P&gt;&lt;P&gt;  clear  wa_objbin.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Populate Data to the attachment&lt;/P&gt;&lt;P&gt;  loop at it_final into x_final.&lt;/P&gt;&lt;P&gt;    concatenate x_final-matnr&lt;/P&gt;&lt;P&gt;                x_final-maktx&lt;/P&gt;&lt;P&gt;                x_final-pstat&lt;/P&gt;&lt;P&gt;                x_final-mtart&lt;/P&gt;&lt;P&gt;                x_final-mbrsh&lt;/P&gt;&lt;P&gt;                x_final-meins&lt;/P&gt;&lt;P&gt;               into v_text separated by c_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Go to next line after this record.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONCATENATE V_TEXT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               C_CR_LF&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               INTO V_TEXT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    wa_objbin = v_text.&lt;/P&gt;&lt;P&gt;    append wa_objbin to it_objbin.&lt;/P&gt;&lt;P&gt;    clear  wa_objbin.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR : TAB_LINES.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  describe table it_objbin lines tab_lines.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*1ST ATTACHMENT :  MAT 5000 PLANT&lt;/P&gt;&lt;P&gt;*2ND ATT        : MAT 5010 PLANTS&lt;/P&gt;&lt;P&gt;  sort it_final by meins.&lt;/P&gt;&lt;P&gt;  data : v_begin type sy-tabix,&lt;/P&gt;&lt;P&gt;         v_end   type sy-tabix.&lt;/P&gt;&lt;P&gt;  loop at it_final into x_final.&lt;/P&gt;&lt;P&gt;    at end of meins.&lt;/P&gt;&lt;P&gt;      if v_begin is initial.&lt;/P&gt;&lt;P&gt;        v_begin = 1.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        v_begin = v_end + 1.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      v_end = sy-tabix.&lt;/P&gt;&lt;P&gt;      wa_objpack-transf_bin = 'X'.&lt;/P&gt;&lt;P&gt;      wa_objpack-head_start = 1.&lt;/P&gt;&lt;P&gt;      wa_objpack-head_num = 1.&lt;/P&gt;&lt;P&gt;      wa_objpack-body_start = v_begin.&lt;/P&gt;&lt;P&gt;      wa_objpack-body_num = v_end.&lt;/P&gt;&lt;P&gt;      wa_objpack-doc_type = 'RAW' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      wa_objpack-obj_name = 'MATERIAL'.&lt;/P&gt;&lt;P&gt;      wa_objpack-obj_descr = 'attachment'.&lt;/P&gt;&lt;P&gt;      wa_objpack-doc_size = tab_lines * 255.&lt;/P&gt;&lt;P&gt;      append wa_objpack to it_objpack.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endat.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-populate object header(attachment name)&lt;/P&gt;&lt;P&gt;  wa_objhead = 'MATERIAL DETAILS'.&lt;/P&gt;&lt;P&gt;  append wa_objhead to it_objhead.&lt;/P&gt;&lt;P&gt;  clear  wa_objhead.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-packing list for attachment&lt;/P&gt;&lt;P&gt;  wa_objpack-transf_bin = 'X'.&lt;/P&gt;&lt;P&gt;  wa_objpack-head_start = 1.&lt;/P&gt;&lt;P&gt;  wa_objpack-head_num = 1.&lt;/P&gt;&lt;P&gt;  wa_objpack-body_start = 1.&lt;/P&gt;&lt;P&gt;  wa_objpack-body_num = tab_lines .&lt;/P&gt;&lt;P&gt;  wa_objpack-doc_type = 'RAW' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_objpack-obj_name = 'MATERIAL'.&lt;/P&gt;&lt;P&gt;  wa_objpack-obj_descr = 'ATTACHMENT DESCRIPTION'.&lt;/P&gt;&lt;P&gt;  wa_objpack-doc_size = tab_lines * 255.&lt;/P&gt;&lt;P&gt;  append wa_objpack to it_objpack.&lt;/P&gt;&lt;P&gt;  clear  wa_objpack.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-Sending the document&lt;/P&gt;&lt;P&gt;  call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;      document_data              = doc_chng&lt;/P&gt;&lt;P&gt;      put_in_outbox              = 'X'&lt;/P&gt;&lt;P&gt;      commit_work                = 'X'&lt;/P&gt;&lt;P&gt;    tables&lt;/P&gt;&lt;P&gt;      packing_list               = it_objpack&lt;/P&gt;&lt;P&gt;      object_header              = it_objhead&lt;/P&gt;&lt;P&gt;      contents_bin               = it_objbin&lt;/P&gt;&lt;P&gt;      contents_txt               = it_objtxt&lt;/P&gt;&lt;P&gt;      receivers                  = it_reclist&lt;/P&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;      too_many_receivers         = 1&lt;/P&gt;&lt;P&gt;      document_not_sent          = 2&lt;/P&gt;&lt;P&gt;      document_type_not_exist    = 3&lt;/P&gt;&lt;P&gt;      operation_no_authorization = 4&lt;/P&gt;&lt;P&gt;      parameter_error            = 5&lt;/P&gt;&lt;P&gt;      x_error                    = 6&lt;/P&gt;&lt;P&gt;      enqueue_error              = 7&lt;/P&gt;&lt;P&gt;      others                     = 8.&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;    message e000 with 'Error occurred in sending mail'(039).&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    message i000 with 'Mail sent'(010).&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " send_mail_data&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;*&amp;amp;      Form  DISPLAY_DATA&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;form display_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write:/1 sy-vline,&lt;/P&gt;&lt;P&gt;          2 'Material No'(024),&lt;/P&gt;&lt;P&gt;         19 sy-vline,&lt;/P&gt;&lt;P&gt;         20 'Material Description'(025),&lt;/P&gt;&lt;P&gt;         61 sy-vline,&lt;/P&gt;&lt;P&gt;         62 'Maintainence Status'(026),&lt;/P&gt;&lt;P&gt;         71 sy-vline,&lt;/P&gt;&lt;P&gt;         72 'Material type'(027),&lt;/P&gt;&lt;P&gt;         89 sy-vline,&lt;/P&gt;&lt;P&gt;         90 'Industry sector'(028),&lt;/P&gt;&lt;P&gt;         107 sy-vline,&lt;/P&gt;&lt;P&gt;         108 'Base unit of measure'(029),&lt;/P&gt;&lt;P&gt;         125 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write:/1 sy-vline,&lt;/P&gt;&lt;P&gt;         19 sy-vline,&lt;/P&gt;&lt;P&gt;         61 sy-vline,&lt;/P&gt;&lt;P&gt;         71 sy-vline,&lt;/P&gt;&lt;P&gt;         89 sy-vline,&lt;/P&gt;&lt;P&gt;         107 sy-vline,&lt;/P&gt;&lt;P&gt;         125 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; sy-uline.&lt;/P&gt;&lt;P&gt;endform.                    " DISPLAY_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;hope this helps,&lt;/P&gt;&lt;P&gt;do reward if it helps,&lt;/P&gt;&lt;P&gt;priya.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 Jun 2006 19:13:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/e-mail-sending-using-internal-table/m-p/1424167#M203364</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-14T19:13:34Z</dc:date>
    </item>
    <item>
      <title>Re: e-mail sending using internal table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/e-mail-sending-using-internal-table/m-p/1424168#M203365</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kishore,&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt;.&lt;/P&gt;&lt;P&gt;Have a look at this program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  zvenkat_mail.&lt;/P&gt;&lt;P&gt;TABLES :&lt;/P&gt;&lt;P&gt;   tsp01.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------" /&gt;&lt;P&gt;Itabs and variables .&lt;/P&gt;&lt;P&gt;*Tables&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;   BEGIN OF i_mard OCCURS 0,&lt;/P&gt;&lt;P&gt;     matnr TYPE mard-matnr,&lt;/P&gt;&lt;P&gt;     werks TYPE mard-werks,&lt;/P&gt;&lt;P&gt;     lgort TYPE mard-lgort,&lt;/P&gt;&lt;P&gt;     labst TYPE mard-labst,&lt;/P&gt;&lt;P&gt;     umlme TYPE mard-umlme,&lt;/P&gt;&lt;P&gt;     insme TYPE mard-insme,&lt;/P&gt;&lt;P&gt;     einme TYPE mard-einme,&lt;/P&gt;&lt;P&gt;   END OF i_mard.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA :&lt;/P&gt;&lt;P&gt;   g_sy_spono LIKE sy-spono.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------" /&gt;&lt;P&gt;Mail related Variables and i tabs.&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;   w_subject       LIKE sodocchgi1,&lt;/P&gt;&lt;P&gt;   i_pack_list     LIKE sopcklsti1 OCCURS  1  WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;   i_objhead       LIKE solisti1   OCCURS  1  WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;   i_contents_text LIKE solisti1   OCCURS 10  WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;   i_cont_bin      LIKE solisti1   OCCURS 10  WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;   i_objhex        LIKE solix      OCCURS 10  WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;   i_receiver      LIKE somlreci1  OCCURS  1  WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;   i_listobject    LIKE abaplist   OCCURS  1  WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;   pdf             LIKE tline      OCCURS 100 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;   content_out     LIKE solisti1   OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;   tab_lines       TYPE i,&lt;/P&gt;&lt;P&gt;   doc_size        TYPE i,&lt;/P&gt;&lt;P&gt;   att_type        LIKE soodk-objtp,&lt;/P&gt;&lt;P&gt;   obj_desc        LIKE w_subject-obj_descr,&lt;/P&gt;&lt;P&gt;   sent_to_all     LIKE sonv-flag,&lt;/P&gt;&lt;P&gt;   client          LIKE tst01-dclient,&lt;/P&gt;&lt;P&gt;   name            LIKE tst01-dname,&lt;/P&gt;&lt;P&gt;   objtype         LIKE rststype-type,&lt;/P&gt;&lt;P&gt;   type            LIKE rststype-type,&lt;/P&gt;&lt;P&gt;   is_otf          TYPE c ,&lt;/P&gt;&lt;P&gt;   no_of_bytes     TYPE i,&lt;/P&gt;&lt;P&gt;   pdf_spoolid     LIKE tsp01-rqident,&lt;/P&gt;&lt;P&gt;   jobname         LIKE tbtcjob-jobname,&lt;/P&gt;&lt;P&gt;   jobcount        LIKE tbtcjob-jobcount,&lt;/P&gt;&lt;P&gt;   pn_begda        LIKE sy-datum,&lt;/P&gt;&lt;P&gt;   val(1)          TYPE c,&lt;/P&gt;&lt;P&gt;   pripar          TYPE pri_params,&lt;/P&gt;&lt;P&gt;   arcpar          TYPE arc_params,&lt;/P&gt;&lt;P&gt;   lay             TYPE pri_params-paart,&lt;/P&gt;&lt;P&gt;   lines           TYPE pri_params-linct,&lt;/P&gt;&lt;P&gt;   cols            TYPE pri_params-linsz,&lt;/P&gt;&lt;P&gt;   spool_name      TYPE pri_params-plist.&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;*&amp;amp;      START-OF-SELECTION.&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;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM get_data_from_database.&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;  PERFORM output_for_pdf.&amp;lt;/b&amp;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;*&amp;amp;      END-OF-SELECTION.&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;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;  PERFORM send_mail..&amp;lt;/b&amp;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;*&amp;amp;      Form  get_data_from_database&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;FORM get_data_from_database .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT matnr&lt;/P&gt;&lt;P&gt;         werks&lt;/P&gt;&lt;P&gt;         lgort&lt;/P&gt;&lt;P&gt;         labst&lt;/P&gt;&lt;P&gt;         umlme&lt;/P&gt;&lt;P&gt;         insme&lt;/P&gt;&lt;P&gt;         einme&lt;/P&gt;&lt;P&gt;    FROM mard&lt;/P&gt;&lt;P&gt;    INTO TABLE i_mard&lt;/P&gt;&lt;P&gt;    UP TO 20 ROWS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_data_from_database&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;*&amp;amp;      Form  output_for_pdf&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;FORM output_for_pdf .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM get_print_params.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT i_mard.&lt;/P&gt;&lt;P&gt;    WRITE:/ sy-vline, i_mard-matnr,&lt;/P&gt;&lt;P&gt;            sy-vline, i_mard-werks,&lt;/P&gt;&lt;P&gt;            sy-vline, i_mard-lgort,&lt;/P&gt;&lt;P&gt;            sy-vline, i_mard-labst,&lt;/P&gt;&lt;P&gt;            sy-vline, i_mard-umlme,&lt;/P&gt;&lt;P&gt;            sy-vline, i_mard-insme,&lt;/P&gt;&lt;P&gt;            sy-vline, i_mard-einme,&lt;/P&gt;&lt;P&gt;            sy-vline.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  ULINE .&lt;/P&gt;&lt;P&gt;  g_sy_spono = sy-spono.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  NEW-PAGE PRINT OFF.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'ABAP4_COMMIT_WORK'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " output_for_pdf&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;*&amp;amp;      Form  send_mail&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;FORM send_mail .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;  PERFORM mail_without_attachment.&lt;/P&gt;&lt;P&gt;  PERFORM mail_with_pdf_attachment.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " send_mail&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;*&amp;amp;      Form  mail_without_attachment&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;FORM mail_without_attachment .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR :w_subject,&lt;/P&gt;&lt;P&gt;         sent_to_all,&lt;/P&gt;&lt;P&gt;         i_pack_list[],&lt;/P&gt;&lt;P&gt;         i_objhead[],&lt;/P&gt;&lt;P&gt;         i_cont_bin[],&lt;/P&gt;&lt;P&gt;         i_contents_text[],&lt;/P&gt;&lt;P&gt;         i_receiver[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  i_cont_bin = '  |  '.&lt;/P&gt;&lt;P&gt;  APPEND i_cont_bin.&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;*----&lt;/P&gt;&lt;HR originaltext="---------------" /&gt;&lt;P&gt;Subject of the mail.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  obj_desc  = 'SDN Friends' .&lt;/P&gt;&lt;P&gt;  w_subject-obj_name  = 'MAIL_ALI'.&lt;/P&gt;&lt;P&gt;  w_subject-obj_descr = obj_desc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;*----&lt;/P&gt;&lt;HR originaltext="---------------" /&gt;&lt;P&gt;Body of the mail&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;  DATA :head_desc LIKE i_contents_text,&lt;/P&gt;&lt;P&gt;        body_desc LIKE i_contents_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  i_contents_text = space.&lt;/P&gt;&lt;P&gt;  APPEND i_contents_text.&lt;/P&gt;&lt;P&gt;  CLEAR  i_contents_text.&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt; This is the place where u have to loop ur internal table and fill this table if u want email without Attachment &amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE&lt;/P&gt;&lt;P&gt;  'This mail has been generated for Test purpose.'&lt;/P&gt;&lt;P&gt;  'Please dont hesitate to ask any type of question in the forum.'&lt;/P&gt;&lt;P&gt;  INTO body_desc&lt;/P&gt;&lt;P&gt;  SEPARATED BY space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  i_contents_text = body_desc.&lt;/P&gt;&lt;P&gt;  APPEND i_contents_text.&lt;/P&gt;&lt;P&gt;  CLEAR  i_contents_text.&lt;/P&gt;&lt;P&gt;  CLEAR body_desc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  i_contents_text = 'Thank You.'.&lt;/P&gt;&lt;P&gt;  APPEND i_contents_text.&lt;/P&gt;&lt;P&gt;  CLEAR  i_contents_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  i_contents_text = 'Fellow SDN member,'.&lt;/P&gt;&lt;P&gt;  APPEND i_contents_text.&lt;/P&gt;&lt;P&gt;  CLEAR  i_contents_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  i_contents_text = 'Venkat.O'.&lt;/P&gt;&lt;P&gt;  APPEND i_contents_text.&lt;/P&gt;&lt;P&gt;  CLEAR  i_contents_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  i_contents_text = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND i_contents_text.&lt;/P&gt;&lt;P&gt;  CLEAR  i_contents_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE '(Note: This is system generated message, please'&lt;/P&gt;&lt;P&gt;              'do not reply'&lt;/P&gt;&lt;P&gt;              'to this Email.)'&lt;/P&gt;&lt;P&gt;           INTO i_contents_text&lt;/P&gt;&lt;P&gt;           SEPARATED BY space.&lt;/P&gt;&lt;P&gt;  APPEND i_contents_text.&lt;/P&gt;&lt;P&gt;  CLEAR  i_contents_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;*----&lt;/P&gt;&lt;HR originaltext="---------------" /&gt;&lt;P&gt;Write Packing List (Body)&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE i_contents_text LINES tab_lines.&lt;/P&gt;&lt;P&gt;  READ     TABLE i_contents_text INDEX tab_lines.&lt;/P&gt;&lt;P&gt;  w_subject-doc_size = ( tab_lines - 1 ) * 255 + STRLEN(&lt;/P&gt;&lt;P&gt;  i_contents_text ).&lt;/P&gt;&lt;P&gt;  CLEAR i_pack_list-transf_bin.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  i_pack_list-head_start = 1.&lt;/P&gt;&lt;P&gt;  i_pack_list-head_num   = 0.&lt;/P&gt;&lt;P&gt;  i_pack_list-body_start = 1.&lt;/P&gt;&lt;P&gt;  i_pack_list-body_num   = tab_lines.&lt;/P&gt;&lt;P&gt;  i_pack_list-doc_type   = 'RAW'.&lt;/P&gt;&lt;P&gt;  APPEND i_pack_list.&lt;/P&gt;&lt;P&gt;  CLEAR  i_pack_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;*----&lt;/P&gt;&lt;HR originaltext="---------------" /&gt;&lt;P&gt;Create receiver list&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;  i_receiver-receiver = 'venkataiah.oray@philips.com'..&lt;/P&gt;&lt;P&gt;  i_receiver-rec_type = 'U'.&lt;/P&gt;&lt;P&gt;  APPEND i_receiver.&lt;/P&gt;&lt;P&gt;  CLEAR  i_receiver.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;  CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      document_data              = w_subject&lt;/P&gt;&lt;P&gt;      put_in_outbox              = 'X'&lt;/P&gt;&lt;P&gt;      commit_work                = 'X'&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      sent_to_all                = sent_to_all&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      packing_list               = i_pack_list&lt;/P&gt;&lt;P&gt;      object_header              = i_objhead&lt;/P&gt;&lt;P&gt;      contents_bin               = i_cont_bin&lt;/P&gt;&lt;P&gt;      contents_txt               = i_contents_text&lt;/P&gt;&lt;P&gt;      receivers                  = i_receiver&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      too_many_receivers         = 1&lt;/P&gt;&lt;P&gt;      document_not_sent          = 2&lt;/P&gt;&lt;P&gt;      document_type_not_exist    = 3&lt;/P&gt;&lt;P&gt;      operation_no_authorization = 4&lt;/P&gt;&lt;P&gt;      parameter_error            = 5&lt;/P&gt;&lt;P&gt;      x_error                    = 6&lt;/P&gt;&lt;P&gt;      enqueue_error              = 7&lt;/P&gt;&lt;P&gt;      OTHERS                     = 8.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " mail_without_attachment&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;*&amp;amp;      Form  mail_with_pdf_attachment&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;FORM mail_with_pdf_attachment .&lt;/P&gt;&lt;P&gt;  CLEAR :w_subject,&lt;/P&gt;&lt;P&gt;         sent_to_all,&lt;/P&gt;&lt;P&gt;         i_pack_list[],&lt;/P&gt;&lt;P&gt;         i_objhead[],&lt;/P&gt;&lt;P&gt;         i_cont_bin[],&lt;/P&gt;&lt;P&gt;         i_contents_text[],&lt;/P&gt;&lt;P&gt;         i_receiver[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  i_cont_bin = '  |  '.&lt;/P&gt;&lt;P&gt;  APPEND i_cont_bin.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------" /&gt;&lt;P&gt;Subject of the mail.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  obj_desc  = 'Hello SDN Friends ' .&lt;/P&gt;&lt;P&gt;  w_subject-obj_name  = 'MAIL_ALI'.&lt;/P&gt;&lt;P&gt;  w_subject-obj_descr = obj_desc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------" /&gt;&lt;P&gt;Body of the mail&lt;/P&gt;&lt;P&gt;  DATA :head_desc LIKE i_contents_text,&lt;/P&gt;&lt;P&gt;        body_desc LIKE i_contents_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  i_contents_text = space.&lt;/P&gt;&lt;P&gt;  APPEND i_contents_text.&lt;/P&gt;&lt;P&gt;  CLEAR  i_contents_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE&lt;/P&gt;&lt;P&gt;  'This mail has been generated for Test purpose.'&lt;/P&gt;&lt;P&gt;  'Please dont hesitate to ask any type of question in the forum.'&lt;/P&gt;&lt;P&gt;  INTO body_desc&lt;/P&gt;&lt;P&gt;  SEPARATED BY space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  i_contents_text = body_desc.&lt;/P&gt;&lt;P&gt;  APPEND i_contents_text.&lt;/P&gt;&lt;P&gt;  CLEAR  i_contents_text.&lt;/P&gt;&lt;P&gt;  CLEAR body_desc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  i_contents_text = 'Thank You.'.&lt;/P&gt;&lt;P&gt;  APPEND i_contents_text.&lt;/P&gt;&lt;P&gt;  CLEAR  i_contents_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  i_contents_text = 'Fellow SDN member,'.&lt;/P&gt;&lt;P&gt;  APPEND i_contents_text.&lt;/P&gt;&lt;P&gt;  CLEAR  i_contents_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  i_contents_text = 'Venkat.O'.&lt;/P&gt;&lt;P&gt;  APPEND i_contents_text.&lt;/P&gt;&lt;P&gt;  CLEAR  i_contents_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  i_contents_text = space.&lt;/P&gt;&lt;P&gt;  APPEND i_contents_text.&lt;/P&gt;&lt;P&gt;  CLEAR  i_contents_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE '(Note: This is system generated message, please'&lt;/P&gt;&lt;P&gt;              'do not reply'&lt;/P&gt;&lt;P&gt;              'to this Email.)'&lt;/P&gt;&lt;P&gt;           INTO i_contents_text&lt;/P&gt;&lt;P&gt;           SEPARATED BY space.&lt;/P&gt;&lt;P&gt;  APPEND i_contents_text.&lt;/P&gt;&lt;P&gt;  CLEAR  i_contents_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------" /&gt;&lt;P&gt;Write Packing List (Body)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE i_contents_text LINES tab_lines.&lt;/P&gt;&lt;P&gt;  READ     TABLE i_contents_text INDEX tab_lines.&lt;/P&gt;&lt;P&gt;  w_subject-doc_size = ( tab_lines - 1 ) * 255 + STRLEN(&lt;/P&gt;&lt;P&gt;  i_contents_text ).&lt;/P&gt;&lt;P&gt;  CLEAR i_pack_list-transf_bin.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  i_pack_list-head_start = 1.&lt;/P&gt;&lt;P&gt;  i_pack_list-head_num   = 0.&lt;/P&gt;&lt;P&gt;  i_pack_list-body_start = 1.&lt;/P&gt;&lt;P&gt;  i_pack_list-body_num   = tab_lines.&lt;/P&gt;&lt;P&gt;  i_pack_list-doc_type   = 'RAW'.&lt;/P&gt;&lt;P&gt;  APPEND i_pack_list.&lt;/P&gt;&lt;P&gt;  CLEAR  i_pack_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------" /&gt;&lt;P&gt;Create receiver list&lt;/P&gt;&lt;P&gt;  i_receiver-receiver = 'Venkataiah.oray@philips.com'..&lt;/P&gt;&lt;P&gt;  i_receiver-rec_type = 'U'.&lt;/P&gt;&lt;P&gt;  APPEND i_receiver.&lt;/P&gt;&lt;P&gt;  CLEAR  i_receiver.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------" /&gt;&lt;P&gt;Select query for Spool requests&lt;/P&gt;&lt;P&gt;  REFRESH content_out.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    SELECT  SINGLE *&lt;/P&gt;&lt;P&gt;      FROM  tsp01&lt;/P&gt;&lt;P&gt;      WHERE rqident = g_sy_spono.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE s000(0k) WITH 'Spool Number does not exist'.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      client = tsp01-rqclient.&lt;/P&gt;&lt;P&gt;      name   = tsp01-rqo1name.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'RSTS_GET_ATTRIBUTES'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      authority     = 'SP01'&lt;/P&gt;&lt;P&gt;      client        = client&lt;/P&gt;&lt;P&gt;      name          = name&lt;/P&gt;&lt;P&gt;      part          = 1&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      type          = type&lt;/P&gt;&lt;P&gt;      objtype       = objtype&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      fb_error      = 1&lt;/P&gt;&lt;P&gt;      fb_rsts_other = 2&lt;/P&gt;&lt;P&gt;      no_object     = 3&lt;/P&gt;&lt;P&gt;      no_permission = 4&lt;/P&gt;&lt;P&gt;      OTHERS        = 5.&lt;/P&gt;&lt;P&gt;  IF objtype(3) = 'OTF'.&lt;/P&gt;&lt;P&gt;    is_otf = 'X'.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    is_otf = space.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------" /&gt;&lt;P&gt;Convert Spool job to PDF&lt;/P&gt;&lt;P&gt;  IF is_otf = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'CONVERT_OTFSPOOLJOB_2_PDF'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        src_spoolid              = tsp01-rqident "Spool req number&lt;/P&gt;&lt;P&gt;        no_dialog                = ' '&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        pdf_bytecount            = no_of_bytes&lt;/P&gt;&lt;P&gt;        pdf_spoolid              = pdf_spoolid&lt;/P&gt;&lt;P&gt;        btc_jobname              = jobname&lt;/P&gt;&lt;P&gt;        btc_jobcount             = jobcount&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        pdf                      = pdf&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        err_no_otf_spooljob      = 1&lt;/P&gt;&lt;P&gt;        err_no_spooljob          = 2&lt;/P&gt;&lt;P&gt;        err_no_permission        = 3&lt;/P&gt;&lt;P&gt;        err_conv_not_possible    = 4&lt;/P&gt;&lt;P&gt;        err_bad_dstdevice        = 5&lt;/P&gt;&lt;P&gt;        user_cancelled           = 6&lt;/P&gt;&lt;P&gt;        err_spoolerror           = 7&lt;/P&gt;&lt;P&gt;        err_temseerror           = 8&lt;/P&gt;&lt;P&gt;        err_btcjob_open_failed   = 9&lt;/P&gt;&lt;P&gt;        err_btcjob_submit_failed = 10&lt;/P&gt;&lt;P&gt;        err_btcjob_close_failed  = 11&lt;/P&gt;&lt;P&gt;        OTHERS                   = 12.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CASE sy-subrc.&lt;/P&gt;&lt;P&gt;      WHEN 0.&lt;/P&gt;&lt;P&gt;      WHEN 1.&lt;/P&gt;&lt;P&gt;        MESSAGE s000(0k) WITH 'No OTF Spool Job'.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      WHEN 2.&lt;/P&gt;&lt;P&gt;        MESSAGE s000(0k) WITH 'Spool Number does not exist'.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      WHEN 3.&lt;/P&gt;&lt;P&gt;        MESSAGE s000(0k) WITH 'No permission for spool'.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      WHEN OTHERS.&lt;/P&gt;&lt;P&gt;        MESSAGE s000(0k) WITH 'Error in Function CONVERT_OTFSPOOLJOB_2_PDF'.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;    ENDCASE.&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;    CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        src_spoolid              = tsp01-rqident&lt;/P&gt;&lt;P&gt;        no_dialog                = ' '&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        pdf_bytecount            = no_of_bytes&lt;/P&gt;&lt;P&gt;        pdf_spoolid              = pdf_spoolid&lt;/P&gt;&lt;P&gt;        btc_jobname              = jobname&lt;/P&gt;&lt;P&gt;        btc_jobcount             = jobcount&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        pdf                      = pdf&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        err_no_abap_spooljob     = 1&lt;/P&gt;&lt;P&gt;        err_no_spooljob          = 2&lt;/P&gt;&lt;P&gt;        err_no_permission        = 3&lt;/P&gt;&lt;P&gt;        err_conv_not_possible    = 4&lt;/P&gt;&lt;P&gt;        err_bad_destdevice       = 5&lt;/P&gt;&lt;P&gt;        user_cancelled           = 6&lt;/P&gt;&lt;P&gt;        err_spoolerror           = 7&lt;/P&gt;&lt;P&gt;        err_temseerror           = 8&lt;/P&gt;&lt;P&gt;        err_btcjob_open_failed   = 9&lt;/P&gt;&lt;P&gt;        err_btcjob_submit_failed = 10&lt;/P&gt;&lt;P&gt;        err_btcjob_close_failed  = 11&lt;/P&gt;&lt;P&gt;        OTHERS                   = 12.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CASE sy-subrc.&lt;/P&gt;&lt;P&gt;      WHEN 0.&lt;/P&gt;&lt;P&gt;      WHEN 1.&lt;/P&gt;&lt;P&gt;        MESSAGE s000(0k) WITH 'No ABAP Spool Job'.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      WHEN 2.&lt;/P&gt;&lt;P&gt;        MESSAGE s000(0k) WITH 'Spool Number does not exist'.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      WHEN 3.&lt;/P&gt;&lt;P&gt;        MESSAGE s000(0k) WITH 'No permission for spool'.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      WHEN OTHERS.&lt;/P&gt;&lt;P&gt;        MESSAGE s000(0k)&lt;/P&gt;&lt;P&gt;           WITH 'Error in Function CONVERT_ABAPSPOOLJOB_2_PDF'.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'SX_TABLE_LINE_WIDTH_CHANGE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      line_width_src              = 134&lt;/P&gt;&lt;P&gt;      line_width_dst              = 255&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      content_in                  = pdf&lt;/P&gt;&lt;P&gt;      content_out                 = content_out&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      err_line_width_src_too_long = 1&lt;/P&gt;&lt;P&gt;      err_line_width_dst_too_long = 2&lt;/P&gt;&lt;P&gt;      err_conv_failed             = 3&lt;/P&gt;&lt;P&gt;      OTHERS                      = 4.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE s000(0k) WITH 'Conversion Failed'.&lt;/P&gt;&lt;P&gt;    EXIT.&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;---------------------Create Message Attachment&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DESCRIBE TABLE i_cont_bin LINES tab_lines.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  i_pack_list-transf_bin = 'X'.&lt;/P&gt;&lt;P&gt;  i_pack_list-head_start = tab_lines + 1.&lt;/P&gt;&lt;P&gt;  i_pack_list-head_num   = 0.&lt;/P&gt;&lt;P&gt;  i_pack_list-body_start = tab_lines + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND LINES OF content_out[] TO i_cont_bin[].&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE content_out LINES tab_lines.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  i_pack_list-doc_size =  tab_lines * 255.&lt;/P&gt;&lt;P&gt;  i_pack_list-body_num = tab_lines.&lt;/P&gt;&lt;P&gt;  i_pack_list-doc_type = 'PDF'.&lt;/P&gt;&lt;P&gt;  i_pack_list-obj_name = 'ATTACHMENT'.&lt;/P&gt;&lt;P&gt;  i_pack_list-obj_descr = 'Materials and their Quantities' .&lt;/P&gt;&lt;P&gt;  APPEND i_pack_list.&lt;/P&gt;&lt;P&gt;  CLEAR  i_pack_list.&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_NEW_DOCUMENT_ATT_SEND_API1'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      document_data              = w_subject&lt;/P&gt;&lt;P&gt;      put_in_outbox              = 'X'&lt;/P&gt;&lt;P&gt;      commit_work                = 'X'&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      sent_to_all                = sent_to_all&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      packing_list               = i_pack_list&lt;/P&gt;&lt;P&gt;      object_header              = i_objhead&lt;/P&gt;&lt;P&gt;      contents_bin               = i_cont_bin&lt;/P&gt;&lt;P&gt;      contents_txt               = i_contents_text&lt;/P&gt;&lt;P&gt;      receivers                  = i_receiver&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      too_many_receivers         = 1&lt;/P&gt;&lt;P&gt;      document_not_sent          = 2&lt;/P&gt;&lt;P&gt;      document_type_not_exist    = 3&lt;/P&gt;&lt;P&gt;      operation_no_authorization = 4&lt;/P&gt;&lt;P&gt;      parameter_error            = 5&lt;/P&gt;&lt;P&gt;      x_error                    = 6&lt;/P&gt;&lt;P&gt;      enqueue_error              = 7&lt;/P&gt;&lt;P&gt;      OTHERS                     = 8.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " mail_with_pdf_attachment&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;*&amp;amp;      Form  get_print_params&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;FORM get_print_params .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  lay = 'X_65_132'.&lt;/P&gt;&lt;P&gt;  lines = 65.&lt;/P&gt;&lt;P&gt;  cols  = 132.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'GET_PRINT_PARAMETERS'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      in_archive_parameters  = arcpar&lt;/P&gt;&lt;P&gt;      in_parameters          = pripar&lt;/P&gt;&lt;P&gt;      layout                 = lay&lt;/P&gt;&lt;P&gt;      line_count             = lines&lt;/P&gt;&lt;P&gt;      line_size              = cols&lt;/P&gt;&lt;P&gt;      no_dialog              = 'X'&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      out_archive_parameters = arcpar&lt;/P&gt;&lt;P&gt;      out_parameters         = pripar&lt;/P&gt;&lt;P&gt;      valid                  = val&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      archive_info_not_found = 1&lt;/P&gt;&lt;P&gt;      invalid_print_params   = 2&lt;/P&gt;&lt;P&gt;      invalid_archive_params = 3&lt;/P&gt;&lt;P&gt;      OTHERS                 = 4.&lt;/P&gt;&lt;P&gt;  IF val &amp;lt;&amp;gt; space AND sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    pripar-prrel = space.&lt;/P&gt;&lt;P&gt;    pripar-primm = space.&lt;/P&gt;&lt;P&gt;    NEW-PAGE PRINT ON&lt;/P&gt;&lt;P&gt;      NEW-SECTION&lt;/P&gt;&lt;P&gt;      PARAMETERS pripar&lt;/P&gt;&lt;P&gt;      ARCHIVE PARAMETERS arcpar&lt;/P&gt;&lt;P&gt;      NO DIALOG.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_print_params&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope that it helps u .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Thanks,&lt;/P&gt;&lt;P&gt;Venkat.O&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Jun 2006 01:25:04 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/e-mail-sending-using-internal-table/m-p/1424168#M203365</guid>
      <dc:creator>venkat_o</dc:creator>
      <dc:date>2006-06-15T01:25:04Z</dc:date>
    </item>
    <item>
      <title>Re: e-mail sending using internal table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/e-mail-sending-using-internal-table/m-p/1424169#M203366</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kishore,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There is another method of sending email.. &lt;/P&gt;&lt;P&gt;The from address will be the SAP system... You can send it to any external address..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is quite easy. It uses the unix command to send email. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The following is the code to send an email. &lt;/P&gt;&lt;P&gt;This program extract does two things&lt;/P&gt;&lt;P&gt;1. Sends file contents as body of the mail&lt;/P&gt;&lt;P&gt;2. Sends a file as attachment. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Before going through the code, just check &lt;/P&gt;&lt;P&gt;the unix command for sending email, given below. &lt;/P&gt;&lt;P&gt;_____________________________________________&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;(cat 'filename containing the body of email' ; uuencode 'name of file to be attached' 'Name of attached file to be displayed in the email') | /bin/mailx -s "&lt;/P&gt;&lt;P&gt;Subject of the mail " 'To email address'&lt;/P&gt;&lt;P&gt;______________________________________________&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cat sends the file contents as body of email and uuencode sends the file as attachment&lt;/P&gt;&lt;P&gt;(cat content ; uuencode filename fname) | /bin/mailx -s "&lt;/P&gt;&lt;P&gt;'Subject of the mail' " 'To email address'&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;This is the internal table containing the data to be filled in as the mail content&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF mail_body OCCURS 0,&lt;/P&gt;&lt;P&gt;        content(250),&lt;/P&gt;&lt;P&gt;END OF mail_body.&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 mail_message USING username filename.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF file OCCURS 0,&lt;/P&gt;&lt;P&gt;line(250),&lt;/P&gt;&lt;P&gt;END OF file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Attached file will be displayed in the mail as 'fname'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;'filename' is the file that will be send as attachment in the email.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : filename(100) TYPE c VALUE '/data/logs/lfile.txt'&lt;/P&gt;&lt;P&gt;DATA : fname(25) VALUE 'Logfile.txt'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: parcom(300) TYPE c,&lt;/P&gt;&lt;P&gt;pbody1(50) VALUE&lt;/P&gt;&lt;P&gt;'Please find the log details as an attachment &lt;/P&gt;&lt;P&gt;(This is the body of email) '&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Content contains the file which contains the body of the mail.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Username contains the email address to which the mail has to be sent. &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : content(50) VALUE '/usr/sap/tmp/body'.&lt;/P&gt;&lt;P&gt;DATA : username(50) VALUE 'susmitha.thomas@wipro.com'.&lt;/P&gt;&lt;P&gt;CLEAR parcom.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TRANSLATE username TO LOWER CASE.&lt;/P&gt;&lt;P&gt;TRANSLATE filename TO LOWER CASE.&lt;/P&gt;&lt;P&gt;TRANSLATE content  TO LOWER CASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Writing the body of the mail to the file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;OPEN DATASET content FOR OUTPUT IN TEXT MODE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at mail_body.&lt;/P&gt;&lt;P&gt;  TRANSFER  mail_body-content TO content.&lt;/P&gt;&lt;P&gt;endloop&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLOSE DATASET content.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONCATENATE '(cat ' content '; uuencode ' filename fname ') |' '/bin/mailx -s "'&lt;/P&gt;&lt;P&gt;'Subject of the mail' '"' username&lt;/P&gt;&lt;P&gt;INTO parcom SEPARATED BY space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;REFRESH file.&lt;/P&gt;&lt;P&gt;CLEAR file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Send The Message.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL 'SYSTEM' ID 'COMMAND' FIELD parcom&lt;/P&gt;&lt;P&gt;ID 'TAB' FIELD file-&lt;STRONG&gt;sys&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if sy-subrc = '0'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;write: / 'Mail message successfully sent'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;else.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;write: / 'Mail message failed'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;You will get the mail in the address specified with the body contents as the data in file content.( and attachment if also needed, filename will be send as attachment.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Susmitha&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Just let me know if you have got any doubts on this. &lt;SPAN __jive_emoticon_name="happy"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: Susmitha Thomas&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: Susmitha Thomas&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Jun 2006 03:04:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/e-mail-sending-using-internal-table/m-p/1424169#M203366</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-15T03:04:41Z</dc:date>
    </item>
    <item>
      <title>Re: e-mail sending using internal table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/e-mail-sending-using-internal-table/m-p/1424170#M203367</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;Refer my posted thread,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_message" href="https://community.sap.com/" __jive_macro_name="message" modifiedtitle="true" __default_attr="558216"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regs,&lt;/P&gt;&lt;P&gt;Venkat Ramanan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Jun 2006 05:17:02 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/e-mail-sending-using-internal-table/m-p/1424170#M203367</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-15T05:17:02Z</dc:date>
    </item>
    <item>
      <title>Re: e-mail sending using internal table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/e-mail-sending-using-internal-table/m-p/1424171#M203368</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kishore,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is a sample program to send mail.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: maildata type sodocchgi1.&lt;/P&gt;&lt;P&gt;data: mailtxt  type table of solisti1 with header line.&lt;/P&gt;&lt;P&gt;data: mailrec  type table of somlrec90 with header line.&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;  clear:    maildata, mailtxt,  mailrec.&lt;/P&gt;&lt;P&gt;  refresh:  mailtxt, mailrec.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  maildata-obj_name = 'TEST'.&lt;/P&gt;&lt;P&gt;  maildata-obj_descr = 'Test'.&lt;/P&gt;&lt;P&gt;  maildata-obj_langu = sy-langu.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  mailtxt-line = 'This is a test'.&lt;/P&gt;&lt;P&gt;  append mailtxt.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  mailrec-receiver = 'someone@somewhere.com'.&lt;/P&gt;&lt;P&gt;  mailrec-rec_type  = 'U'.&lt;/P&gt;&lt;P&gt;  append mailrec.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  call function 'SO_NEW_DOCUMENT_SEND_API1'&lt;/P&gt;&lt;P&gt;       exporting&lt;/P&gt;&lt;P&gt;            document_data              = maildata&lt;/P&gt;&lt;P&gt;            document_type              = 'RAW'&lt;/P&gt;&lt;P&gt;            put_in_outbox              = 'X'&lt;/P&gt;&lt;P&gt;       tables&lt;/P&gt;&lt;P&gt;            object_header              = mailtxt&lt;/P&gt;&lt;P&gt;            object_content             = mailtxt&lt;/P&gt;&lt;P&gt;            receivers                  = mailrec&lt;/P&gt;&lt;P&gt;       exceptions&lt;/P&gt;&lt;P&gt;            too_many_receivers         = 1&lt;/P&gt;&lt;P&gt;            document_not_sent          = 2&lt;/P&gt;&lt;P&gt;            document_type_not_exist    = 3&lt;/P&gt;&lt;P&gt;            operation_no_authorization = 4&lt;/P&gt;&lt;P&gt;            parameter_error            = 5&lt;/P&gt;&lt;P&gt;            x_error                    = 6&lt;/P&gt;&lt;P&gt;            enqueue_error              = 7&lt;/P&gt;&lt;P&gt;            others                     = 8.&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also have a look at these links:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Version 610 and Higher - BCS Interface:&lt;/P&gt;&lt;P&gt;/people/thomas.jung3/blog/2004/09/08/sending-e-mail-from-abap--version-610-and-higher--bcs-interface&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Version 46D and Lower - API Interface&lt;/P&gt;&lt;P&gt;/people/thomas.jung3/blog/2004/09/07/sending-e-mail-from-abap--version-46d-and-lower--api-interface&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward points if helpful,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards,&lt;/P&gt;&lt;P&gt;Sumana&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Jun 2006 05:35:55 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/e-mail-sending-using-internal-table/m-p/1424171#M203368</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-15T05:35:55Z</dc:date>
    </item>
    <item>
      <title>Re: e-mail sending using internal table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/e-mail-sending-using-internal-table/m-p/1424172#M203369</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;GO THROUGH THESE CODE AND IMPLEMENT SIMILARLY IN YOUR REPORT&lt;/P&gt;&lt;P&gt;ABAP CODE&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Email ITAB structure&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF EMAIL_ITAB 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 EMAIL_ITAB.&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_EMAIL LIKE SOOS1-RECEXTNAM.  "EMail distribution list&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS: C_EMAIL_DISTRIBUTION LIKE SOOS1-RECEXTNAM VALUE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           &amp;#145;abc@here.com,abc@there.com&amp;#146;.&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;Initialization&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REFRESH EMAIL_ITAB.&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;Populate data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EMAIL_ITAB-LINE = &amp;#145;Email body text 1&amp;#146;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND EMAIL_ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EMAIL_ITAB-LINE = &amp;#145;Email body text 2&amp;#146;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND EMAIL_ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;T_EMAIL = C_EMAIL_DISTRIBUTION.&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;--- EMAIL FUNCTION ---------------------------------------------------&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;REQUIRMENTS:&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;1) The user running the program needs a valid email address in their&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;   address portion of tx SU01 under external comms -&amp;gt; SMTP -&amp;gt; internet&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;   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;2) A job called SAP_EMAIL is running with the following parameters:&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;   Program: RSCONN01  Variant: INT   User: XXX&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;   This program moves mail from the outbox to the mail server using&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;   RFC destination: SAP_INTERNET_GATEWAY_SERVER&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;INTERFACE:&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;1) APPLICATION: Anything&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;2) EMAILTITLE:  EMail subject&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;3) RECEXTNAM:   EMail distribution lists separated by commas&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;4) TEXTTAB:     Internal table for lines of the email message&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;EXCEPTIONS:&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;Send OK = 0 otherwise there was a problem with the send.&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;----------------------------------------------------------------------&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'Z_SEND_EMAIL_ITAB'&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;              APPLICATION = 'EMAIL'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              EMAILTITLE  = 'Email Subject'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              RECEXTNAM   = T_EMAIL&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     = EMAIL_ITAB&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;              OTHERS      = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Function Z_SEND_EMAIL_ITAB&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&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;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;        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;*- send Email&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 &amp;lt;&amp;gt; SPACE AND 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;*- 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;  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;  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;  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;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;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;FORM  SO_OBJECT_SEND_REC&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; &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                     = SY-UNAME&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;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    RAISE OTHERS.&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;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;----&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 INIT_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;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;ENDFORM. &lt;/P&gt;&lt;P&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>Thu, 15 Jun 2006 06:02:04 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/e-mail-sending-using-internal-table/m-p/1424172#M203369</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-15T06:02:04Z</dc:date>
    </item>
  </channel>
</rss>

