<?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: csv attachment in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/csv-attachment/m-p/2411867#M538009</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;more than 255 char can be taken care of&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;just write like this...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; CLASS cl_abap_char_utilities DEFINITION LOAD.&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;     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;clear it_attach.&lt;/P&gt;&lt;P&gt;concatenate a b c d e f separated by con_tab into it_attach.&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;clear it_attach.&lt;/P&gt;&lt;P&gt;concatenate g h i j separated by con_tab into it_attach.&lt;/P&gt;&lt;P&gt;concatenate con_tab 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;clear it_attach.&lt;/P&gt;&lt;P&gt;concatenate k l m n separated by con_tab into it_attach.&lt;/P&gt;&lt;P&gt;concatenate con_tab it_attach into it_attach.&lt;/P&gt;&lt;P&gt;append it_attach.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 21 Jun 2007 09:10:14 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-06-21T09:10:14Z</dc:date>
    <item>
      <title>csv attachment</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/csv-attachment/m-p/2411864#M538006</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 need to send csv attachment to external mail.&lt;/P&gt;&lt;P&gt;csv format which is opened with excel worksheet. what all scenarios i need to take care?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE should be RAW or WIN?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Jun 2007 09:00:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/csv-attachment/m-p/2411864#M538006</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-21T09:00:10Z</dc:date>
    </item>
    <item>
      <title>Re: csv attachment</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/csv-attachment/m-p/2411865#M538007</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Nihi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need a create a excel file (or tab delimited file) and send it as attachment by mail to the user (in background processing). I use SO_NEW_DOCUMENT_ATT_SEND_API1. I have a problem, that 1 Excel line is splited into 2 lines in mail, because there is more then 255 chars in Excel line. &lt;/P&gt;&lt;P&gt;Can anybody help me? &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;report y_cr17_mail . &lt;/P&gt;&lt;P&gt;data method1 like sy-ucomm. &lt;/P&gt;&lt;P&gt;data g_user like soudnamei1. &lt;/P&gt;&lt;P&gt;data g_user_data like soudatai1. &lt;/P&gt;&lt;P&gt;data g_owner like soud-usrnam. &lt;/P&gt;&lt;P&gt;data g_receipients like soos1 occurs 0 with header line. &lt;/P&gt;&lt;P&gt;data g_document like sood4 . &lt;/P&gt;&lt;P&gt;data g_header like sood2. &lt;/P&gt;&lt;P&gt;data g_folmam like sofm2. &lt;/P&gt;&lt;P&gt;data g_objcnt like soli occurs 0 with header line. &lt;/P&gt;&lt;P&gt;data g_objhead like soli occurs 0 with header line. &lt;/P&gt;&lt;P&gt;data g_objpara  like selc occurs 0 with header line. &lt;/P&gt;&lt;P&gt;data g_objparb  like soop1 occurs 0 with header line. &lt;/P&gt;&lt;P&gt;data g_attachments like sood5 occurs 0 with header line. &lt;/P&gt;&lt;P&gt;data g_references like soxrl occurs 0 with header line. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data g_authority like sofa-usracc. &lt;/P&gt;&lt;P&gt;data g_ref_document like sood4. &lt;/P&gt;&lt;P&gt;data g_new_parent like soodk. &lt;/P&gt;&lt;P&gt;data: begin of g_files occurs 10 , &lt;/P&gt;&lt;P&gt;  text(4096) type c, &lt;/P&gt;&lt;P&gt;   end of g_files. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : fold_number(12) type c, &lt;/P&gt;&lt;P&gt;       fold_yr(2) type c, &lt;/P&gt;&lt;P&gt;       fold_type(3) type c. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;parameters ws_file(4096) type c default 'c:\debugger.txt'. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Can me any file fromyour pc ....either xls or word or ppt etc ... &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;g_user-sapname = sy-uname. &lt;/P&gt;&lt;P&gt;call function 'SO_USER_READ_API1' &lt;/P&gt;&lt;P&gt; exporting &lt;/P&gt;&lt;P&gt;   user                            = g_user &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PREPARE_FOR_FOLDER_ACCESS       = ' ' &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; importing &lt;/P&gt;&lt;P&gt;   user_data                       = g_user_data &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; EXCEPTIONS &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   USER_NOT_EXIST                  = 1 &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PARAMETER_ERROR                 = 2 &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   X_ERROR                         = 3 &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   OTHERS                          = 4 &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          . &lt;/P&gt;&lt;P&gt;if sy-subrc &amp;lt;&amp;gt; 0. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;endif. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fold_type = g_user_data-outboxfol+0(3). &lt;/P&gt;&lt;P&gt;fold_yr = g_user_data-outboxfol+3(2). &lt;/P&gt;&lt;P&gt;fold_number =  g_user_data-outboxfol+5(12). &lt;/P&gt;&lt;P&gt;clear g_files. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;refresh : g_objcnt, &lt;/P&gt;&lt;P&gt;  g_objhead, &lt;/P&gt;&lt;P&gt;  g_objpara, &lt;/P&gt;&lt;P&gt;  g_objparb, &lt;/P&gt;&lt;P&gt;  g_receipients, &lt;/P&gt;&lt;P&gt;  g_attachments, &lt;/P&gt;&lt;P&gt;  g_references, &lt;/P&gt;&lt;P&gt;  g_files. &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;method1 = 'SAVE'. &lt;/P&gt;&lt;P&gt;g_document-foltp  = fold_type. &lt;/P&gt;&lt;P&gt;g_document-folyr   = fold_yr. &lt;/P&gt;&lt;P&gt;g_document-folno   = fold_number. &lt;/P&gt;&lt;P&gt;g_document-objtp   = g_user_data-object_typ. &lt;/P&gt;&lt;P&gt;*g_document-OBJYR   = '27'. &lt;/P&gt;&lt;P&gt;*g_document-OBJNO   = '000000002365'. &lt;/P&gt;&lt;P&gt;*g_document-OBJNAM = 'MESSAGE'. &lt;/P&gt;&lt;P&gt;g_document-objdes   = 'Manohar testing by program'. &lt;/P&gt;&lt;P&gt;g_document-folrg   = 'O'. &lt;/P&gt;&lt;P&gt;*g_document-okcode   = 'CHNG'. &lt;/P&gt;&lt;P&gt;g_document-objlen = '0'. &lt;/P&gt;&lt;P&gt;g_document-file_ext = 'TXT'. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;g_header-objdes =  'Manohar testing by program'. &lt;/P&gt;&lt;P&gt;g_header-file_ext = 'TXT'. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'SO_DOCUMENT_REPOSITORY_MANAGER' &lt;/P&gt;&lt;P&gt;  exporting &lt;/P&gt;&lt;P&gt;    method             = method1 &lt;/P&gt;&lt;P&gt;   office_user        = sy-uname &lt;/P&gt;&lt;P&gt;   ref_document       = g_ref_document &lt;/P&gt;&lt;P&gt;   new_parent         =  g_new_parent &lt;/P&gt;&lt;P&gt; importing &lt;/P&gt;&lt;P&gt;   authority          =  g_authority &lt;/P&gt;&lt;P&gt; tables &lt;/P&gt;&lt;P&gt;   objcont            = g_objcnt &lt;/P&gt;&lt;P&gt;   objhead            = g_objhead &lt;/P&gt;&lt;P&gt;   objpara            = g_objpara &lt;/P&gt;&lt;P&gt;   objparb            = g_objparb &lt;/P&gt;&lt;P&gt;   recipients         = g_receipients &lt;/P&gt;&lt;P&gt;   attachments        = g_attachments &lt;/P&gt;&lt;P&gt;   references         = g_references &lt;/P&gt;&lt;P&gt;   files              = g_files &lt;/P&gt;&lt;P&gt;  changing &lt;/P&gt;&lt;P&gt;    document           = g_document &lt;/P&gt;&lt;P&gt;   header_data        = g_header &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FOLMEM_DATA        = &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  RECEIVE_DATA       = &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          . &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;File from the pc to send... &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;method1 = 'ATTCREATEFROMPC'. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;g_files-text = ws_file. &lt;/P&gt;&lt;P&gt;append g_files. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'SO_DOCUMENT_REPOSITORY_MANAGER' &lt;/P&gt;&lt;P&gt;  exporting &lt;/P&gt;&lt;P&gt;    method             = method1 &lt;/P&gt;&lt;P&gt;   office_user        = g_owner &lt;/P&gt;&lt;P&gt;   ref_document       = g_ref_document &lt;/P&gt;&lt;P&gt;   new_parent         =  g_new_parent &lt;/P&gt;&lt;P&gt; importing &lt;/P&gt;&lt;P&gt;   authority          =  g_authority &lt;/P&gt;&lt;P&gt; tables &lt;/P&gt;&lt;P&gt;   objcont            = g_objcnt &lt;/P&gt;&lt;P&gt;   objhead            = g_objhead &lt;/P&gt;&lt;P&gt;   objpara            = g_objpara &lt;/P&gt;&lt;P&gt;   objparb            = g_objparb &lt;/P&gt;&lt;P&gt;   recipients         = g_receipients &lt;/P&gt;&lt;P&gt;   attachments        = g_attachments &lt;/P&gt;&lt;P&gt;   references         = g_references &lt;/P&gt;&lt;P&gt;   files              = g_files &lt;/P&gt;&lt;P&gt;  changing &lt;/P&gt;&lt;P&gt;    document           = g_document &lt;/P&gt;&lt;P&gt;   header_data        = g_header &lt;/P&gt;&lt;P&gt;          . &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;method1 = 'SEND'. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;g_receipients-recnam = 'MK085'. &lt;/P&gt;&lt;P&gt;g_receipients-recesc = 'B'. &lt;/P&gt;&lt;P&gt;g_receipients-sndex = 'X'. &lt;/P&gt;&lt;P&gt;append  g_receipients. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'SO_DOCUMENT_REPOSITORY_MANAGER' &lt;/P&gt;&lt;P&gt;  exporting &lt;/P&gt;&lt;P&gt;    method             = method1 &lt;/P&gt;&lt;P&gt;   office_user        = g_owner &lt;/P&gt;&lt;P&gt;   ref_document       = g_ref_document &lt;/P&gt;&lt;P&gt;   new_parent         =  g_new_parent &lt;/P&gt;&lt;P&gt; importing &lt;/P&gt;&lt;P&gt;   authority          =  g_authority &lt;/P&gt;&lt;P&gt; tables &lt;/P&gt;&lt;P&gt;   objcont            = g_objcnt &lt;/P&gt;&lt;P&gt;   objhead            = g_objhead &lt;/P&gt;&lt;P&gt;   objpara            = g_objpara &lt;/P&gt;&lt;P&gt;   objparb            = g_objparb &lt;/P&gt;&lt;P&gt;   recipients         = g_receipients &lt;/P&gt;&lt;P&gt;   attachments        = g_attachments &lt;/P&gt;&lt;P&gt;   references         = g_references &lt;/P&gt;&lt;P&gt;   files              = g_files &lt;/P&gt;&lt;P&gt;  changing &lt;/P&gt;&lt;P&gt;    document           = g_document &lt;/P&gt;&lt;P&gt;   header_data        = g_header. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Don't forget to reward  if useful...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Jun 2007 09:04:58 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/csv-attachment/m-p/2411865#M538007</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-21T09:04:58Z</dc:date>
    </item>
    <item>
      <title>Re: csv attachment</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/csv-attachment/m-p/2411866#M538008</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Use CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZTEST_EMAIL_SEND_ATTACH_PDF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;class CL_ABAP_CHAR_UTILITIES definition load.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;constants:v_nl type ABAP_CHAR1 value CL_ABAP_CHAR_UTILITIES=&amp;gt;newline,&lt;/P&gt;&lt;P&gt;v_ht type ABAP_CHAR1 value CL_ABAP_CHAR_UTILITIES=&amp;gt;horizontal_TAB,&lt;/P&gt;&lt;P&gt;v_bs type ABAP_CHAR1 value CL_ABAP_CHAR_UTILITIES=&amp;gt;CR_LF.&lt;/P&gt;&lt;P&gt;data: begin of i_records occurs 0,&lt;/P&gt;&lt;P&gt;data(30) type c,&lt;/P&gt;&lt;P&gt;reason(225) type c,&lt;/P&gt;&lt;P&gt;end of i_records.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: v_dest LIKE tsp01-rqdest,&lt;/P&gt;&lt;P&gt;v_handle LIKE sy-tabix,&lt;/P&gt;&lt;P&gt;v_spool_id LIKE tsp01-rqident,&lt;/P&gt;&lt;P&gt;v_rc TYPE c,&lt;/P&gt;&lt;P&gt;v_errmessage(100) TYPE c,&lt;/P&gt;&lt;P&gt;v_text(200) TYPE c,&lt;/P&gt;&lt;P&gt;i_pdf type standard table of tline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: OBJBIN LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i_records-data = '1002'.&lt;/P&gt;&lt;P&gt;i_records-reason = 'date is empty'.&lt;/P&gt;&lt;P&gt;append i_records.&lt;/P&gt;&lt;P&gt;clear i_records.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i_records-data = '1005'.&lt;/P&gt;&lt;P&gt;i_records-reason = 'time is empty'.&lt;/P&gt;&lt;P&gt;append i_records.&lt;/P&gt;&lt;P&gt;clear i_records.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at i_records.&lt;/P&gt;&lt;P&gt;concatenate i_records-data i_records-reason into objbin-line separated by ','.&lt;/P&gt;&lt;P&gt;concatenate v_nl objbin-line into objbin-line.&lt;/P&gt;&lt;P&gt;append objbin.&lt;/P&gt;&lt;P&gt;clear: i_records, objbin.&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;perform f_mail_send.&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 f_mail_send&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; p1 text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;&amp;lt;-- p2 text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form f_mail_send .&lt;/P&gt;&lt;P&gt;DATA: i_email TYPE TABLE OF somlreci1 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;i_mess TYPE TABLE OF solisti1 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;w_subject TYPE so_obj_des,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;w_name TYPE so_obj_nam.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;w_name TYPE char30.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i_email-receiver = 'userid@domain.com'.&lt;/P&gt;&lt;P&gt;APPEND i_email.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i_mess-line = 'This is a test message. Customer Statements'.&lt;/P&gt;&lt;P&gt;APPEND i_mess.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;w_name = 'Statements_345594_344455_conv'.&lt;/P&gt;&lt;P&gt;w_subject = 'Your Customer Statement for'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM send_mail_out_raw TABLES i_email&lt;/P&gt;&lt;P&gt;i_mess&lt;/P&gt;&lt;P&gt;USING w_subject&lt;/P&gt;&lt;P&gt;w_name.&lt;/P&gt;&lt;P&gt;endform. " f_mail_send&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form send_mail_out_raw&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;PI_EMAIL text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;PI_MESS text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;PI_PDF text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;PV_SUBJECT text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;PV_NAME text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM send_mail_out_raw TABLES pi_email STRUCTURE somlreci1&lt;/P&gt;&lt;P&gt;pi_mess STRUCTURE solisti1 "Message&lt;/P&gt;&lt;P&gt;USING pv_subject TYPE so_obj_des&lt;/P&gt;&lt;P&gt;pv_name TYPE char30.&lt;/P&gt;&lt;P&gt;DATA :&lt;/P&gt;&lt;P&gt;li_receivers TYPE STANDARD TABLE OF somlreci1,&lt;/P&gt;&lt;P&gt;li_head TYPE STANDARD TABLE OF solisti1,&lt;/P&gt;&lt;P&gt;li_packing_list TYPE STANDARD TABLE OF sopcklsti1,&lt;/P&gt;&lt;P&gt;li_pdf TYPE STANDARD TABLE OF solisti1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : lst_doc_data TYPE sodocchgi1,&lt;/P&gt;&lt;P&gt;lw_lines TYPE i,&lt;/P&gt;&lt;P&gt;lw_name(34) TYPE c,&lt;/P&gt;&lt;P&gt;lw_subject TYPE sodocchgi1-obj_descr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : lst_pemail TYPE somlreci1,&lt;/P&gt;&lt;P&gt;lst_pmess TYPE solisti1,&lt;/P&gt;&lt;P&gt;lst_receivers TYPE somlreci1,&lt;/P&gt;&lt;P&gt;lst_head TYPE solisti1,&lt;/P&gt;&lt;P&gt;lst_packing_list TYPE sopcklsti1,&lt;/P&gt;&lt;P&gt;lst_mess TYPE solisti1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;lw_subject = pv_subject.&lt;/P&gt;&lt;P&gt;lw_name = pv_name.&lt;/P&gt;&lt;P&gt;CONCATENATE lw_name '.csv' INTO lw_name.&lt;/P&gt;&lt;P&gt;CONDENSE lw_name NO-GAPS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fill the email content&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DESCRIBE TABLE pi_mess LINES lw_lines.&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;lst_doc_data-obj_langu = sy-langu.&lt;/P&gt;&lt;P&gt;lst_doc_data-obj_name = lw_name.&lt;/P&gt;&lt;P&gt;lst_doc_data-obj_descr = lw_subject.&lt;/P&gt;&lt;P&gt;READ TABLE pi_mess INTO lst_mess INDEX lw_lines.&lt;/P&gt;&lt;P&gt;lst_doc_data-doc_size = ( lw_lines - 1 ) * 255 +&lt;/P&gt;&lt;P&gt;STRLEN( lst_mess ).&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;REFRESH li_packing_list.&lt;/P&gt;&lt;P&gt;lst_packing_list-transf_bin = space.&lt;/P&gt;&lt;P&gt;lst_packing_list-head_start = 1.&lt;/P&gt;&lt;P&gt;lst_packing_list-head_num = 0.&lt;/P&gt;&lt;P&gt;lst_packing_list-body_start = 1.&lt;/P&gt;&lt;P&gt;lst_packing_list-body_num = lw_lines.&lt;/P&gt;&lt;P&gt;lst_packing_list-doc_type = 'RAW'.&lt;/P&gt;&lt;P&gt;lst_packing_list-doc_size = ( lw_lines - 1 ) * 255 +&lt;/P&gt;&lt;P&gt;STRLEN( lst_mess ).&lt;/P&gt;&lt;P&gt;APPEND lst_packing_list TO li_packing_list.&lt;/P&gt;&lt;P&gt;CLEAR lst_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&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR lw_lines.&lt;/P&gt;&lt;P&gt;DESCRIBE TABLE objbin LINES lw_lines.&lt;/P&gt;&lt;P&gt;lst_packing_list-transf_bin = 'X'.&lt;/P&gt;&lt;P&gt;lst_packing_list-head_start = 1.&lt;/P&gt;&lt;P&gt;lst_packing_list-head_num = 1.&lt;/P&gt;&lt;P&gt;lst_packing_list-body_start = 1.&lt;/P&gt;&lt;P&gt;lst_packing_list-body_num = lw_lines.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;lst_packing_list-doc_type = 'CSV'.&lt;/P&gt;&lt;P&gt;lst_packing_list-obj_descr = lw_subject.&lt;/P&gt;&lt;P&gt;lst_packing_list-obj_name = lw_name.&lt;/P&gt;&lt;P&gt;lst_packing_list-doc_size = ( lw_lines ) * 255.&lt;/P&gt;&lt;P&gt;APPEND lst_packing_list TO li_packing_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;REFRESH li_head.&lt;/P&gt;&lt;P&gt;CLEAR lst_head. REFRESH li_head.&lt;/P&gt;&lt;P&gt;lst_head-line = lw_name. APPEND lst_head TO li_head.&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;REFRESH li_receivers.&lt;/P&gt;&lt;P&gt;LOOP AT pi_email INTO lst_pemail.&lt;/P&gt;&lt;P&gt;lst_receivers-receiver = lst_pemail-receiver.&lt;/P&gt;&lt;P&gt;lst_receivers-rec_type = 'U'.&lt;/P&gt;&lt;P&gt;lst_receivers-com_type = 'INT'.&lt;/P&gt;&lt;P&gt;APPEND lst_receivers TO li_receivers.&lt;/P&gt;&lt;P&gt;CLEAR lst_receivers.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Send mail to external address&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CALL FUNCTION 'SO_DOCUMENT_SEND_API1'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;document_data = lst_doc_data&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;put_in_outbox = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;commit_work = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;packing_list = li_packing_list&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;object_header = li_head&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;contents_bin = objbin&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;contents_txt = pi_mess&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;receivers = li_receivers&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;too_many_receivers = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;document_not_sent = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;document_type_not_exist = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;operation_no_authorization = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;parameter_error = 5&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;x_error = 6&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;enqueue_error = 7&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OTHERS = 8.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;document_data = lst_doc_data&lt;/P&gt;&lt;P&gt;PUT_IN_OUTBOX = 'X'&lt;/P&gt;&lt;P&gt;COMMIT_WORK = 'X'&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 = li_packing_list&lt;/P&gt;&lt;P&gt;OBJECT_HEADER = li_head&lt;/P&gt;&lt;P&gt;CONTENTS_BIN = objbin&lt;/P&gt;&lt;P&gt;CONTENTS_TXT = pi_mess&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CONTENTS_HEX =&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 = li_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;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&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;ENDFORM. "Send_mail&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Jun 2007 09:08:58 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/csv-attachment/m-p/2411866#M538008</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-21T09:08:58Z</dc:date>
    </item>
    <item>
      <title>Re: csv attachment</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/csv-attachment/m-p/2411867#M538009</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;more than 255 char can be taken care of&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;just write like this...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; CLASS cl_abap_char_utilities DEFINITION LOAD.&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;     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;clear it_attach.&lt;/P&gt;&lt;P&gt;concatenate a b c d e f separated by con_tab into it_attach.&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;clear it_attach.&lt;/P&gt;&lt;P&gt;concatenate g h i j separated by con_tab into it_attach.&lt;/P&gt;&lt;P&gt;concatenate con_tab 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;clear it_attach.&lt;/P&gt;&lt;P&gt;concatenate k l m n separated by con_tab into it_attach.&lt;/P&gt;&lt;P&gt;concatenate con_tab it_attach into it_attach.&lt;/P&gt;&lt;P&gt;append it_attach.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Jun 2007 09:10:14 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/csv-attachment/m-p/2411867#M538009</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-21T09:10:14Z</dc:date>
    </item>
  </channel>
</rss>

