Attaching excel files in quotation VA21

Dear All,
I would like to attach excel files to my quotation through transaction VA21.
This is for the reason that costing that is outside SAP can be worked out in Excel files and the final price can be entered in SAP. Also the working file can be attached for future reference.
Is there any possibility for the same?
Kindly revert at the earliest.
Regards
Anil Kumar

Hello,
I think you can attach a file in SAP, There is an option in SAP called Object Services, using this you can attach files
You can check the list of Object Services for your Quotation,
In the Main Menu> System> Services for Object
If any Object Services are available then you get new tool bar for Object Services, here you can choose create option and attach the file.
This is depended on transaction. It may not be available in Create Mode (VA21). So check in the Change mode VA22.
Please find the url for more on List of Object Services
http://10.243.45.74:82/sap4.6c/helpdata/EN/c8/96c998142f11d389940000e8216438/frameset.htm
I hope this helps you..
Regards,
Murali

Similar Messages

  • How to attach Excel file in Mail Receiver Adapter?

    Hello Experts,
    In R/3 coding I have Internal Table data available for which i have to generate an Alert mail with Excel file attachment.
    This is the scenario of Proxy sender to Mail Receiver. but I don't know how to convert the Internal Table data into Alert mail excel File attachment.
    Please suggest me.
    Regards,
    Jagesh

    Hi Santhosh,
    Thanks for your suggestion.
    But without using XSLT mapping also, I have generated the Excel File attachment.
    Throgh R/3 coding I am passing following.
    G_ALERT_INPUT-MT_R3REQUEST_MAIL_SEND-MAIL-FROM = From Mail Address.
          G_ALERT_INPUT-MT_R3REQUEST_MAIL_SEND-MAIL-TO = TO Mail Address.
          G_ALERT_INPUT-MT_R3REQUEST_MAIL_SEND-MAIL-SUBJECT = 'Test Alert mail'.
          G_ALERT_INPUT-MT_R3REQUEST_MAIL_SEND-MAIL-DATE = SY-DATUM.
          G_ALERT_INPUT-MT_R3REQUEST_MAIL_SEND-MAIL-CONTENT_TYPE =   'text/plain;name="CSV_data.csv"'.
          G_ALERT_INPUT-MT_R3REQUEST_MAIL_SEND-MAIL-CONTENT = 'Testing1,Testing2,Testing3'.
          G_ALERT_INPUT-MT_R3REQUEST_MAIL_SEND-MAIL-CONTENT_DISPOSITION = 'attachment'.
    And in the Mail Receiver Adapter i have configured as following.
    Use Mail package and Keep Attachment both options are selectd.
    So I am getting the data in different columns in the excel file But How to set the Next ROW in Excel file?
    I thnk i am missing something in CONTENT value.
    Regards
    Jagesh

  • Attach excel file to the WI

    Good morning,
    How can I attach a file, in this case an Excel form, to the WI?
    Thank you very much for your suggestions,
    Ivson

    Hi,
    I think you should use method attach of business object SOFM.
    Searcht this forum for more info, i'm sure it's answered before.
    Kind regards, Rob Dielemans

  • Trying to attach Excel file to my email...but it is too big...how do I fix?

    I am trying to attach two excel files to an email, and each time it goes as follows:
    1. push the attach file button
    2. chose my files
    3. push the attach files button
    4. the blue "progress" stripe begins to fill the address bar
    5. Then it stops about an eighth of the way toward the end, and doesnt go any further...
    I tried letting it go for a while, and giving it time, but it doesnt work. The file size is 34.4 (which I know is huge), but there is only about 20 lines of the Excel being used, but the program is trying to attach 64,599 lines of unused space, and that is why it isnt attaching im sure, but i dont know how to fix it, or if it is even possible.
    Please help!
    g5   Mac OS X (10.4.2)  

    what email provider do you use?
    i'd be surprised anyway if it will allow an attachment of that size. the limit is usuall between 1 and 5 MB, some going to 10 or 15 like gmail.
    34MB? not unless you have an expensive or corporate email provider.
    you can:
    1: do like daddypaycheck said and reduce the file size by deleting unnecessary rows or collumns,
    2: download OpenOffice.org, or NeoOffice, see if you like that and save it in the native format, usuall smaller file (beware compatibility)
    3: use dropstuff or the like to break the file apart into multiple smaller compressed chunks, and send them in multiple emails (the size of the chunks each should match the attachment size limit for your email provider, see their website)
    4:this is my favorite - put the file in your Sites folder, in your user's Home folder. open system prefs-> sharing. check the box to enable personal web sharing. go to www.whatismyip.org and copy the string of numbers that appear (that's your external ip). now you can host the file from your computer, and only email people a link to it! the link should be like this:
    http://yourip/~your_short_username/name_of_exceldocument.xls
    for example, here is my resume in .pdf, hosted from my computer (let me know if it works for you!)
    http://67.40.250.86/~Willeyeam/images/WBLResume.pdf
    Bam! I'd go with number 4, and test the url in your browser to make sure it works. once you get the page, you can "save as" and download the file. that way people can receive an email with only text, including the url (link) to the hosted file on your computer. then they can "save as" and download the file.
    another, more sophisticated way to do this is to write a small .html page that has a link to that file (in your sites folder). name the .html file "index.html" and replace the file by that name which is by default placed in your Sites folder. that will then be your home page at:
    http://yourip/~your_shortusername/
    Rock on!

  • Just added Mavericks 10.9.1 and can no longer add an Excel file creating yesterday to an email message created on my MacBook Pro. I can locate the file in my Excel icon but not to attach to an email

    Need help in attaching Excel files to emails......Excel spreadsheet created yesterday cannot be located to attach? The file can be located by entering the Excel icon but not visable when creating an email and attempting to attach.....seems to only inpact newly created files?

    Support - Office.com - Microsoft

  • Attach excel - Purchase Order - ME21N

    Hi guys
    Can i attach an excel in BAPI_PO_CREATE / BAPI_PO_CHANGE or any FM that allow it.
    Best Regards

    Hi,
    Your question is incomplete, please give some more details.
    the BAPI are used to create/change PO's. how can you attach excel file.
    you mean to say first get the data from excel file to internal table using GUI_UPLOAD FM and then loop the internal table ,pass the info to the BAPI's .
    Regards
    vijay

  • EMail attachment - Excel - Read only

    Hi Guys,
    I am send a email with an attachment using the F.M. - SO_NEW_DOCUMENT_ATT_SEND_API1,
    I am attaching a excel file also and everything works perfect but I wamt to make the attached excel file as READ-ONLY file Now it is modifiable, Please let me know is there any possible way to do it.
    Regards,
    Prabhu

    Hi Prabhu,
    As you want to make the file READ ONLY, i do not think it is possible with this function module. But there is another option which will make your file non transferable.
    Pass RECEIVERS-NO_FORWARD = 'X' in SO_NEW_DOCUMENT_ATT_SEND_API1 function module.
    Hope this will help you out.
    Regards,
    Sourabh

  • Working with Excel files

    I recieve a lot of excel files through email that i need to sign/manipulate and forward on to others. i have no problems opening them but i cant manipulate the document at all. i have looked at documents to go but it seems that i have to load a particular document on my laptop and then load it onto my iPad to be able to manipulate the documnet. Does anyone know how i can take an attached excel file from an email open it on my iPad manipulate it a little and then reattach it to an email and send it on?
    I sure would love so help. If I can do this then I can leave my laptop at home.

    Hey KillerDawg and welcome to the forum -
    You should consider [Numbers|http://www.apple.com/ipad/features/numbers.html] for your iPad. Likewise, Pages for iPad will work with a word file.
    -GDF

  • Attaching XLS document to Quotation Creation (VA21)

    Hi All,
    We have a reqt in our project to attach XLS file to VA21 transaction. We don't want the attachement data to be uploaded but rather the attachment to stay with the quotation.
    Let me know how this can be achieved.
    Regards,
    Jayant

    Hi,
    It is Possible....
    Thanks and regards
    Sreekanth.S

  • After I Update to IOS 7.1 I can't open the excel file attached in  my email

    After I updated my Iphone 5s from IOS7.0.6 to IOS7.1 when i check my email i can't open excel file attached in my email i check with my frineds phone thy have same issoue

    David_PDX wrote:
    Hi Alex,
    The trick to this whole thing is to scroll to the bottom of the message. There should be a dashed line at the bottom of the email message with text underneath it that says, "This message was downloaded as plain text." Underneath that it should say (in blue hyperlink text) "Download full message". Select that hyperlink, and the Excel file should download completely. You should then be able to select the document and have it open correctly.
    I have had the same concern regardless of file format that is sent, so I do not believe your issue is with file format. Hope this helps.
    I've seen the same thing happen with images, which it displays in a corrupted form. It's fixed by downloading the full message.
    There's a more serious side effect of this, which I've now seen with several types of files. If one FORWARDS the email to someone else, the attached files it sends them are CORRUPTED and unopenable too. In the case of a Word files I looked at, it had dropped the last two bytes of the file.
    The workaround for that is to download the full message before forwarding.
    I'm seeing this happening with so many types of attachments that I'm assuming it affects them all. Please everyone report this to Apple feedback (http://www.apple.com/feedback/). It's one thing not being able to open a file on your device, it's another to have files corrupted permanently just by forwarding.

  • How to attach an internal table as excel file in wf container.

    Hi all, I have a task that is attaching an xml file in wf container, but I need to attach as excel file, how can I convert this xml to excel ?
    my currento code is like this:
    * Call Transformation to generate XSTRING of the generated data      *
      TRY .
          CALL TRANSFORMATION ztr_wf_excel
                       SOURCE appl_stat = li_data2
                       RESULT XML pi_attach.
        CATCH cx_st_error INTO lo_exception.
          lv_text = lo_exception->get_text( ).
      ENDTRY.
      IF lv_text IS INITIAL.
        pi_header-file_type      = 'B'.
        pi_header-file_name      = 'Data'.
        pi_header-file_extension = 'XLS'.
        pi_header-language       = 'E'.
          CALL FUNCTION 'SAP_WAPI_ATTACHMENT_ADD'
            EXPORTING
              workitem_id = lw_worklist-wi_id
              att_header  = pi_header
              att_bin     = pi_attach
              do_commit   = 'X'
            IMPORTING
              att_id      = lw_att_id.
    this code is working fine, but I need to attach an excel file instead an xml file
    How can I do that?
    Regards

    hi ,
    Follow this approach :
    You can use following funcntions. First one to create internal table to string and second FM SCMS_STRING_TO_XSTRING to convert String to XSTRING. Then this XSTRING value you can pass to CL_WD_RUNTIME_SERVICES=>ATTACH_FILE_TO_RESPONSE.
    data: tab_str type string.
      data: begin of it_tab1,
           name(20),
           age(10) ,
          end of it_tab1.
    data : lv_name type xstring.
             data it_tab like STANDARD TABLE OF it_tab1.
             data: wa like line of it_tab.
             wa-name = 'naresh'.
             wa-age = '30'.
             append wa to it_tab.
             wa-name = 'naresh1'.
             wa-age = '31'.
             append wa to it_tab.
    CALL FUNCTION 'SOTR_SERV_TABLE_TO_STRING'
    IMPORTING
       TEXT                      = tab_str
      TABLES
        TEXT_TAB                  = it_tab
    CALL FUNCTION 'SCMS_STRING_TO_XSTRING'
      EXPORTING
        TEXT           = tab_str
    IMPORTING
       BUFFER         = lv_name
    CALL METHOD CL_WD_RUNTIME_SERVICES=>ATTACH_FILE_TO_RESPONSE
      EXPORTING
        I_FILENAME      = 'c:\test.txt'
        I_CONTENT       = lv_name
        I_MIME_TYPE     = 'TXT'
    Refer below links. This has been discussed many times :
    Re: download a file

  • Internal Table attached as Excel file to an eMail - BCS_EXAMPLE_7 for UC

    Hi forums,
    SAP provided an example report to send out internal tables attached as an Excel file to a recipients eMail address. I attached the coding of the BCS_EXAMPLE_7 programm to this thread.
    report bcs_example_7.
    This report provides an example for sending an Excel
    attachment in Unicode Systems
    constants:
      gc_tab  type c value cl_bcs_convert=>gc_tab,
      gc_crlf type c value cl_bcs_convert=>gc_crlf.
    parameters:
      mailto type ad_smtpadr
       default 'john.doe(a)crazy-company.com'.                    "#EC *
    data send_request   type ref to cl_bcs.
    data document       type ref to cl_document_bcs.
    data recipient      type ref to if_recipient_bcs.
    data bcs_exception  type ref to cx_bcs.
    data main_text      type bcsy_text.
    data binary_content type solix_tab.
    data size           type so_obj_len.
    data sent_to_all    type os_boolean.
    start-of-selection.
      perform create_content.
      perform send.
    *&      Form  send
    form send.
      try.
        -------- create persistent send request ------------------------
          send_request = cl_bcs=>create_persistent( ).
        -------- create and set document with attachment ---------------
        create document object from internal table with text
          append 'Hello world!' to main_text.                   "#EC NOTEXT
          document = cl_document_bcs=>create_document(
            i_type    = 'RAW'
            i_text    = main_text
            i_subject = 'Test Created By BCS_EXAMPLE_7' ).      "#EC NOTEXT
        add the spread sheet as attachment to document object
          document->add_attachment(
            i_attachment_type    = 'xls'                        "#EC NOTEXT
            i_attachment_subject = 'ExampleSpreadSheet'         "#EC NOTEXT
            i_attachment_size    = size
            i_att_content_hex    = binary_content ).
        add document object to send request
          send_request->set_document( document ).
        --------- add recipient (e-mail address) -----------------------
        create recipient object
          recipient = cl_cam_address_bcs=>create_internet_address( mailto ).
        add recipient object to send request
          send_request->add_recipient( recipient ).
        ---------- send document ---------------------------------------
          sent_to_all = send_request->send( i_with_error_screen = 'X' ).
          commit work.
          if sent_to_all is initial.
            message i500(sbcoms) with mailto.
          else.
            message s022(so).
          endif.
      ------------ exception handling ----------------------------------
      replace this rudimentary exception handling with your own one !!!
        catch cx_bcs into bcs_exception.
          message i865(so) with bcs_exception->error_type.
      endtry.
    endform.                    "send
    *&      Form  create_content
    Create Example Content
    1) Write example text into a string
    2) convert this string to solix_tab
    form create_content.
      data lv_string type string.
      data ls_t100 type t100.
    as example content we use some system messages out of t100
    get them for all installed languages from db
    and write one line for each language into the spread sheet
    columns are separated by TAB and each line ends with CRLF
      concatenate 'This Is Just Example Text!'                  "#EC NOTEXT
                  gc_crlf gc_crlf
                  into lv_string.
    header line
      concatenate lv_string
                  'MSGID'    gc_tab
                  'MSGNO'    gc_tab
                  'Language' gc_tab                             "#EC NOTEXT
                  'Text'     gc_crlf                            "#EC NOTEXT
                  into lv_string.
    data lines
      select * from t100 into ls_t100
        where arbgb = 'SO' and msgnr = '182'.
        concatenate lv_string
                    ls_t100-arbgb gc_tab
                    ls_t100-msgnr gc_tab
                    ls_t100-sprsl gc_tab
                    ls_t100-text  gc_crlf
                    into lv_string.
      endselect.
      select * from t100 into ls_t100
        where arbgb = 'SO' and msgnr = '316'.
        concatenate lv_string
                    ls_t100-arbgb gc_tab
                    ls_t100-msgnr gc_tab
                    ls_t100-sprsl gc_tab
                    ls_t100-text  gc_crlf
                    into lv_string.
      endselect.
    convert the text string into UTF-16LE binary data including
    byte-order-mark. Mircosoft Excel prefers these settings
    all this is done by new class cl_bcs_convert (see note 1151257)
      try.
          cl_bcs_convert=>string_to_solix(
            exporting
              iv_string   = lv_string
              iv_codepage = '4103'  "suitable for MS Excel, leave empty
              iv_add_bom  = 'X'     "for other doc types
            importing
              et_solix  = binary_content
              ev_size   = size ).
        catch cx_bcs.
          message e445(so).
      endtry.
    endform.                    "create_content
    NOTES:
    UTF-16LE including the BOM (Byte order mark)
    is preferred by Microsoft Excel. If you want to create
    other binary content you may choose another codepage (e.g.
    '4110' (UTF-8) which is standard for e-mails).
    Find SAP codepage names in the drop down list
    for the codepage setting of node SMTP in transaction SCOT.
    Or: leave iv_codepage and iv_add_bom empty. Then the target
    codepage is set according to SAPconnect settings
    Important:
    SAP neither guarantees that the attachment created
    by this report can be opened by all Excel Versions nor
    that it can be opened by any 3rd party software at all
    Best regards to you
    Thorsten Hüser
    SAP CRM Senior consultant
    arvato / Bertelsmann

    Hi forums,
    SAP provided an example report to send out internal tables attached as an Excel file to a recipients eMail address. I attached the coding of the BCS_EXAMPLE_7 programm to this thread.
    report bcs_example_7.
    This report provides an example for sending an Excel
    attachment in Unicode Systems
    constants:
      gc_tab  type c value cl_bcs_convert=>gc_tab,
      gc_crlf type c value cl_bcs_convert=>gc_crlf.
    parameters:
      mailto type ad_smtpadr
       default 'john.doe(a)crazy-company.com'.                    "#EC *
    data send_request   type ref to cl_bcs.
    data document       type ref to cl_document_bcs.
    data recipient      type ref to if_recipient_bcs.
    data bcs_exception  type ref to cx_bcs.
    data main_text      type bcsy_text.
    data binary_content type solix_tab.
    data size           type so_obj_len.
    data sent_to_all    type os_boolean.
    start-of-selection.
      perform create_content.
      perform send.
    *&      Form  send
    form send.
      try.
        -------- create persistent send request ------------------------
          send_request = cl_bcs=>create_persistent( ).
        -------- create and set document with attachment ---------------
        create document object from internal table with text
          append 'Hello world!' to main_text.                   "#EC NOTEXT
          document = cl_document_bcs=>create_document(
            i_type    = 'RAW'
            i_text    = main_text
            i_subject = 'Test Created By BCS_EXAMPLE_7' ).      "#EC NOTEXT
        add the spread sheet as attachment to document object
          document->add_attachment(
            i_attachment_type    = 'xls'                        "#EC NOTEXT
            i_attachment_subject = 'ExampleSpreadSheet'         "#EC NOTEXT
            i_attachment_size    = size
            i_att_content_hex    = binary_content ).
        add document object to send request
          send_request->set_document( document ).
        --------- add recipient (e-mail address) -----------------------
        create recipient object
          recipient = cl_cam_address_bcs=>create_internet_address( mailto ).
        add recipient object to send request
          send_request->add_recipient( recipient ).
        ---------- send document ---------------------------------------
          sent_to_all = send_request->send( i_with_error_screen = 'X' ).
          commit work.
          if sent_to_all is initial.
            message i500(sbcoms) with mailto.
          else.
            message s022(so).
          endif.
      ------------ exception handling ----------------------------------
      replace this rudimentary exception handling with your own one !!!
        catch cx_bcs into bcs_exception.
          message i865(so) with bcs_exception->error_type.
      endtry.
    endform.                    "send
    *&      Form  create_content
    Create Example Content
    1) Write example text into a string
    2) convert this string to solix_tab
    form create_content.
      data lv_string type string.
      data ls_t100 type t100.
    as example content we use some system messages out of t100
    get them for all installed languages from db
    and write one line for each language into the spread sheet
    columns are separated by TAB and each line ends with CRLF
      concatenate 'This Is Just Example Text!'                  "#EC NOTEXT
                  gc_crlf gc_crlf
                  into lv_string.
    header line
      concatenate lv_string
                  'MSGID'    gc_tab
                  'MSGNO'    gc_tab
                  'Language' gc_tab                             "#EC NOTEXT
                  'Text'     gc_crlf                            "#EC NOTEXT
                  into lv_string.
    data lines
      select * from t100 into ls_t100
        where arbgb = 'SO' and msgnr = '182'.
        concatenate lv_string
                    ls_t100-arbgb gc_tab
                    ls_t100-msgnr gc_tab
                    ls_t100-sprsl gc_tab
                    ls_t100-text  gc_crlf
                    into lv_string.
      endselect.
      select * from t100 into ls_t100
        where arbgb = 'SO' and msgnr = '316'.
        concatenate lv_string
                    ls_t100-arbgb gc_tab
                    ls_t100-msgnr gc_tab
                    ls_t100-sprsl gc_tab
                    ls_t100-text  gc_crlf
                    into lv_string.
      endselect.
    convert the text string into UTF-16LE binary data including
    byte-order-mark. Mircosoft Excel prefers these settings
    all this is done by new class cl_bcs_convert (see note 1151257)
      try.
          cl_bcs_convert=>string_to_solix(
            exporting
              iv_string   = lv_string
              iv_codepage = '4103'  "suitable for MS Excel, leave empty
              iv_add_bom  = 'X'     "for other doc types
            importing
              et_solix  = binary_content
              ev_size   = size ).
        catch cx_bcs.
          message e445(so).
      endtry.
    endform.                    "create_content
    NOTES:
    UTF-16LE including the BOM (Byte order mark)
    is preferred by Microsoft Excel. If you want to create
    other binary content you may choose another codepage (e.g.
    '4110' (UTF-8) which is standard for e-mails).
    Find SAP codepage names in the drop down list
    for the codepage setting of node SMTP in transaction SCOT.
    Or: leave iv_codepage and iv_add_bom empty. Then the target
    codepage is set according to SAPconnect settings
    Important:
    SAP neither guarantees that the attachment created
    by this report can be opened by all Excel Versions nor
    that it can be opened by any 3rd party software at all
    Best regards to you
    Thorsten Hüser
    SAP CRM Senior consultant
    arvato / Bertelsmann

  • Excel file(.xls) as attachment and Body(Signature) via Receiver Mail Adapter

    Hi PI Experts,
    I have a requirement File(.txt) - PI(7.4) - mail (.xls attachment and signature in the body). Can anyone pls help me with the best approach to send excel file as mail attachment and signature in the body.
    Thanks,
    Sri

    Hi
    You can try this approach
    1. use mail package and java mapping to populate the mail package.
    inside the java mapping do the following
    a. read the text file and convert it to excel and then set it as additional attachment.
    b. map the signature and body with the field 'content' of mail package.
    2. on the receiver mail adapter check both mail package and keep attachment options.
    Hopefully this will work.
    Reference links
    excel write : Excel and Java - Read and Write Excel with Java - Tutorial
    set attachment: How to save MainDocument as additonal attachment in sender channel?

  • Adapter Module Error-Sending excel file as an attachment of the mail

    Hi ,
    My scenario is as follows
    1)I am sending an excel file as an attachment of the mail.I need to read that excel attachment as a payload.
    So mail adapter is used in sender side.
      To configure this, have used standard PayloadSwapBean  module with proper module key.
      Next to convert excel to XML another custom adapter module is being used.
    Both this adapter module , I configured into the CC of sender mail adapter.
    The order in which adapter modules are being used in the sender CC are as follows
    1)localejbs/AF_Modules/PayloadSwapBean
    2)localejbs/MDPExcelToXMLConversion
    3)sap.com/com.sap.aii.adapter.mail.app/XIMailAdapterBean
    MDPExcelToXMLConversion-Custom adapter module written to convert excel to xml.
    I am getting the following error
    exception caught during processing mail message [4899]com.sap.aii.af.lib.mp.module.ModuleException
    And also,
    no messages in coming MONI of PI.
    Pls suggest what to do.
    Thanks
    Ayan

    Shabarish,
    Will the ordering in which the adapter modules(In this case there are two-PayloadSwapBean & MDPExcelToXML) are appearing into Module tab of sender adapter matter?
    Firstly, what is happenning
    1)If I take out the custom  adapter module MDPExcelToXML and put only PayloadSwapBean  then it is successfully converting mail attachment into the main Payload i.e PayloadSwapBean   module is working.
    2)Nextly, my local code( i.e java code without including standard Module specific method like ejbActivate(),ejbPassivate(),process()  etc etc.)) for MDPExcelToXML is successfuly converting the excel file into the XML file.Then I am making the local code into adapter module specific code and deploying that.
    A few question arises here,
    Do I need to do any specific configurations here in PI for this particular things.Maybe both the adapter module is clashing with each other.
    And also using tracing and logging into my custom adapter module code.Getting the following error,
    java.io.IOException: Unable to read entire header; 116 bytes read; expected 512 bytes#
    Thanks
    Ayan

  • To Send HTML Format and excel file attachment  in same mail

    Dear All,
            Have requerment ,to send a mail options HTML table format and same data in excel file attachement.have capable to do the html format using methods BCS .but how to send excel format attachment in same  mail.
    Please guide me how to do it.
    Regards ,
    Santhu
    Edited by: santosh jajur on Apr 9, 2010 1:54 PM

    Santhosh,
    please check the code:
    report bcs_example_7.
    This report provides an example for sending an Excel
    attachment in Unicode Systems
    constants:
      gc_tab  type c value cl_bcs_convert=>gc_tab,
      gc_crlf type c value cl_bcs_convert=>gc_crlf.
    parameters:
      mailto type ad_smtpadr
       default 'ur mail id'.                    "#EC *
    data send_request   type ref to cl_bcs.
    data document       type ref to cl_document_bcs.
    data recipient      type ref to if_recipient_bcs.
    data bcs_exception  type ref to cx_bcs.
    data main_text      type bcsy_text.
    data binary_content type solix_tab.
    data size           type so_obj_len.
    data sent_to_all    type os_boolean.
    start-of-selection.
      perform create_content.
      perform send.
    form send.
      try.
          send_request = cl_bcs=>create_persistent( ).
        create document object from internal table with text
          append 'Hello world!' to main_text.                   "#EC NOTEXT
          document = cl_document_bcs=>create_document(
            i_type    = 'RAW'
            i_text    = main_text
            i_subject = 'Test Created By BCS_EXAMPLE_7' ).      "#EC NOTEXT
        add the spread sheet as attachment to document object
          document->add_attachment(
            i_attachment_type    = 'xls'                        "#EC NOTEXT
            i_attachment_subject = 'ExampleSpreadSheet'         "#EC NOTEXT
            i_attachment_size    = size
            i_att_content_hex    = binary_content ).
        add document object to send request
          send_request->set_document( document ).
        --------- add recipient (e-mail address) -----------------------
        create recipient object
          recipient = cl_cam_address_bcs=>create_internet_address( mailto ).
        add recipient object to send request
          send_request->add_recipient( recipient ).
        ---------- send document ---------------------------------------
          sent_to_all = send_request->send( i_with_error_screen = 'X' ).
          commit work.
          if sent_to_all is initial.
            message i500(sbcoms) with mailto.
          else.
            message s022(so).
          endif.
      endtry.
    endform.                    "send
    form create_content.
      data lv_string type string.
      data ls_t100 type t100.
    columns are separated by TAB and each line ends with CRLF
      concatenate 'This Is Just Example Text!'                  "#EC NOTEXT
                  gc_crlf gc_crlf
                  into lv_string.
    header line
      concatenate lv_string
                  'MSGID'    gc_tab
                  'MSGNO'    gc_tab
                  'Language' gc_tab                             "#EC NOTEXT
                  'Text'     gc_crlf                            "#EC NOTEXT
                  into lv_string.
    data lines
      select * from t100 into ls_t100
        where arbgb = 'SO' and msgnr = '182'.
        concatenate lv_string
                    ls_t100-arbgb gc_tab
                    ls_t100-msgnr gc_tab
                    ls_t100-sprsl gc_tab
                    ls_t100-text  gc_crlf
                    into lv_string.
      endselect.
      select * from t100 into ls_t100
        where arbgb = 'SO' and msgnr = '316'.
        concatenate lv_string
                    ls_t100-arbgb gc_tab
                    ls_t100-msgnr gc_tab
                    ls_t100-sprsl gc_tab
                    ls_t100-text  gc_crlf
                    into lv_string.
      endselect.
      try.
          cl_bcs_convert=>string_to_solix(
            exporting
              iv_string   = lv_string
              iv_codepage = '4103'  "suitable for MS Excel, leave empty
              iv_add_bom  = 'X'     "for other doc types
            importing
              et_solix  = binary_content
              ev_size   = size ).
        catch cx_bcs.
          message e445(so).
      endtry.
    endform.                    "create_content
    Thanks.

Maybe you are looking for