<?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: SO_DOCUMENT_SEND_API1 unknown file format in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/so-document-send-api1-unknown-file-format/m-p/1628075#M280456</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;**also search variable SO_FORMAt in the program.  You can try to use '&amp;amp;SO_FORMAT=ASC'. if your excel open with repair message.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 08 Mar 2007 06:16:10 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-03-08T06:16:10Z</dc:date>
    <item>
      <title>SO_DOCUMENT_SEND_API1 unknown file format</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/so-document-send-api1-unknown-file-format/m-p/1628073#M280454</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;Im using SO_DOCUMENT_SEND_API1  in my FM and it sends the email with xls attachment (filled from itab). However I can't open the .xls as it produces and Unknown File Format error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For testing: I'm using the same SO_DOCUMENT_SEND_API1 code in a custom executable program and it works fine. Same email, same xls and no errors when opening the xls. (running in fore- and background)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Another test: Im calling this executable program from my FM and it works fine aswell (in background).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So it seems it only produces the Unknown File Format when coded into my FM...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any help/input appreciated...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is the FM code:&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Email Notification Logic&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;&lt;/P&gt;&lt;P&gt;  SELECT docnum pernr subty text longtext&lt;/P&gt;&lt;P&gt;   UP TO 100 ROWS&lt;/P&gt;&lt;P&gt;    FROM ythr_rem_service&lt;/P&gt;&lt;P&gt;    INTO TABLE it_ythr_rem_serv WHERE docnum EQ idoc_contrl-docnum.&lt;/P&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 - For Unicode check active&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;  CONCATENATE 'DOCNUM' 'PERNR' 'SUBTY' 'TEXT' 'LONGTEXT'&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_ythr_rem_serv INTO wa_charythr_rem_service.&lt;/P&gt;&lt;P&gt;    CONCATENATE wa_charythr_rem_service-docnum&lt;/P&gt;&lt;P&gt;                wa_charythr_rem_service-pernr&lt;/P&gt;&lt;P&gt;                wa_charythr_rem_service-subty&lt;/P&gt;&lt;P&gt;                wa_charythr_rem_service-text&lt;/P&gt;&lt;P&gt;                wa_charythr_rem_service-longtext&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;&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;  REFRESH it_message.&lt;/P&gt;&lt;P&gt;  it_message = 'Please find attached the update overview.'.&lt;/P&gt;&lt;P&gt;  APPEND it_message.&lt;/P&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;  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_title.&lt;/P&gt;&lt;P&gt;  ld_format              = p_format.&lt;/P&gt;&lt;P&gt;  ld_attdescription      = p_descr.&lt;/P&gt;&lt;P&gt;  ld_attfilename         = ' '.&lt;/P&gt;&lt;P&gt;  ld_sender_address      = ' '.&lt;/P&gt;&lt;P&gt;  ld_sender_address_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   =  p_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;&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;  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;+++++++++++++++++++++++++++++++++++++++++++++++++++++++&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And here's the Program version:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  z_test.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: ythr_rem_service.&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 'joe@blog.com'.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_docnum  TYPE edidc-docnum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_ythr_rem_service,&lt;/P&gt;&lt;P&gt;  docnum   TYPE ythr_rem_service-docnum,&lt;/P&gt;&lt;P&gt;  pernr    TYPE ythr_rem_service-pernr,&lt;/P&gt;&lt;P&gt;  subty    TYPE ythr_rem_service-subty,&lt;/P&gt;&lt;P&gt;  text     TYPE ythr_rem_service-text,&lt;/P&gt;&lt;P&gt;  longtext TYPE ythr_rem_service-longtext,&lt;/P&gt;&lt;P&gt; END OF t_ythr_rem_service.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_ythr_rem_serv TYPE STANDARD TABLE OF t_ythr_rem_service INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;      wa_ythr_rem_serv TYPE t_ythr_rem_service.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_charythr_rem_service,&lt;/P&gt;&lt;P&gt;  docnum(16)   TYPE c,&lt;/P&gt;&lt;P&gt;  pernr(8)     TYPE c,&lt;/P&gt;&lt;P&gt;  subty(4)     TYPE c,&lt;/P&gt;&lt;P&gt;  text(29)     TYPE c,&lt;/P&gt;&lt;P&gt;  longtext(50) TYPE c,&lt;/P&gt;&lt;P&gt; END OF t_charythr_rem_service.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: wa_charythr_rem_service TYPE t_charythr_rem_service.&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;*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 data from table ythr_rem_service&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 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;                                               'Rem Service Test -  see xls 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 ythr_rem_service table and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  populate itab it_ythr_rem_serv&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 docnum pernr subty text longtext&lt;/P&gt;&lt;P&gt;   UP TO 100 ROWS&lt;/P&gt;&lt;P&gt;    FROM ythr_rem_service&lt;/P&gt;&lt;P&gt;    INTO TABLE it_ythr_rem_serv WHERE docnum EQ p_docnum.&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;P&gt;&lt;/P&gt;&lt;P&gt;*For Unicode check active in program attributes then we 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 'DOCNUM' 'PERNR' 'SUBTY' 'TEXT' 'LONGTEXT'&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_ythr_rem_serv INTO wa_charythr_rem_service.&lt;/P&gt;&lt;P&gt;    CONCATENATE wa_charythr_rem_service-docnum&lt;/P&gt;&lt;P&gt;                wa_charythr_rem_service-pernr&lt;/P&gt;&lt;P&gt;                wa_charythr_rem_service-subty&lt;/P&gt;&lt;P&gt;                wa_charythr_rem_service-text&lt;/P&gt;&lt;P&gt;                wa_charythr_rem_service-longtext&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 the update overview.'.&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>Wed, 11 Oct 2006 04:04:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/so-document-send-api1-unknown-file-format/m-p/1628073#M280454</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-10-11T04:04:12Z</dc:date>
    </item>
    <item>
      <title>Re: SO_DOCUMENT_SEND_API1 unknown file format</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/so-document-send-api1-unknown-file-format/m-p/1628074#M280455</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;**fill data for the so_document_send_apl1 structure&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;the key thing here is &amp;amp;SO_FORMAT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;we have this problem after support pack..try it...it works for me&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; att_type = 'XLS'.&lt;/P&gt;&lt;P&gt; constants: wc_so_format(11) value '&amp;amp;SO_FORMAT='.   &lt;/P&gt;&lt;P&gt; concatenate wc_so_format att_type line.                    &lt;/P&gt;&lt;P&gt; append ls_objhead to lt_objhead.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'SO_DOCUMENT_SEND_API1'&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Mar 2007 04:31:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/so-document-send-api1-unknown-file-format/m-p/1628074#M280455</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-08T04:31:34Z</dc:date>
    </item>
    <item>
      <title>Re: SO_DOCUMENT_SEND_API1 unknown file format</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/so-document-send-api1-unknown-file-format/m-p/1628075#M280456</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;**also search variable SO_FORMAt in the program.  You can try to use '&amp;amp;SO_FORMAT=ASC'. if your excel open with repair message.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Mar 2007 06:16:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/so-document-send-api1-unknown-file-format/m-p/1628075#M280456</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-08T06:16:10Z</dc:date>
    </item>
    <item>
      <title>Re: SO_DOCUMENT_SEND_API1 unknown file format</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/so-document-send-api1-unknown-file-format/m-p/1628076#M280457</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;I am sending model report for that. Kindly go through that.&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  YMS_EXTERNALMAIL                                            *&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;                                                                     *&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  YMS_EXTERNALMAIL                        .&lt;/P&gt;&lt;P&gt;*REPORT  zsendemail                    .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: PSUBJECT(40) TYPE C DEFAULT  'Hello',&lt;/P&gt;&lt;P&gt;            P_EMAIL(40)   TYPE C DEFAULT 'test@sapdev.co.uk' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:   IT_PACKING_LIST LIKE SOPCKLSTI1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;        IT_CONTENTS LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;        IT_RECEIVERS LIKE SOMLRECI1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;        IT_ATTACHMENT LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;        GD_CNT TYPE I,&lt;/P&gt;&lt;P&gt;        GD_SENT_ALL(1) TYPE C,&lt;/P&gt;&lt;P&gt;        GD_DOC_DATA LIKE SODOCCHGI1,&lt;/P&gt;&lt;P&gt;        GD_ERROR TYPE SY-SUBRC.&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;&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;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM POPULATE_MESSAGE_TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Send email message, although is not sent from SAP until mail send&lt;/P&gt;&lt;P&gt;*program has been executed(rsconn01)&lt;/P&gt;&lt;P&gt;  PERFORM SEND_EMAIL_MESSAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Instructs mail send program for SAPCONNECT to send email(rsconn01)&lt;/P&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  POPULATE_MESSAGE_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;      Adds text to email text table&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_MESSAGE_TABLE.&lt;/P&gt;&lt;P&gt;  APPEND 'Email line 1' TO IT_MESSAGE.&lt;/P&gt;&lt;P&gt;  APPEND 'Email line 2' TO IT_MESSAGE.&lt;/P&gt;&lt;P&gt;  APPEND 'Email line 3' TO IT_MESSAGE.&lt;/P&gt;&lt;P&gt;  APPEND 'Email line 4' TO IT_MESSAGE.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " POPULATE_MESSAGE_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_EMAIL_MESSAGE&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 message&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_EMAIL_MESSAGE.&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;  GD_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;  GD_DOC_DATA-OBJ_LANGU = SY-LANGU.&lt;/P&gt;&lt;P&gt;  GD_DOC_DATA-OBJ_NAME  = 'SAPRPT'.&lt;/P&gt;&lt;P&gt;  GD_DOC_DATA-OBJ_DESCR = PSUBJECT.&lt;/P&gt;&lt;P&gt;  GD_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;Describe the body of the message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR IT_PACKING_LIST.&lt;/P&gt;&lt;P&gt;  REFRESH IT_PACKING_LIST.&lt;/P&gt;&lt;P&gt;  IT_PACKING_LIST-TRANSF_BIN = SPACE.&lt;/P&gt;&lt;P&gt;  IT_PACKING_LIST-HEAD_START = 1.&lt;/P&gt;&lt;P&gt;  IT_PACKING_LIST-HEAD_NUM = 0.&lt;/P&gt;&lt;P&gt;  IT_PACKING_LIST-BODY_START = 1.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE IT_MESSAGE LINES IT_PACKING_LIST-BODY_NUM.&lt;/P&gt;&lt;P&gt;  IT_PACKING_LIST-DOC_TYPE = 'RAW'.&lt;/P&gt;&lt;P&gt;  APPEND IT_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 IT_RECEIVERS.&lt;/P&gt;&lt;P&gt;  REFRESH IT_RECEIVERS.&lt;/P&gt;&lt;P&gt;  IT_RECEIVERS-RECEIVER = P_EMAIL.&lt;/P&gt;&lt;P&gt;  IT_RECEIVERS-REC_TYPE = 'U'.&lt;/P&gt;&lt;P&gt;  IT_RECEIVERS-COM_TYPE = 'INT'.&lt;/P&gt;&lt;P&gt;  IT_RECEIVERS-NOTIF_DEL = 'X'.&lt;/P&gt;&lt;P&gt;  IT_RECEIVERS-NOTIF_NDEL = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND IT_RECEIVERS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call the FM to post the message to SAPMAIL&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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              = GD_DOC_DATA&lt;/P&gt;&lt;P&gt;      PUT_IN_OUTBOX              = 'X'&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      SENT_TO_ALL                = GD_SENT_ALL&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      PACKING_LIST               = IT_PACKING_LIST&lt;/P&gt;&lt;P&gt;      CONTENTS_TXT               = IT_MESSAGE&lt;/P&gt;&lt;P&gt;      RECEIVERS                  = IT_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;Store function module return code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  GD_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;Get it_receivers return code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT IT_RECEIVERS.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SEND_EMAIL_MESSAGE&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;  IF GD_ERROR EQ 0.&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;ENDFORM.                    " INITIATE_MAIL_EXECUTE_PROGRAM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Shankar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Mar 2007 06:27:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/so-document-send-api1-unknown-file-format/m-p/1628076#M280457</guid>
      <dc:creator>p291102</dc:creator>
      <dc:date>2007-03-08T06:27:53Z</dc:date>
    </item>
  </channel>
</rss>

