<?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: report-mail in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/report-mail/m-p/4026769#M962360</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;pls explain this concept......how wil u sent report through mail?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 20 Jun 2008 09:56:31 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-06-20T09:56:31Z</dc:date>
    <item>
      <title>report-mail</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/report-mail/m-p/4026766#M962357</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;how wil u report sent to mail?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Jun 2008 09:43:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/report-mail/m-p/4026766#M962357</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-20T09:43:46Z</dc:date>
    </item>
    <item>
      <title>Re: report-mail</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/report-mail/m-p/4026767#M962358</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;hope the belows helps u a lot&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  zmail_pdf_attach.&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;"  Data retrieval related declarations&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;"Variables&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;      g_spool_no TYPE TSP01-RQIDENT.&lt;/P&gt;&lt;P&gt;"Types&lt;/P&gt;&lt;P&gt;TYPES:&lt;/P&gt;&lt;P&gt;     BEGIN OF t_emp_dat,&lt;/P&gt;&lt;P&gt;       pernr     TYPE pa0001-pernr,&lt;/P&gt;&lt;P&gt;       persg     TYPE pa0001-persg,&lt;/P&gt;&lt;P&gt;       persk     TYPE pa0001-persk,&lt;/P&gt;&lt;P&gt;       plans     TYPE pa0001-plans,&lt;/P&gt;&lt;P&gt;       stell     TYPE pa0001-stell,&lt;/P&gt;&lt;P&gt;     END OF t_emp_dat.&lt;/P&gt;&lt;P&gt;"Work area&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;     w_emp_data  TYPE t_emp_dat.&lt;/P&gt;&lt;P&gt;"Internal tables&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;     i_emp_data  TYPE STANDARD TABLE OF t_emp_dat.&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;"  mai related declarations&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;"Variables&lt;/P&gt;&lt;P&gt;DATA :&lt;/P&gt;&lt;P&gt;     g_sent_to_all   TYPE sonv-flag,&lt;/P&gt;&lt;P&gt;     g_tab_lines     TYPE i.&lt;/P&gt;&lt;P&gt;"Types&lt;/P&gt;&lt;P&gt;TYPES:&lt;/P&gt;&lt;P&gt;     t_document_data  TYPE  sodocchgi1,&lt;/P&gt;&lt;P&gt;     t_packing_list   TYPE  sopcklsti1,&lt;/P&gt;&lt;P&gt;     t_attachment     TYPE  solisti1,&lt;/P&gt;&lt;P&gt;     t_body_msg       TYPE  solisti1,&lt;/P&gt;&lt;P&gt;     t_receivers      TYPE  somlreci1,&lt;/P&gt;&lt;P&gt;     t_pdf            TYPE  tline.&lt;/P&gt;&lt;P&gt;"Workareas&lt;/P&gt;&lt;P&gt;DATA :&lt;/P&gt;&lt;P&gt;     w_document_data  TYPE  t_document_data,&lt;/P&gt;&lt;P&gt;     w_packing_list   TYPE  t_packing_list,&lt;/P&gt;&lt;P&gt;     w_attachment     TYPE  t_attachment,&lt;/P&gt;&lt;P&gt;     w_body_msg       TYPE  t_body_msg,&lt;/P&gt;&lt;P&gt;     w_receivers      TYPE  t_receivers,&lt;/P&gt;&lt;P&gt;     w_pdf            TYPE  t_pdf.&lt;/P&gt;&lt;P&gt;"Internal Tables&lt;/P&gt;&lt;P&gt;DATA :&lt;/P&gt;&lt;P&gt;     i_document_data  TYPE STANDARD TABLE OF t_document_data,&lt;/P&gt;&lt;P&gt;     i_packing_list   TYPE STANDARD TABLE OF t_packing_list,&lt;/P&gt;&lt;P&gt;     i_attachment     TYPE STANDARD TABLE OF t_attachment,&lt;/P&gt;&lt;P&gt;     i_body_msg       TYPE STANDARD TABLE OF t_body_msg,&lt;/P&gt;&lt;P&gt;     i_receivers      TYPE STANDARD TABLE OF t_receivers,&lt;/P&gt;&lt;P&gt;     i_pdf            TYPE STANDARD TABLE OF t_pdf.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;PARAMETERS: p_mai(99) type c.&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;"Top-of-page.&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;TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;  PERFORM top_of_page.&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;  "Start-of-selection.&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;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM get_data.&lt;/P&gt;&lt;P&gt;  IF i_emp_data[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM test_data.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  PERFORM do_print_n_get_spoolno.&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;  "End-of-selection.&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;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM send_mai.&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  top_of_page&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 top_of_page.&lt;/P&gt;&lt;P&gt;  DATA: inc_colnum TYPE i.&lt;/P&gt;&lt;P&gt;  ULINE.&lt;/P&gt;&lt;P&gt;  inc_colnum = sy-linsz - 60.&lt;/P&gt;&lt;P&gt;  WRITE: / 'Report: ', sy-repid(18).&lt;/P&gt;&lt;P&gt;  WRITE AT 30(inc_colnum) sy-title CENTERED.&lt;/P&gt;&lt;P&gt;  inc_colnum = sy-linsz - 20.&lt;/P&gt;&lt;P&gt;  WRITE: AT inc_colnum 'Page: ', (11) sy-pagno RIGHT-JUSTIFIED.&lt;/P&gt;&lt;P&gt;  WRITE: / 'Client: ', sy-mandt.&lt;/P&gt;&lt;P&gt;  inc_colnum = sy-linsz - 20.&lt;/P&gt;&lt;P&gt;  WRITE: AT inc_colnum 'Date: ', sy-datum.&lt;/P&gt;&lt;P&gt;  WRITE: / 'User  : ', sy-uname.&lt;/P&gt;&lt;P&gt;  inc_colnum = sy-linsz - 60.&lt;/P&gt;&lt;P&gt;  WRITE AT 30(inc_colnum) 'Company Confidential' CENTERED.&lt;/P&gt;&lt;P&gt;  inc_colnum = sy-linsz - 20.&lt;/P&gt;&lt;P&gt;  WRITE: AT inc_colnum 'Time: ', (10) sy-uzeit RIGHT-JUSTIFIED.&lt;/P&gt;&lt;P&gt;  ULINE .&lt;/P&gt;&lt;P&gt;  SKIP.&lt;/P&gt;&lt;P&gt;  ULINE AT /(127).&lt;/P&gt;&lt;P&gt;  WRITE:/ sy-vline,'pernr' COLOR COL_HEADING,13&lt;/P&gt;&lt;P&gt;          sy-vline,'persg' COLOR COL_HEADING,20&lt;/P&gt;&lt;P&gt;          sy-vline,'persk' COLOR COL_HEADING,26&lt;/P&gt;&lt;P&gt;          sy-vline,'plans' COLOR COL_HEADING,35&lt;/P&gt;&lt;P&gt;          sy-vline,'stell' COLOR COL_HEADING,46&lt;/P&gt;&lt;P&gt;          sy-vline.&lt;/P&gt;&lt;P&gt;  ULINE AT /(46).&lt;/P&gt;&lt;P&gt;ENDFORM.                    "top_of_page&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 PA0001&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.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  SELECT pernr&lt;/P&gt;&lt;P&gt;         persg&lt;/P&gt;&lt;P&gt;         persk&lt;/P&gt;&lt;P&gt;         plans&lt;/P&gt;&lt;P&gt;         stell&lt;/P&gt;&lt;P&gt;   FROM pa0001&lt;/P&gt;&lt;P&gt;   INTO CORRESPONDING FIELDS OF TABLE i_emp_data&lt;/P&gt;&lt;P&gt;   UP TO 4 ROWS.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_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;P&gt;"Form  do_print_n_get_spoolno&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 do_print_n_get_spoolno.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  "Display Output&lt;/P&gt;&lt;P&gt;  LOOP AT i_emp_data INTO w_emp_data .&lt;/P&gt;&lt;P&gt;    AT FIRST.&lt;/P&gt;&lt;P&gt;      PERFORM get_print_parameters.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;  WRITE:/ sy-vline,w_emp_data-pernr,13&lt;/P&gt;&lt;P&gt;          sy-vline,w_emp_data-persg,20&lt;/P&gt;&lt;P&gt;          sy-vline,w_emp_data-persk,26&lt;/P&gt;&lt;P&gt;          sy-vline,w_emp_data-plans,35&lt;/P&gt;&lt;P&gt;          sy-vline,w_emp_data-stell,46&lt;/P&gt;&lt;P&gt;          sy-vline.&lt;/P&gt;&lt;P&gt;  ULINE AT /(46).&lt;/P&gt;&lt;P&gt;    AT LAST.&lt;/P&gt;&lt;P&gt;      g_spool_no  = sy-spono.&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;    ENDAT.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ENDFORM.                    "do_print_n_get_spoolno&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_mai&lt;/P&gt;&lt;P&gt;"----&lt;/P&gt;&lt;HR originaltext="----------" /&gt;&lt;P&gt;"PACKING LIST&lt;/P&gt;&lt;P&gt;"This table requires information about how the data in the&lt;/P&gt;&lt;P&gt;"tables OBJECT_HEADER, CONTENTS_BIN and CONTENTS_TXT are to&lt;/P&gt;&lt;P&gt;"be distributed to the documents and its attachments.The first&lt;/P&gt;&lt;P&gt;"row is for the document, the following rows are each for one&lt;/P&gt;&lt;P&gt;"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 send_mai .&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  "Subject of the mai.&lt;/P&gt;&lt;P&gt;  w_document_data-obj_name  = 'MAI_TO_HEAD'.&lt;/P&gt;&lt;P&gt;  w_document_data-obj_descr = 'Regarding mai Program by SAP ABAP'.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  "Body of the mai&lt;/P&gt;&lt;P&gt;  PERFORM build_body_of_mai&lt;/P&gt;&lt;P&gt;    USING:space,&lt;/P&gt;&lt;P&gt;          'Hi,',&lt;/P&gt;&lt;P&gt;          'I am fine. How are you? How are you doing ? ',&lt;/P&gt;&lt;P&gt;          'This program has been created to send simple mai',&lt;/P&gt;&lt;P&gt;          'with Subject,Body with Address of the sender. ',&lt;/P&gt;&lt;P&gt;          'Regards,',&lt;/P&gt;&lt;P&gt;          'Venkat.O,',&lt;/P&gt;&lt;P&gt;          'SAP HR Technical Consultant.'.&lt;/P&gt;&lt;P&gt;  "Convert ABAP Spool job to PDF&lt;/P&gt;&lt;P&gt;  PERFORM convert_spool_2_pdf TABLES i_attachment.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  "Write Packing List for Body&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE i_body_msg LINES g_tab_lines.&lt;/P&gt;&lt;P&gt;  w_packing_list-head_start = 1.&lt;/P&gt;&lt;P&gt;  w_packing_list-head_num   = 0.&lt;/P&gt;&lt;P&gt;  w_packing_list-body_start = 1.&lt;/P&gt;&lt;P&gt;  w_packing_list-body_num   = g_tab_lines.&lt;/P&gt;&lt;P&gt;  w_packing_list-doc_type   = 'RAW'.&lt;/P&gt;&lt;P&gt;  APPEND w_packing_list TO i_packing_list.&lt;/P&gt;&lt;P&gt;  CLEAR  w_packing_list.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  "Write Packing List for Attachment&lt;/P&gt;&lt;P&gt;  w_packing_list-transf_bin = 'X'.&lt;/P&gt;&lt;P&gt;  w_packing_list-head_start = 1.&lt;/P&gt;&lt;P&gt;  w_packing_list-head_num   = 1.&lt;/P&gt;&lt;P&gt;  w_packing_list-body_start = 1.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE i_attachment LINES w_packing_list-body_num.&lt;/P&gt;&lt;P&gt;  w_packing_list-doc_type   = 'PDF'.&lt;/P&gt;&lt;P&gt;  w_packing_list-obj_descr  = 'PDF Attachment'.&lt;/P&gt;&lt;P&gt;  w_packing_list-obj_name   = 'PDF_ATTACHMENT'.&lt;/P&gt;&lt;P&gt;  w_packing_list-doc_size   = w_packing_list-body_num * 255.&lt;/P&gt;&lt;P&gt;  APPEND w_packing_list TO i_packing_list.&lt;/P&gt;&lt;P&gt;  CLEAR  w_packing_list.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  "Fill the document data and get size of attachment&lt;/P&gt;&lt;P&gt;  w_document_data-obj_langu  = sy-langu.&lt;/P&gt;&lt;P&gt;  READ TABLE i_attachment INTO w_attachment INDEX g_tab_lines.&lt;/P&gt;&lt;P&gt;  w_document_data-doc_size = ( g_tab_lines - 1 ) * 255 + STRLEN( w_attachment ).&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  "Receivers List.&lt;/P&gt;&lt;P&gt;  w_receivers-rec_type   = 'U'.  "Internet address&lt;/P&gt;&lt;P&gt;  w_receivers-receiver   = p_mai.&lt;/P&gt;&lt;P&gt;  w_receivers-com_type   = 'INT'.&lt;/P&gt;&lt;P&gt;  w_receivers-notif_del  = 'X'.&lt;/P&gt;&lt;P&gt;  w_receivers-notif_ndel = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND w_receivers TO i_receivers .&lt;/P&gt;&lt;P&gt;  CLEAR:w_receivers.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  "Function module to send mai to Recipients&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_document_data&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                = g_sent_to_all&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      packing_list               = i_packing_list&lt;/P&gt;&lt;P&gt;      contents_bin               = i_attachment&lt;/P&gt;&lt;P&gt;      contents_txt               = i_body_msg&lt;/P&gt;&lt;P&gt;      receivers                  = i_receivers&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 = 0 .&lt;/P&gt;&lt;P&gt;    MESSAGE i303(me) WITH 'mai has been Successfully Sent.'.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    WAIT UP TO 2 SECONDS.&lt;/P&gt;&lt;P&gt;    "This program starts the SAPconnect send process.&lt;/P&gt;&lt;P&gt;    SUBMIT rsconn01 WITH mode = 'INT'&lt;/P&gt;&lt;P&gt;                    WITH output = 'X'&lt;/P&gt;&lt;P&gt;                    AND RETURN.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ENDFORM.                    " send_mai&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  build_body_of_mai&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 build_body_of_mai  USING l_message.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  w_body_msg = l_message.&lt;/P&gt;&lt;P&gt;  APPEND w_body_msg TO i_body_msg.&lt;/P&gt;&lt;P&gt;  CLEAR  w_body_msg.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_body_of_mai&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_parameters&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_parameters .&lt;/P&gt;&lt;P&gt;  "Variables&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;     l_lay    TYPE pri_params-paart,&lt;/P&gt;&lt;P&gt;     l_lines  TYPE pri_params-linct,&lt;/P&gt;&lt;P&gt;     l_cols   TYPE pri_params-linsz,&lt;/P&gt;&lt;P&gt;     l_val    TYPE c.&lt;/P&gt;&lt;P&gt;*Types&lt;/P&gt;&lt;P&gt;  TYPES:&lt;/P&gt;&lt;P&gt;     t_pripar TYPE pri_params,&lt;/P&gt;&lt;P&gt;     t_arcpar TYPE arc_params.&lt;/P&gt;&lt;P&gt;  "Work areas&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;     lw_pripar TYPE t_pripar,&lt;/P&gt;&lt;P&gt;     lw_arcpar TYPE t_arcpar.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  l_lay   = 'X_65_132'.&lt;/P&gt;&lt;P&gt;  l_lines = 65.&lt;/P&gt;&lt;P&gt;  l_cols  = 132.&lt;/P&gt;&lt;P&gt;  "Read, determine, change spool print parameters and archive parameters&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  = lw_arcpar&lt;/P&gt;&lt;P&gt;      in_parameters          = lw_pripar&lt;/P&gt;&lt;P&gt;      layout                 = l_lay&lt;/P&gt;&lt;P&gt;      line_count             = l_lines&lt;/P&gt;&lt;P&gt;      line_size              = l_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 = lw_arcpar&lt;/P&gt;&lt;P&gt;      out_parameters         = lw_pripar&lt;/P&gt;&lt;P&gt;      valid                  = l_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 l_val  space AND sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    lw_pripar-prrel = space.&lt;/P&gt;&lt;P&gt;    lw_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 lw_pripar&lt;/P&gt;&lt;P&gt;      ARCHIVE PARAMETERS lw_arcpar&lt;/P&gt;&lt;P&gt;      NO DIALOG.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_print_parameters&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  convert_spool_2_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 convert_spool_2_pdf TABLES l_attachment .&lt;/P&gt;&lt;P&gt;  "Variables&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;      l_no_of_bytes TYPE i,&lt;/P&gt;&lt;P&gt;      l_pdf_spoolid LIKE tsp01-rqident,&lt;/P&gt;&lt;P&gt;      l_jobname     LIKE tbtcjob-jobname,&lt;/P&gt;&lt;P&gt;      l_jobcount    LIKE tbtcjob-jobcount.&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              = g_spool_no&lt;/P&gt;&lt;P&gt;      no_dialog                = ' '&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      pdf_bytecount            = l_no_of_bytes&lt;/P&gt;&lt;P&gt;      pdf_spoolid              = l_pdf_spoolid&lt;/P&gt;&lt;P&gt;      btc_jobname              = l_jobname&lt;/P&gt;&lt;P&gt;      btc_jobcount             = l_jobcount&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      pdf                      = i_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; &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                  = i_pdf&lt;/P&gt;&lt;P&gt;      content_out                 = l_attachment&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  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;P&gt;ENDFORM.                    " convert_spool_2_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;*&amp;amp;      Form  test_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;P&gt;FORM test_data .&lt;/P&gt;&lt;P&gt;  DO 10 TIMES.&lt;/P&gt;&lt;P&gt;    w_emp_data-pernr = sy-index.&lt;/P&gt;&lt;P&gt;    w_emp_data-persg = '2'.&lt;/P&gt;&lt;P&gt;    w_emp_data-persk = '93'.&lt;/P&gt;&lt;P&gt;    w_emp_data-plans = '99999999'.&lt;/P&gt;&lt;P&gt;    w_emp_data-stell = '31414144'.&lt;/P&gt;&lt;P&gt;    APPEND w_emp_data TO i_emp_data.&lt;/P&gt;&lt;P&gt;    CLEAR  w_emp_data.&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ENDFORM.                    " test_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Lakshman&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Jun 2008 09:54:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/report-mail/m-p/4026767#M962358</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-20T09:54:19Z</dc:date>
    </item>
    <item>
      <title>Re: report-mail</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/report-mail/m-p/4026768#M962359</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Sankaran,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please check this link&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_thread" href="https://community.sap.com/" __jive_macro_name="thread" modifiedtitle="true" __default_attr="414577"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_thread" href="https://community.sap.com/" __jive_macro_name="thread" modifiedtitle="true" __default_attr="741252"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The Function module what we use for sending mail is &lt;STRONG&gt;SO_NEW_DOCUMENT_ATT_SEND_API1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;raam&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Jun 2008 09:55:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/report-mail/m-p/4026768#M962359</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-20T09:55:50Z</dc:date>
    </item>
    <item>
      <title>Re: report-mail</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/report-mail/m-p/4026769#M962360</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;pls explain this concept......how wil u sent report through mail?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Jun 2008 09:56:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/report-mail/m-p/4026769#M962360</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-20T09:56:31Z</dc:date>
    </item>
    <item>
      <title>Re: report-mail</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/report-mail/m-p/4026770#M962361</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;'SO_NEW_DOCUMENT_ATT_SEND_API1'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;using this function module and passing data in it u can send mail.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward points if hlpful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;chech  this program.&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; Report  ZGM_SENDMAIL2                                               *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&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; Author :&lt;/P&gt;&lt;P&gt;*&amp;amp; Date :&lt;/P&gt;&lt;P&gt;*&amp;amp; Description :&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; Modification History&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Example of sending external email via SAPCONNECT                    *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZGM_SENDMAIL2                           .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: ekko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: p_email   TYPE somlreci1-receiver&lt;/P&gt;&lt;P&gt;                                  DEFAULT ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_ekpo,&lt;/P&gt;&lt;P&gt;  ebeln TYPE ekpo-ebeln,&lt;/P&gt;&lt;P&gt;  netwr TYPE ekpo-netwr,&lt;/P&gt;&lt;P&gt;  aedat TYPE ekpo-aedat,&lt;/P&gt;&lt;P&gt;  matnr TYPE ekpo-matnr,&lt;/P&gt;&lt;P&gt; END OF t_ekpo.&lt;/P&gt;&lt;P&gt;DATA: it_ekpo TYPE STANDARD TABLE OF t_ekpo INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;      wa_ekpo TYPE t_ekpo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_charekpo,&lt;/P&gt;&lt;P&gt;  ebeln(10) TYPE c,&lt;/P&gt;&lt;P&gt;  netwr(13) TYPE c,&lt;/P&gt;&lt;P&gt;  aedat(8)  TYPE c,&lt;/P&gt;&lt;P&gt;  matnr(18) TYPE c,&lt;/P&gt;&lt;P&gt; END OF t_charekpo.&lt;/P&gt;&lt;P&gt;DATA: wa_charekpo TYPE t_charekpo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:   it_message TYPE STANDARD TABLE OF solisti1 INITIAL SIZE 0&lt;/P&gt;&lt;P&gt;                WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA:   it_attach TYPE STANDARD TABLE OF solisti1 INITIAL SIZE 0&lt;/P&gt;&lt;P&gt;                WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:   t_packing_list LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;        t_contents LIKE solisti1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;        t_receivers LIKE somlreci1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;        t_attachment LIKE solisti1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;        t_object_header LIKE solisti1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;        w_cnt TYPE i,&lt;/P&gt;&lt;P&gt;        w_sent_all(1) TYPE c,&lt;/P&gt;&lt;P&gt;        w_doc_data LIKE sodocchgi1,&lt;/P&gt;&lt;P&gt;        gd_error    TYPE sy-subrc,&lt;/P&gt;&lt;P&gt;        gd_reciever TYPE sy-subrc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Retrieve sample data from table ekpo&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM data_retrieval.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Populate table with detaisl to be entered into .xls file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM build_xls_data_table.&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate message body text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform populate_email_message_body.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Send file by email as .xls speadsheet&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM send_file_as_email_attachment&lt;/P&gt;&lt;P&gt;                               tables it_message&lt;/P&gt;&lt;P&gt;                                      it_attach&lt;/P&gt;&lt;P&gt;                                using p_email&lt;/P&gt;&lt;P&gt;                                      'Example .xls documnet attachment'&lt;/P&gt;&lt;P&gt;                                      'XLS'&lt;/P&gt;&lt;P&gt;                                      'filename'&lt;/P&gt;&lt;P&gt;                                      ' '&lt;/P&gt;&lt;P&gt;                                      ' '&lt;/P&gt;&lt;P&gt;                                      ' '&lt;/P&gt;&lt;P&gt;                             changing gd_error&lt;/P&gt;&lt;P&gt;                                      gd_reciever.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Instructs mail send program for SAPCONNECT to send email(rsconn01)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM initiate_mail_execute_program.&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  DATA_RETRIEVAL&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;      Retrieve data form EKPO table and populate itab it_ekko&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 data_retrieval.&lt;/P&gt;&lt;P&gt;  SELECT ebeln netwr aedat matnr&lt;/P&gt;&lt;P&gt;   UP TO 10 ROWS&lt;/P&gt;&lt;P&gt;    FROM ekpo&lt;/P&gt;&lt;P&gt;    INTO TABLE it_ekpo.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DATA_RETRIEVAL&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  BUILD_XLS_DATA_TABLE&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;      Build data table for .xls document&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 build_xls_data_table.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CONSTANTS: con_cret(2) TYPE c VALUE '0D',  "OK for non Unicode&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            con_tab(2) TYPE c VALUE '09'.   "OK for non Unicode&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*If you have Unicode check active in program attributes thnen you will&lt;/P&gt;&lt;P&gt;*need to declare constants as follows&lt;/P&gt;&lt;P&gt;*class cl_abap_char_utilities definition load.&lt;/P&gt;&lt;P&gt;constants:&lt;/P&gt;&lt;P&gt;    con_tab  type c value cl_abap_char_utilities=&amp;gt;HORIZONTAL_TAB,&lt;/P&gt;&lt;P&gt;    con_cret type c value cl_abap_char_utilities=&amp;gt;CR_LF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE 'EBELN' 'netwr' 'AEDAT' 'MATNR'&lt;/P&gt;&lt;P&gt;         INTO it_attach SEPARATED BY con_tab.&lt;/P&gt;&lt;P&gt;  CONCATENATE con_cret it_attach  INTO it_attach.&lt;/P&gt;&lt;P&gt;  APPEND  it_attach.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_ekpo INTO wa_ekpo.&lt;/P&gt;&lt;P&gt;    wa_charekpo-ebeln = wa_ekpo-ebeln .&lt;/P&gt;&lt;P&gt;    wa_charekpo-netwr = wa_ekpo-netwr .&lt;/P&gt;&lt;P&gt;    wa_charekpo-aedat = wa_ekpo-aedat .&lt;/P&gt;&lt;P&gt;    wa_charekpo-matnr = wa_ekpo-matnr .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE wa_charekpo-ebeln wa_charekpo-netwr&lt;/P&gt;&lt;P&gt;                wa_charekpo-aedat wa_charekpo-matnr&lt;/P&gt;&lt;P&gt;           INTO it_attach SEPARATED BY con_tab.&lt;/P&gt;&lt;P&gt;    CONCATENATE con_cret it_attach  INTO it_attach.&lt;/P&gt;&lt;P&gt;    APPEND  it_attach.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BUILD_XLS_DATA_TABLE&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_FILE_AS_EMAIL_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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Send email&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_file_as_email_attachment tables pit_message&lt;/P&gt;&lt;P&gt;                                          pit_attach&lt;/P&gt;&lt;P&gt;                                    using p_email&lt;/P&gt;&lt;P&gt;                                          p_mtitle&lt;/P&gt;&lt;P&gt;                                          p_format&lt;/P&gt;&lt;P&gt;                                          p_filename&lt;/P&gt;&lt;P&gt;                                          p_attdescription&lt;/P&gt;&lt;P&gt;                                          p_sender_address&lt;/P&gt;&lt;P&gt;                                          p_sender_addres_type&lt;/P&gt;&lt;P&gt;                                 changing p_error&lt;/P&gt;&lt;P&gt;                                          p_reciever.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: ld_error    TYPE sy-subrc,&lt;/P&gt;&lt;P&gt;        ld_reciever TYPE sy-subrc,&lt;/P&gt;&lt;P&gt;        ld_mtitle LIKE sodocchgi1-obj_descr,&lt;/P&gt;&lt;P&gt;        ld_email LIKE  somlreci1-receiver,&lt;/P&gt;&lt;P&gt;        ld_format TYPE  so_obj_tp ,&lt;/P&gt;&lt;P&gt;        ld_attdescription TYPE  so_obj_nam ,&lt;/P&gt;&lt;P&gt;        ld_attfilename TYPE  so_obj_des ,&lt;/P&gt;&lt;P&gt;        ld_sender_address LIKE  soextreci1-receiver,&lt;/P&gt;&lt;P&gt;        ld_sender_address_type LIKE  soextreci1-adr_typ,&lt;/P&gt;&lt;P&gt;        ld_receiver LIKE  sy-subrc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ld_email   = p_email.&lt;/P&gt;&lt;P&gt;  ld_mtitle = p_mtitle.&lt;/P&gt;&lt;P&gt;  ld_format              = p_format.&lt;/P&gt;&lt;P&gt;  ld_attdescription      = p_attdescription.&lt;/P&gt;&lt;P&gt;  ld_attfilename         = p_filename.&lt;/P&gt;&lt;P&gt;  ld_sender_address      = p_sender_address.&lt;/P&gt;&lt;P&gt;  ld_sender_address_type = p_sender_addres_type.&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;Fill the document data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  w_doc_data-doc_size = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate the subject/generic message attributes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  w_doc_data-obj_langu = sy-langu.&lt;/P&gt;&lt;P&gt;  w_doc_data-obj_name  = 'SAPRPT'.&lt;/P&gt;&lt;P&gt;  w_doc_data-obj_descr = ld_mtitle .&lt;/P&gt;&lt;P&gt;  w_doc_data-sensitivty = 'F'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fill the document data and get size of attachment&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR w_doc_data.&lt;/P&gt;&lt;P&gt;  READ TABLE it_attach INDEX w_cnt.&lt;/P&gt;&lt;P&gt;  w_doc_data-doc_size =&lt;/P&gt;&lt;P&gt;     ( w_cnt - 1 ) * 255 + STRLEN( it_attach ).&lt;/P&gt;&lt;P&gt;  w_doc_data-obj_langu  = sy-langu.&lt;/P&gt;&lt;P&gt;  w_doc_data-obj_name   = 'SAPRPT'.&lt;/P&gt;&lt;P&gt;  w_doc_data-obj_descr  = ld_mtitle.&lt;/P&gt;&lt;P&gt;  w_doc_data-sensitivty = 'F'.&lt;/P&gt;&lt;P&gt;  CLEAR t_attachment.&lt;/P&gt;&lt;P&gt;  REFRESH t_attachment.&lt;/P&gt;&lt;P&gt;  t_attachment[] = pit_attach[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Describe the body of the message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR t_packing_list.&lt;/P&gt;&lt;P&gt;  REFRESH t_packing_list.&lt;/P&gt;&lt;P&gt;  t_packing_list-transf_bin = space.&lt;/P&gt;&lt;P&gt;  t_packing_list-head_start = 1.&lt;/P&gt;&lt;P&gt;  t_packing_list-head_num = 0.&lt;/P&gt;&lt;P&gt;  t_packing_list-body_start = 1.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE it_message LINES t_packing_list-body_num.&lt;/P&gt;&lt;P&gt;  t_packing_list-doc_type = 'RAW'.&lt;/P&gt;&lt;P&gt;  APPEND t_packing_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create attachment notification&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  t_packing_list-transf_bin = 'X'.&lt;/P&gt;&lt;P&gt;  t_packing_list-head_start = 1.&lt;/P&gt;&lt;P&gt;  t_packing_list-head_num   = 1.&lt;/P&gt;&lt;P&gt;  t_packing_list-body_start = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE t_attachment LINES t_packing_list-body_num.&lt;/P&gt;&lt;P&gt;  t_packing_list-doc_type   =  ld_format.&lt;/P&gt;&lt;P&gt;  t_packing_list-obj_descr  =  ld_attdescription.&lt;/P&gt;&lt;P&gt;  t_packing_list-obj_name   =  ld_attfilename.&lt;/P&gt;&lt;P&gt;  t_packing_list-doc_size   =  t_packing_list-body_num * 255.&lt;/P&gt;&lt;P&gt;  APPEND t_packing_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add the recipients email address&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR t_receivers.&lt;/P&gt;&lt;P&gt;  REFRESH t_receivers.&lt;/P&gt;&lt;P&gt;  t_receivers-receiver = ld_email.&lt;/P&gt;&lt;P&gt;  t_receivers-rec_type = 'U'.&lt;/P&gt;&lt;P&gt;  t_receivers-com_type = 'INT'.&lt;/P&gt;&lt;P&gt;  t_receivers-notif_del = 'X'.&lt;/P&gt;&lt;P&gt;  t_receivers-notif_ndel = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND t_receivers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'SO_DOCUMENT_SEND_API1'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            document_data              = w_doc_data&lt;/P&gt;&lt;P&gt;            put_in_outbox              = 'X'&lt;/P&gt;&lt;P&gt;            sender_address             = ld_sender_address&lt;/P&gt;&lt;P&gt;            sender_address_type        = ld_sender_address_type&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                = w_sent_all&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            packing_list               = t_packing_list&lt;/P&gt;&lt;P&gt;            contents_bin               = t_attachment&lt;/P&gt;&lt;P&gt;            contents_txt               = it_message&lt;/P&gt;&lt;P&gt;            receivers                  = t_receivers&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate zerror return code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ld_error = sy-subrc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate zreceiver return code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT t_receivers.&lt;/P&gt;&lt;P&gt;    ld_receiver = t_receivers-retrn_code.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&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;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  INITIATE_MAIL_EXECUTE_PROGRAM&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;      Instructs mail send program for SAPCONNECT to send email.&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 initiate_mail_execute_program.&lt;/P&gt;&lt;P&gt;  WAIT UP TO 2 SECONDS.&lt;/P&gt;&lt;P&gt;  SUBMIT rsconn01 " WITH mode = 'INT'&lt;/P&gt;&lt;P&gt;                  "WITH output = 'X'&lt;/P&gt;&lt;P&gt;                AND RETURN.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " INITIATE_MAIL_EXECUTE_PROGRAM&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  POPULATE_EMAIL_MESSAGE_BODY&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;       Populate message body 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 populate_email_message_body.&lt;/P&gt;&lt;P&gt;  REFRESH it_message.&lt;/P&gt;&lt;P&gt;  it_message = 'Please find attached a list test ekpo records'.&lt;/P&gt;&lt;P&gt;  APPEND it_message.&lt;/P&gt;&lt;P&gt;endform.                    " POPULATE_EMAIL_MESSAGE_BODY&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Jun 2008 10:00:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/report-mail/m-p/4026770#M962361</guid>
      <dc:creator>GauthamV</dc:creator>
      <dc:date>2008-06-20T10:00:32Z</dc:date>
    </item>
    <item>
      <title>Re: report-mail</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/report-mail/m-p/4026771#M962362</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi check the comments on the page........that will reflect the code description..&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapdev.co.uk/reporting/email/email_sapmail.htm" target="test_blank"&gt;http://www.sapdev.co.uk/reporting/email/email_sapmail.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_nw2004s/helpdata/en/af/73563c1e734f0fe10000000a114084/content.htm" target="test_blank"&gt;http://help.sap.com/saphelp_nw2004s/helpdata/en/af/73563c1e734f0fe10000000a114084/content.htm&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Jun 2008 10:00:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/report-mail/m-p/4026771#M962362</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-20T10:00:59Z</dc:date>
    </item>
  </channel>
</rss>

