<?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, sending a text attachment. in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/so-document-send-api1-sending-a-text-attachment/m-p/1333644#M169728</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kokwei Wong,&lt;/P&gt;&lt;P&gt;  Try to CLEAR it_attach table .&lt;/P&gt;&lt;P&gt;  Otherwise send full code for Sending mail part.&lt;/P&gt;&lt;P&gt;  I will look into that code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Try it.&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;&lt;/P&gt;&lt;P&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, 18 May 2006 07:58:04 GMT</pubDate>
    <dc:creator>venkat_o</dc:creator>
    <dc:date>2006-05-18T07:58:04Z</dc:date>
    <item>
      <title>SO_DOCUMENT_SEND_API1, sending a text attachment.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/so-document-send-api1-sending-a-text-attachment/m-p/1333643#M169727</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need to send the following text  as a txt file attachment in an email :  &lt;/P&gt;&lt;P&gt;1    A&lt;/P&gt;&lt;P&gt;2    B&lt;/P&gt;&lt;P&gt;3    C&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;but what i receive in the email attachment was:&lt;/P&gt;&lt;P&gt;1  A   2  B   3  C&lt;/P&gt;&lt;P&gt;everything in a single line.. which is not what i want...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bellow is part of my code....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;con_cret TYPE C VALUE &lt;/P&gt;&lt;P&gt;cl_abap_char_utilities=&amp;gt;CR_LF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONCATENATE '1 ' 'A' 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;CONCATENATE '2 ' 'B' 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;CONCATENATE '3 ' 'C' 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;......&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;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thank you..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 May 2006 07:48:38 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/so-document-send-api1-sending-a-text-attachment/m-p/1333643#M169727</guid>
      <dc:creator>kowong</dc:creator>
      <dc:date>2006-05-18T07:48:38Z</dc:date>
    </item>
    <item>
      <title>Re: SO_DOCUMENT_SEND_API1, sending a text attachment.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/so-document-send-api1-sending-a-text-attachment/m-p/1333644#M169728</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kokwei Wong,&lt;/P&gt;&lt;P&gt;  Try to CLEAR it_attach table .&lt;/P&gt;&lt;P&gt;  Otherwise send full code for Sending mail part.&lt;/P&gt;&lt;P&gt;  I will look into that code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Try it.&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;&lt;/P&gt;&lt;P&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, 18 May 2006 07:58:04 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/so-document-send-api1-sending-a-text-attachment/m-p/1333644#M169728</guid>
      <dc:creator>venkat_o</dc:creator>
      <dc:date>2006-05-18T07:58:04Z</dc:date>
    </item>
    <item>
      <title>Re: SO_DOCUMENT_SEND_API1, sending a text attachment.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/so-document-send-api1-sending-a-text-attachment/m-p/1333645#M169729</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;FORM SEND_EMAIL .&lt;/P&gt;&lt;P&gt;&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;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;                                        'Warranty Claim Alert'&lt;/P&gt;&lt;P&gt;                                        'TXT'&lt;/P&gt;&lt;P&gt;                                        'WC_Document'&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;ENDFORM.                    " SEND_EMAIL&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;P&gt;*&amp;amp;      Retrieve data form EKPO table and populate itab it_ekko        *&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 DATA_RETRIEVAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at ta_ys016_1.&lt;/P&gt;&lt;P&gt;    wa_charekpo-ZCTLN     = ta_ys016_1-ZCTLN.&lt;/P&gt;&lt;P&gt;    wa_charekpo-MAKTX     = ta_ys016_1-TP_MAKTX.&lt;/P&gt;&lt;P&gt;    wa_charekpo-ZPERC     = ta_ys016_1-ZPERC.&lt;/P&gt;&lt;P&gt;    wa_charekpo-ZWORN     = ta_ys016_1-ZWORN.&lt;/P&gt;&lt;P&gt;    wa_charekpo-ZRBTR     = ta_ys016_1-ZRBTR.&lt;/P&gt;&lt;P&gt;    wa_charekpo-ZRJCT     = ta_ys016_1-ZRJCT.&lt;/P&gt;&lt;P&gt;    wa_charekpo-ZRMRK     = ta_ys016_1-ZRMRK.&lt;/P&gt;&lt;P&gt;    APPEND wa_charekpo .&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DATA_RETRIEVAL&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;P&gt;*&amp;amp;      Build data table for .xls document                             *&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_XLS_DATA_TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CONSTANTS: con_cret TYPE x VALUE '0D',  "OK for non Unicode&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            con_tab TYPE x 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;  CONCATENATE 'No' 'Material' 'Warranty Code Description'&lt;/P&gt;&lt;P&gt;              'Standard Pattern Depth' 'Pattern Depth Left'&lt;/P&gt;&lt;P&gt;              'Warranty Cost' 'Remark'&lt;/P&gt;&lt;P&gt;         INTO it_attach SEPARATED BY con_tab.&lt;/P&gt;&lt;P&gt;  CONCATENATE con_cret it_attach&lt;/P&gt;&lt;P&gt;        INTO it_attach.&lt;/P&gt;&lt;P&gt;  APPEND it_attach.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;it_attach = con_cret .&lt;/P&gt;&lt;P&gt;  APPEND it_attach.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT wa_charekpo .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;it_attach = con_cret .&lt;/P&gt;&lt;P&gt;  APPEND it_attach.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE wa_charekpo-ZCTLN wa_charekpo-MAKTX wa_charekpo-ZRJCT&lt;/P&gt;&lt;P&gt;                wa_charekpo-ZPERC wa_charekpo-ZWORN&lt;/P&gt;&lt;P&gt;                wa_charekpo-ZRBTR wa_charekpo-ZRMRK&lt;/P&gt;&lt;P&gt;           INTO it_attach SEPARATED BY con_tab.&lt;/P&gt;&lt;P&gt;  APPEND it_attach.&lt;/P&gt;&lt;P&gt;    CONCATENATE con_cret it_attach&lt;/P&gt;&lt;P&gt;           INTO it_attach.&lt;/P&gt;&lt;P&gt;&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;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " 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;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;P&gt;*&amp;amp;       Populate message body text                                    *&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 POPULATE_EMAIL_MESSAGE_BODY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND 'Dear Sir,' TO it_message.&lt;/P&gt;&lt;P&gt;  APPEND ' ' TO it_message.&lt;/P&gt;&lt;P&gt;  APPEND 'A new warranty claim document has been created.' TO it_message.&lt;/P&gt;&lt;P&gt;  APPEND 'Please go to SAP transaction code YWCH01 to review and approve.' TO it_message.&lt;/P&gt;&lt;P&gt;  concatenate  'Document Number&amp;amp;#65306;' ta_hdr-zctfa  INTO it_message-LINE.&lt;/P&gt;&lt;P&gt;  APPEND IT_MESSAGE .&lt;/P&gt;&lt;P&gt;  concatenate  'Document Date&amp;amp;#65306;' ta_hdr-ZBWDT  INTO it_message-LINE.&lt;/P&gt;&lt;P&gt;  APPEND IT_MESSAGE .&lt;/P&gt;&lt;P&gt;  APPEND ' ' TO it_message.&lt;/P&gt;&lt;P&gt;  APPEND 'Thank you.' TO it_message.&lt;/P&gt;&lt;P&gt;  APPEND ' ' TO it_message.&lt;/P&gt;&lt;P&gt;  APPEND 'From,' TO it_message.&lt;/P&gt;&lt;P&gt;  APPEND SY-UNAME TO it_message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " 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;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;P&gt;*&amp;amp;      Send email                                                     *&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_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;  DATA:&lt;/P&gt;&lt;P&gt;    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 value 'no-reply@silverstoneluhe.com.cn',&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;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;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SEND_FILE_AS_EMAIL_ATTACHMENT&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;P&gt;*&amp;amp;      Instructs mail send program for SAPCONNECT to send email       *&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 INITIATE_MAIL_EXECUTE_PROGRAM.&lt;/P&gt;&lt;P&gt;&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;Message was edited by: Kokwei Wong&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 May 2006 08:05:47 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/so-document-send-api1-sending-a-text-attachment/m-p/1333645#M169729</guid>
      <dc:creator>kowong</dc:creator>
      <dc:date>2006-05-18T08:05:47Z</dc:date>
    </item>
    <item>
      <title>Re: SO_DOCUMENT_SEND_API1, sending a text attachment.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/so-document-send-api1-sending-a-text-attachment/m-p/1333646#M169730</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This originally is used for sending XLS document...&lt;/P&gt;&lt;P&gt;I ve changed the document type to txt file...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What should be change in order to send as text file instead of XLS ?&lt;/P&gt;&lt;P&gt;Can i do that? &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: Kokwei Wong&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 May 2006 08:06:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/so-document-send-api1-sending-a-text-attachment/m-p/1333646#M169730</guid>
      <dc:creator>kowong</dc:creator>
      <dc:date>2006-05-18T08:06:53Z</dc:date>
    </item>
    <item>
      <title>Re: SO_DOCUMENT_SEND_API1, sending a text attachment.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/so-document-send-api1-sending-a-text-attachment/m-p/1333647#M169731</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kokwei,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Refer the following code as an alternative. You can ignore the part where it's taking the data from a file on the presentation server and then using GUI_UPLOAD the file content goes in internal table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZSAMPL_001 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INCLUDE ZINCLUDE_01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;DATA : itab LIKE tline OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA : file_name TYPE string.&lt;/P&gt;&lt;P&gt;data : path like PCFILE-PATH.&lt;/P&gt;&lt;P&gt;data : extension(5) type c.&lt;/P&gt;&lt;P&gt;data : name(100) type c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SELECTION SCREEN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;PARAMETERS : receiver TYPE somlreci1-receiver lower case.&lt;/P&gt;&lt;P&gt;PARAMETERS : p_file LIKE rlgrap-filename&lt;/P&gt;&lt;P&gt;OBLIGATORY.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AT SELECTION SCREEN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.&lt;/P&gt;&lt;P&gt;CLEAR p_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'F4_FILENAME'&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;file_name = p_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;START-OF-SELECTION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;PERFORM ml_customize USING 'Tst' 'Testing'.&lt;/P&gt;&lt;P&gt;PERFORM ml_addrecp USING receiver 'U'.&lt;/P&gt;&lt;P&gt;PERFORM upl.&lt;/P&gt;&lt;P&gt;PERFORM doconv TABLES itab objbin.&lt;/P&gt;&lt;P&gt;PERFORM ml_prepare USING 'X' extension name.&lt;/P&gt;&lt;P&gt;PERFORM ml_dosend.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SUBMIT rsconn01&lt;/P&gt;&lt;P&gt;WITH mode EQ 'INT'&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;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM upl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;file_name = p_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;filename = file_name&lt;/P&gt;&lt;P&gt;filetype = 'BIN'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;data_tab = itab&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;*file_open_error = 1&lt;/P&gt;&lt;P&gt;*file_read_error = 2&lt;/P&gt;&lt;P&gt;*no_batch = 3&lt;/P&gt;&lt;P&gt;*gui_refuse_filetransfer = 4&lt;/P&gt;&lt;P&gt;*invalid_type = 5&lt;/P&gt;&lt;P&gt;*no_authority = 6&lt;/P&gt;&lt;P&gt;*unknown_error = 7&lt;/P&gt;&lt;P&gt;*bad_data_format = 8&lt;/P&gt;&lt;P&gt;*header_not_allowed = 9&lt;/P&gt;&lt;P&gt;*separator_not_allowed = 10&lt;/P&gt;&lt;P&gt;*header_too_long = 11&lt;/P&gt;&lt;P&gt;*unknown_dp_error = 12&lt;/P&gt;&lt;P&gt;*access_denied = 13&lt;/P&gt;&lt;P&gt;*dp_out_of_memory = 14&lt;/P&gt;&lt;P&gt;*disk_full = 15&lt;/P&gt;&lt;P&gt;*dp_timeout = 16&lt;/P&gt;&lt;P&gt;*OTHERS = 17.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;path = file_name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'PC_SPLIT_COMPLETE_FILENAME'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;complete_filename = path&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHECK_DOS_FORMAT =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DRIVE =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;EXTENSION = extension&lt;/P&gt;&lt;P&gt;NAME = name&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;NAME_WITH_EXT =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PATH =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;INVALID_DRIVE = 1&lt;/P&gt;&lt;P&gt;INVALID_EXTENSION = 2&lt;/P&gt;&lt;P&gt;INVALID_NAME = 3&lt;/P&gt;&lt;P&gt;INVALID_PATH = 4&lt;/P&gt;&lt;P&gt;OTHERS = 5&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "upl&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***INCLUDE ZINCLUDE_01 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables crmrfcpar.&lt;/P&gt;&lt;P&gt;DATA: docdata LIKE sodocchgi1,&lt;/P&gt;&lt;P&gt;objpack LIKE sopcklsti1 OCCURS 1 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;objhead LIKE solisti1 OCCURS 1 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;objbin LIKE solisti1 OCCURS 10 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;objhex LIKE solix OCCURS 10 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;reclist LIKE somlreci1 OCCURS 1 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: 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;DATA: listobject LIKE abaplist OCCURS 1 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;data v_rfcdest LIKE crmrfcpar-rfcdest.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;FORM ml_customize USING objname objdesc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------" /&gt;&lt;P&gt; Clear Variables&lt;/P&gt;&lt;P&gt;CLEAR docdata.&lt;/P&gt;&lt;P&gt;REFRESH objpack.&lt;/P&gt;&lt;P&gt;CLEAR objpack.&lt;/P&gt;&lt;P&gt;REFRESH objhead.&lt;/P&gt;&lt;P&gt;REFRESH objtxt.&lt;/P&gt;&lt;P&gt;CLEAR objtxt.&lt;/P&gt;&lt;P&gt;REFRESH objbin.&lt;/P&gt;&lt;P&gt;CLEAR objbin.&lt;/P&gt;&lt;P&gt;REFRESH objhex.&lt;/P&gt;&lt;P&gt;CLEAR objhex.&lt;/P&gt;&lt;P&gt;REFRESH reclist.&lt;/P&gt;&lt;P&gt;CLEAR reclist.&lt;/P&gt;&lt;P&gt;REFRESH listobject.&lt;/P&gt;&lt;P&gt;CLEAR listobject.&lt;/P&gt;&lt;P&gt;CLEAR tab_lines.&lt;/P&gt;&lt;P&gt;CLEAR doc_size.&lt;/P&gt;&lt;P&gt;CLEAR att_type.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----" /&gt;&lt;P&gt; Set Variables&lt;/P&gt;&lt;P&gt;docdata-obj_name = objname.&lt;/P&gt;&lt;P&gt;docdata-obj_descr = objdesc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "ml_customize&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;FORM ml_addrecp USING preceiver prec_type.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR reclist.&lt;/P&gt;&lt;P&gt;reclist-receiver = preceiver.&lt;/P&gt;&lt;P&gt;reclist-rec_type = prec_type.&lt;/P&gt;&lt;P&gt;APPEND reclist.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "ml_customize&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;FORM ml_addtxt USING ptxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR objtxt.&lt;/P&gt;&lt;P&gt;objtxt = ptxt.&lt;/P&gt;&lt;P&gt;APPEND objtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "ml_customize&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;FORM ml_prepare USING bypassmemory whatatt_type whatname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF bypassmemory = ''.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----" /&gt;&lt;P&gt; Fetch List From Memory&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'LIST_FROM_MEMORY'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;listobject = listobject&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;OTHERS = 1.&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 ID '61' TYPE 'E' NUMBER '731'&lt;/P&gt;&lt;P&gt;WITH 'LIST_FROM_MEMORY'.&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;CALL FUNCTION 'TABLE_COMPRESS'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;COMPRESSED_SIZE =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;in = listobject&lt;/P&gt;&lt;P&gt;out = objbin&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;OTHERS = 1&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 ID '61' TYPE 'E' NUMBER '731'&lt;/P&gt;&lt;P&gt;WITH 'TABLE_COMPRESS'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;-----------&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Header Data&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Already Done Thru FM&lt;/P&gt;&lt;/LI&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;-----------&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Main Text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Already Done Thru FM&lt;/P&gt;&lt;/LI&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;-----------&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Packing Info For Text Data&lt;/P&gt;&lt;/LI&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;DESCRIBE TABLE objtxt LINES tab_lines.&lt;/P&gt;&lt;P&gt;READ TABLE objtxt INDEX tab_lines.&lt;/P&gt;&lt;P&gt;docdata-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objtxt ).&lt;/P&gt;&lt;P&gt;CLEAR objpack-transf_bin.&lt;/P&gt;&lt;P&gt;objpack-head_start = 1.&lt;/P&gt;&lt;P&gt;objpack-head_num = 0.&lt;/P&gt;&lt;P&gt;objpack-body_start = 1.&lt;/P&gt;&lt;P&gt;objpack-body_num = tab_lines.&lt;/P&gt;&lt;P&gt;objpack-doc_type = 'TXT'.&lt;/P&gt;&lt;P&gt;APPEND objpack.&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;-----------&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Packing Info Attachment&lt;/P&gt;&lt;/LI&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;att_type = whatatt_type..&lt;/P&gt;&lt;P&gt;DESCRIBE TABLE objbin LINES tab_lines.&lt;/P&gt;&lt;P&gt;READ TABLE objbin INDEX tab_lines.&lt;/P&gt;&lt;P&gt;objpack-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objbin ).&lt;/P&gt;&lt;P&gt;objpack-transf_bin = 'X'.&lt;/P&gt;&lt;P&gt;objpack-head_start = 1.&lt;/P&gt;&lt;P&gt;objpack-head_num = 0.&lt;/P&gt;&lt;P&gt;objpack-body_start = 1.&lt;/P&gt;&lt;P&gt;objpack-body_num = tab_lines.&lt;/P&gt;&lt;P&gt;objpack-doc_type = att_type.&lt;/P&gt;&lt;P&gt;objpack-obj_name = 'ATTACHMENT'.&lt;/P&gt;&lt;P&gt;objpack-obj_descr = whatname.&lt;/P&gt;&lt;P&gt;APPEND objpack.&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;-----------&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Receiver List&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Already done thru fm&lt;/P&gt;&lt;/LI&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;&lt;/P&gt;&lt;P&gt;ENDFORM. "ml_prepare&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM ml_dosend.&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 = docdata&lt;/P&gt;&lt;P&gt;put_in_outbox = 'X'&lt;/P&gt;&lt;P&gt;commit_work = 'X' "used from rel. 6.10&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SENT_TO_ALL =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;NEW_OBJECT_ID =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;packing_list = objpack&lt;/P&gt;&lt;P&gt;object_header = objhead&lt;/P&gt;&lt;P&gt;contents_bin = objbin&lt;/P&gt;&lt;P&gt;contents_txt = objtxt&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CONTENTS_HEX = objhex&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OBJECT_PARA =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;object_parb =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;receivers = 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;&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;MESSAGE ID 'SO' TYPE 'S' NUMBER '023'&lt;/P&gt;&lt;P&gt;WITH docdata-obj_name.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "ml_customize&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;FORM ml_spooltopdf USING whatspoolid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : pdf LIKE tline OCCURS 0 WITH HEADER LINE.&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; Call Function&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 = whatspoolid&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;OTHERS = 12.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------" /&gt;&lt;P&gt; Convert&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM doconv TABLES pdf objbin.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "ml_spooltopdf&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM doconv TABLES&lt;/P&gt;&lt;P&gt;mypdf STRUCTURE tline&lt;/P&gt;&lt;P&gt;outbin STRUCTURE solisti1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---" /&gt;&lt;P&gt; Data&lt;/P&gt;&lt;P&gt;DATA : pos TYPE i.&lt;/P&gt;&lt;P&gt;DATA : len TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------" /&gt;&lt;P&gt; Loop And Put Data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT mypdf.&lt;/P&gt;&lt;P&gt;pos = 255 - len.&lt;/P&gt;&lt;P&gt;IF pos &amp;gt; 134. "length of pdf_table&lt;/P&gt;&lt;P&gt;pos = 134.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;outbin+len = mypdf(pos).&lt;/P&gt;&lt;P&gt;len = len + pos.&lt;/P&gt;&lt;P&gt;IF len = 255. "length of out (contents_bin)&lt;/P&gt;&lt;P&gt;APPEND outbin.&lt;/P&gt;&lt;P&gt;CLEAR: outbin, len.&lt;/P&gt;&lt;P&gt;IF pos &amp;lt; 134.&lt;/P&gt;&lt;P&gt;outbin = mypdf+pos.&lt;/P&gt;&lt;P&gt;len = 134 - pos.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;IF len &amp;gt; 0.&lt;/P&gt;&lt;P&gt;APPEND outbin.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "doconv&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM ml_saveforbp USING jobname jobcount.&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; Data&lt;/P&gt;&lt;P&gt;*data : yhead like yhrt_bp_head.&lt;/P&gt;&lt;P&gt;*DATA : ydocdata LIKE yhrt_bp_docdata,&lt;/P&gt;&lt;P&gt;*yobjtxt LIKE yhrt_bp_objtxt OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;*yreclist LIKE yhrt_bp_reclist OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*DATA : seqnr TYPE i.&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; Head&lt;/P&gt;&lt;P&gt;*yhead-jobname = jobname.&lt;/P&gt;&lt;P&gt;*yhead-jobcount = jobcount..&lt;/P&gt;&lt;P&gt;*MODIFY yhrt_bp_head FROM yhead.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="--------" /&gt;&lt;P&gt; Doc Data&lt;/P&gt;&lt;P&gt;*ydocdata-jobname = jobname.&lt;/P&gt;&lt;P&gt;*ydocdata-jobcount = jobcount.&lt;/P&gt;&lt;P&gt;*MOVE-CORRESPONDING docdata TO ydocdata.&lt;/P&gt;&lt;P&gt;*MODIFY yhrt_bp_docdata FROM ydocdata.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="--------" /&gt;&lt;P&gt; Objtxt&lt;/P&gt;&lt;P&gt;*seqnr = 0.&lt;/P&gt;&lt;P&gt;*LOOP AT objtxt.&lt;/P&gt;&lt;P&gt;*seqnr = seqnr + 1.&lt;/P&gt;&lt;P&gt;*yobjtxt-jobname = jobname.&lt;/P&gt;&lt;P&gt;*yobjtxt-jobcount = jobcount.&lt;/P&gt;&lt;P&gt;*yobjtxt-seqnr = seqnr.&lt;/P&gt;&lt;P&gt;*MOVE-CORRESPONDING objtxt TO yobjtxt.&lt;/P&gt;&lt;P&gt;*MODIFY yhrt_bp_objtxt FROM yobjtxt.&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;**----&lt;/P&gt;&lt;HR originaltext="--------" /&gt;&lt;P&gt; RecList&lt;/P&gt;&lt;P&gt;*seqnr = 0.&lt;/P&gt;&lt;P&gt;*LOOP AT reclist.&lt;/P&gt;&lt;P&gt;*seqnr = seqnr + 1.&lt;/P&gt;&lt;P&gt;*yreclist-jobname = jobname.&lt;/P&gt;&lt;P&gt;*yreclist-jobcount = jobcount.&lt;/P&gt;&lt;P&gt;*yreclist-seqnr = seqnr.&lt;/P&gt;&lt;P&gt;*MOVE-CORRESPONDING reclist TO yreclist.&lt;/P&gt;&lt;P&gt;*MODIFY yhrt_bp_reclist FROM yreclist.&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;&lt;/P&gt;&lt;P&gt;ENDFORM. "ml_saveforbp&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM ml_fetchfrombp USING jobname jobcount.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*CLEAR docdata.&lt;/P&gt;&lt;P&gt;*REFRESH objtxt.&lt;/P&gt;&lt;P&gt;*REFRESH reclist.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*SELECT SINGLE * FROM yhrt_bp_docdata&lt;/P&gt;&lt;P&gt;*INTO corresponding fields of docdata&lt;/P&gt;&lt;P&gt;*WHERE jobname = jobname&lt;/P&gt;&lt;P&gt;*AND jobcount = jobcount.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*SELECT * FROM yhrt_bp_objtxt&lt;/P&gt;&lt;P&gt;*INTO corresponding fields of TABLE objtxt&lt;/P&gt;&lt;P&gt;*WHERE jobname = jobname&lt;/P&gt;&lt;P&gt;*AND jobcount = jobcount&lt;/P&gt;&lt;P&gt;*ORDER BY seqnr.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*SELECT * FROM yhrt_bp_reclist&lt;/P&gt;&lt;P&gt;*INTO corresponding fields of TABLE reclist&lt;/P&gt;&lt;P&gt;*WHERE jobname = jobname&lt;/P&gt;&lt;P&gt;*AND jobcount = jobcount&lt;/P&gt;&lt;P&gt;*ORDER BY seqnr.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "ml_fetchfrombp&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;&lt;/P&gt;&lt;P&gt;Reward points if it helps.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Amit Mishra&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 May 2006 08:13:06 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/so-document-send-api1-sending-a-text-attachment/m-p/1333647#M169731</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-18T08:13:06Z</dc:date>
    </item>
    <item>
      <title>Re: SO_DOCUMENT_SEND_API1, sending a text attachment.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/so-document-send-api1-sending-a-text-attachment/m-p/1333648#M169732</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hai Kokwei&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Try with the following COde&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : begin of it_attach occurs 0,&lt;/P&gt;&lt;P&gt;       field1(3) type c,&lt;/P&gt;&lt;P&gt;       field2(3) type c,&lt;/P&gt;&lt;P&gt;       field3(3) type c,&lt;/P&gt;&lt;P&gt;       end of it_attach.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    FILENAME                      = 'c:\upload.txt'&lt;/P&gt;&lt;P&gt;    FILETYPE                      = 'ASC'&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    DATA_TAB                      = it_attach.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;  loop at it_attach.&lt;/P&gt;&lt;P&gt;    write &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; it_attach-field1,&lt;/P&gt;&lt;P&gt;             it_attach-field2,&lt;/P&gt;&lt;P&gt;             it_attach-field3.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Text File is Like This&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1 A&lt;/P&gt;&lt;P&gt;2 B&lt;/P&gt;&lt;P&gt;2 C&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; regards&lt;/P&gt;&lt;P&gt;Sreenivasulu P&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 May 2006 08:47:42 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/so-document-send-api1-sending-a-text-attachment/m-p/1333648#M169732</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-18T08:47:42Z</dc:date>
    </item>
    <item>
      <title>Re: SO_DOCUMENT_SEND_API1, sending a text attachment.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/so-document-send-api1-sending-a-text-attachment/m-p/1333649#M169733</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You simply need to call the FM: 'SO_RAW_TO_RTF' to format the data table for sending.&lt;/P&gt;&lt;P&gt;It should help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Dezso&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 May 2006 08:54:28 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/so-document-send-api1-sending-a-text-attachment/m-p/1333649#M169733</guid>
      <dc:creator>former_member191062</dc:creator>
      <dc:date>2006-05-18T08:54:28Z</dc:date>
    </item>
  </channel>
</rss>

