Read spool data and send it through e-mail as .txt or .xls attachment

Hi All,
I have to read the spool data and send it via e-mail as .txt or .xls attachment. I have used FMs LIST_TO_ASCI, RSPO_RETURN_SPOOLJOB and SO_SOLITAB_TO_SOLIXTAB. I am using FM SO_DOCUMENT_SEND_API1 to send e-mail.
My problem is, the text file being sent is not showing entire data. It's getting truncated after 255 characters. Is this a standard? If yes, then is there any work around for it?
Alternatively, I can send the file as excel attachment. How can this be done?
Thanks,
Ashwini

You will have to convert string to Xstring and then to binary to acheive this.
Check this wiki to send a mail attachment with more than 255 characters.
[https://wiki.sdn.sap.com/wiki/display/Snippets/Tosendamailattachmentwithmorethan255charactersinaline]
Vikranth

Similar Messages

  • I'm unable to send and receive email through Apple Mail 4.  I've checked my settings on Preferences, and my password to Gmail is up to date for syncing with IMAP, but it still won't connect.  Suggestions?

    I'm unable to send and receive email through Apple Mail 4.  I've checked my settings on Preferences, and my password to Gmail is up to date for syncing with IMAP, but it still won't connect.  Suggestions?

    I think it's trying to open it in a gMail eMail & is losing your gMail password that it needs log into gMail, but not 100% positive.
    Have you tried Right clicking or Control+click on the eMail link & choose Copy? Works on some, not others.

  • Zip the data and send as an email attachment

    Hi,
    I have a requirement where I want to send the log as an email attachment. The log size is very huge about 20MB. When I try to send this log as an excel attachment through FM SO_DOCUMENT_SEND_API1 its throwing an error related to the attachment size. Is there any way to zip the data and send the zipped attachment?
    Any help is really appreciated.
    Thnaks,
    Rajinikanth G

    which might help you getting the file from the pc or you can change the source path and then send it to the following reciptant
    data method1 like sy-ucomm.
    data g_user like soudnamei1.
    data g_user_data like soudatai1.
    data g_owner like soud-usrnam.
    data g_receipients like soos1 occurs 0 with header line.
    data g_document like sood4 .
    data g_header like sood2.
    data g_folmam like sofm2.
    data g_objcnt like soli occurs 0 with header line.
    data g_objhead like soli occurs 0 with header line.
    data g_objpara  like selc occurs 0 with header line.
    data g_objparb  like soop1 occurs 0 with header line.
    data g_attachments like sood5 occurs 0 with header line.
    data g_references like soxrl occurs 0 with header line.
    data g_authority like sofa-usracc.
    data g_ref_document like sood4.
    data g_new_parent like soodk.
    data: begin of g_files occurs 10 ,
      text(4096) type c,
       end of g_files.
    data : fold_number(12) type c,
           fold_yr(2) type c,
           fold_type(3) type c.
    parameters ws_file(4096) type c default 'c:\debugger.txt'.
    Can me any file fromyour pc ....either xls or word or ppt etc ...
    g_user-sapname = sy-uname.
    call function 'SO_USER_READ_API1'
    exporting
       user                            = g_user
       PREPARE_FOR_FOLDER_ACCESS       = ' '
    importing
       user_data                       = g_user_data
    EXCEPTIONS
       USER_NOT_EXIST                  = 1
       PARAMETER_ERROR                 = 2
       X_ERROR                         = 3
       OTHERS                          = 4
    if sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif.
    fold_type = g_user_data-outboxfol+0(3).
    fold_yr = g_user_data-outboxfol+3(2).
    fold_number =  g_user_data-outboxfol+5(12).
    clear g_files.
    refresh : g_objcnt,
      g_objhead,
      g_objpara,
      g_objparb,
      g_receipients,
      g_attachments,
      g_references,
      g_files.
    method1 = 'SAVE'.
    g_document-foltp  = fold_type.
    g_document-folyr   = fold_yr.
    g_document-folno   = fold_number.
    g_document-objtp   = g_user_data-object_typ.
    *g_document-OBJYR   = '27'.
    *g_document-OBJNO   = '000000002365'.
    *g_document-OBJNAM = 'MESSAGE'.
    g_document-objdes   = 'Manohar testing by program'.
    g_document-folrg   = 'O'.
    *g_document-okcode   = 'CHNG'.
    g_document-objlen = '0'.
    g_document-file_ext = 'TXT'.
    g_header-objdes =  'Manohar testing by program'.
    g_header-file_ext = 'TXT'.
    call function 'SO_DOCUMENT_REPOSITORY_MANAGER'
      exporting
        method             = method1
       office_user        = sy-uname
       ref_document       = g_ref_document
       new_parent         =  g_new_parent
    importing
       authority          =  g_authority
    tables
       objcont            = g_objcnt
       objhead            = g_objhead
       objpara            = g_objpara
       objparb            = g_objparb
       recipients         = g_receipients
       attachments        = g_attachments
       references         = g_references
       files              = g_files
      changing
        document           = g_document
       header_data        = g_header
      FOLMEM_DATA        =
      RECEIVE_DATA       =
    File from the pc to send...
    method1 = 'ATTCREATEFROMPC'.
    g_files-text = ws_file.
    append g_files.
    call function 'SO_DOCUMENT_REPOSITORY_MANAGER'
      exporting
        method             = method1
       office_user        = g_owner
       ref_document       = g_ref_document
       new_parent         =  g_new_parent
    importing
       authority          =  g_authority
    tables
       objcont            = g_objcnt
       objhead            = g_objhead
       objpara            = g_objpara
       objparb            = g_objparb
       recipients         = g_receipients
       attachments        = g_attachments
       references         = g_references
       files              = g_files
      changing
        document           = g_document
       header_data        = g_header
    method1 = 'SEND'.
    g_receipients-recnam = 'MK085'.
    g_receipients-recesc = 'B'.
    g_receipients-sndex = 'X'.
    append  g_receipients.
    call function 'SO_DOCUMENT_REPOSITORY_MANAGER'
      exporting
        method             = method1
       office_user        = g_owner
       ref_document       = g_ref_document
       new_parent         =  g_new_parent
    importing
       authority          =  g_authority
    tables
       objcont            = g_objcnt
       objhead            = g_objhead
       objpara            = g_objpara
       objparb            = g_objparb
       recipients         = g_receipients
       attachments        = g_attachments
       references         = g_references
       files              = g_files
      changing
        document           = g_document
       header_data        = g_header.
    this code might help you

  • Converting OTF to EXCEL  or PDF to ECXEL  and sending Excel through mail

    Hi ,
    I need a solution for Converting OTF into EXCEL  or PDF into ECXEL  and sending Excel as a attachment to the mail.
    In my current Program I am getting OTF data from script and converting into PDF using Function module ' CONVERT_OTF'
    And sending PDF as a mail attachment using Function module 'SO_NEW_DOCUMENT_SEND_API1' it is working fine but
    My current requirement is I need to send Excel as a mail attachment instead of PDF.
    Hope it is clear for you, please give me solutions with sample code..

    Hi!
    Because OTF is not a grid, like Excel, and PDF can also contain anything, I think it is not possible to convert an OTF, or PDF into an excel spreadsheet.
    You can convert an ALV into excel and send it via email.
    Regards
    Tamá

  • How to read the date and time information of a file by labview

    how to read the date and time information of a file by labview? for example, created time and modified time.
    Solved!
    Go to Solution.

    if you need to know the last modification date of file:-
    "Functions->File I/O->Advanced File Functions->File/Directory Info.vi"
    This vi returns the value of file's last modification date. This is returned as U32 number. To see it in MM/DD/YY format you must create the indicator, right-click on it and select "Format & Precision" item from drop-down menu. Then select "Time and Date" format there.
    Thanks as kudos only

  • Text file contains data separated by pipe symbol read the data and saved in

    Hi ,
    This is Sreedhar, i am new to java. my query is Report its in text file format it contains data like GLNO,name ,amount. All fields are separated by pipe(|) symbol. I would like to read that
    data and saved into the database. Please anyone can help me.

    thx Ottobonn.
    Scanner is very usefull with string operation like in my problem..but i want try to find java.util.Scanner in j2me, i can't found this class...:(
    so, may be i can't use this class in j2me...
    i new in java, so i try myself to code the simple method for my problem,
    may be anyone can make this class more simple than my coding....:)
    public StringPipe(String _msg){
            String message = _msg;
            int pipe = 0;
            int lengthmessage = message.length();
            int lengthMsgresult = 0;
            while(lengthMsgresult<=lengthmessage){
                String msg = null;
                int pipeX = message.indexOf("|");
                if(pipeX==-1){
                    msg = message;
                else{
                    msg = message.substring(pipe, pipeX);
                    message = message.substring(pipeX+1, message.length());
                    lengthMsgresult += msg.length();  
                // the string seperated by pipe
                System.out.println("msg = " + msg);
                if(pipeX==-1){
                   break;
    }thx...

  • Email syncs now say "Updated Mar 30", the day I upgraded to Lollipop 5.0.  The notification should read the date and time you updated email receiving.  Does anyone elsehave this problem?

    Email syncs now say "Updated Mar 30", the day I upgraded to Lollipop 5.0.  Two days later it is still saying Mar 30.  The notification should read the date and time you updated email receiving.  Does anyone else have this problem?  Is there a solution to this?

    We want to make sure your phone is in working order Mb_in_NC. I know it can be difficult when you see different times. What is your make/model of your device? When did it start? Do you have a different time on any other applications?
    AmberF_VZW
    Follow us on Twitter @VZWSupport
    If my response answered your question please click the "Correct Answer" button under my response. This ensures others can benefit from our conversation. Thanks in advance for your help with this!!

  • I'm trying to unlock an Iphone 4. The celular company allready unlocked it. and send me an E Mail with the instructions to do it myself. I have done every step, and in itunes apears that my Iphone is Unlocked. But I can not use a sim CArd from another Co

    Im tying to unlock an Iphone 4.
    the celular company make it by its system, and send me an E mail with the instructions to finsh the process by myself, throug itunes.
    I did every step, and at the end appers a message telling that my Iphone is unlocked.
    but it does not work with other celular company sim card.
    It only works with the original sim Card company.
    In the Iphone appears a message teeling that has no service with another company's sim CArd.
    I don't know what to do.
    I've been doing this, with different Sim cards.
    sometimes appears a message informing that the SIM card is locked with a PIN. That i must instal the last itunes version and connect it again.
    but every Sim card I have are with PIN.
    If you can help me I;ll be very glad.
    Thank you very Much.
    nicanorfrommon

    Chrisj4203, thank you for your kind answer.
    I have done a lot of restores to the Iphone, and resets also.
    I;ve done holding both buttons as you sugested, but there is no signal appearing.
    I am in Uruguay, South America and the original company is Movistar ( Telefonica) and the new sim card is from ANTEL ( the officail and biggest company in my country).
    I don;t knoe what todo.
    I have been trying for more than one mont.
    I have gone several times to both companies. Aldo two times to Apple uruguay, and nobody can help me.

  • I would like to order an I-Book as agift, can I purchase and send to her e-mail to download?

    I would like to purchase an i-book as a gift, can I buy and send to her e-mail to download ?

    It doesn't appear you can gift a book.  Your best option would be gift an iTunes gift card, which they could redeem for the book.

  • When I try and send a link from mail it says I must re-install my OS in my 2012 Mac Air

    when I try and send a link from mail it says I must re-install my OS in my 2012 Mac Air

    Typing in additional text seems to get the job done.  This seems to be a feature of the latest IOS update, I have never had the problem before the last update.
    I use the box with the arrow just to the left of the URL block at the top of the page to send myself links to pages of interest.  Adding the extra text seems like a pointless step, but it does work.
    Thanks.

  • Can't send email through Apple mail

    I suddenly am not able to send email through Apple mail on my MacBookPro.  ipad and iphone still working.  I can also send email through att online.  My email is @att.net, and the message says "The server cannot be contacted on port 465".  (That is the proper port)

    Hi,
    Here are some suggestions,
    1. Try downloading another free email client to see if it works from there, just to eliminate other possibilities.
    2. Try removing the account in mail settings, and adding it again with the correct settings.
    Let me know what you find!
    Nolan

  • Date and time mentioned in my mails are not correct.Similar date for all mails

    The date and time shown in my mails are not correct for all the mails its showing 31/5/12 but these mails were received on 1/11/14.

    Incorrect date or time displayed in various applications

  • Zip the data and send through JDBC adapter.

    hi,
       I need to retrive the data from database, zip it and send to xi. At the receiver and i need to unzip it.
    I know that it can be achieved using java mapping. Is there any other solution?

    Hi,
    This will help you
    Zip-Transfer-Unzip: Increase the performance of your Java-ABAP applications
    Working with the PayloadZipBean module of the XI Adapter Framework
    REgards
    Seshagiri

  • Reading spool data

    Hello experts,
    I have been given an assignment to read an output from the spool file.
    I am asked to run report MB51 give materialno,posting date and run report
    for movement types 551,701.
    Then download the spool and read the records and identify them and
    do computations later on.
    I haven't worked on such a task before.If someone can give me such a coding
    snippet,i will be higly obliged.
    Points will be awarded for sure.

    Hi pick ur part from the below code
    *&u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014*
    *& Report  ZSPOOLTOPDF                                                 *
    *&u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014*
    *& Converts spool request into PDF document and emails it to           *
    *& recipicant.                                                         *
    *& Execution                                                           *
    *& u2014u2014u2014                                                           *
    *& This program must be run as a background job in-order for the write *
    *& commands to create a Spool request rather than be displayed on      *
    *& screen                                                              *
    *&u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014*
    REPORT  zspooltopdf.
    PARAMETER: p_email1 LIKE somlreci1-receiver
    DEFAULT u2018abap at sapdev.co.uku2019,
    p_sender LIKE somlreci1-receiver
    DEFAULT u2018abap at sapdev.co.uku2019,
    p_delspl  AS CHECKBOX.
    *DATA DECLARATION
    DATA: gd_recsize TYPE i.
    * Spool IDs
    TYPES: BEGIN OF t_tbtcp.
    INCLUDE STRUCTURE tbtcp.
    TYPES: END OF t_tbtcp.
    DATA: it_tbtcp TYPE STANDARD TABLE OF t_tbtcp INITIAL SIZE 0,
    wa_tbtcp TYPE t_tbtcp.
    * Job Runtime Parameters
    DATA: gd_eventid LIKE tbtcm-eventid,
    gd_eventparm LIKE tbtcm-eventparm,
    gd_external_program_active LIKE tbtcm-xpgactive,
    gd_jobcount LIKE tbtcm-jobcount,
    gd_jobname LIKE tbtcm-jobname,
    gd_stepcount LIKE tbtcm-stepcount,
    gd_error    TYPE sy-subrc,
    gd_reciever TYPE sy-subrc.
    DATA:  w_recsize TYPE i.
    DATA: gd_subject   LIKE sodocchgi1-obj_descr,
    it_mess_bod LIKE solisti1 OCCURS 0 WITH HEADER LINE,
    it_mess_att LIKE solisti1 OCCURS 0 WITH HEADER LINE,
    gd_sender_type     LIKE soextreci1-adr_typ,
    gd_attachment_desc TYPE so_obj_nam,
    gd_attachment_name TYPE so_obj_des.
    * Spool to PDF conversions
    DATA: gd_spool_nr LIKE tsp01-rqident,
    gd_destination LIKE rlgrap-filename,
    gd_bytecount LIKE tst01-dsize,
    gd_buffer TYPE string.
    * Binary store for PDF
    DATA: BEGIN OF it_pdf_output OCCURS 0.
    INCLUDE STRUCTURE tline.
    DATA: END OF it_pdf_output.
    CONSTANTS: c_dev LIKE  sy-sysid VALUE u2018DEVu2019,
    c_no(1)     TYPE c   VALUE u2018 u2018,
    c_device(4) TYPE c   VALUE u2018LOCLu2019.
    *START-OF-SELECTION.
    START-OF-SELECTION.
    * Write statement to represent report output. Spool request is created
    * if write statement is executed in background. This could also be an
    * ALV grid which would be converted to PDF without any extra effort
    WRITE u2018Hello Worldu2019.
    new-page.
    commit work.
    new-page print off.
    IF sy-batch EQ u2018Xu2019.
    PERFORM get_job_details.
    PERFORM obtain_spool_id.
    *** Alternative way could be to submit another program and store spool
    *** id into memory, will be stored in sy-spono.
    *submit ZSPOOLTOPDF2
    *        to sap-spool
    *        spool parameters   %_print
    *        archive parameters %_print
    *        without spool dynpro
    *        and return.
    * Get spool id from program called above
    *  IMPORT w_spool_nr FROM MEMORY ID u2018SPOOLTOPDFu2019.
    PERFORM convert_spool_to_pdf.
    PERFORM process_email.
    if p_delspl EQ u2018Xu2019.
    PERFORM delete_spool.
    endif.
    IF sy-sysid = c_dev.
    wait up to 5 seconds.
    SUBMIT rsconn01 WITH mode   = u2018INTu2019
    WITH output = u2018Xu2019
    AND RETURN.
    ENDIF.
    ELSE.
    SKIP.
    WRITE:/ u2018Program must be executed in background in-order for spoolu2019,
    u2018request to be created.u2019.
    ENDIF.
    *u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014*
    *       FORM obtain_spool_id                                          *
    *u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014*
    FORM obtain_spool_id.
    CHECK NOT ( gd_jobname IS INITIAL ).
    CHECK NOT ( gd_jobcount IS INITIAL ).
    SELECT * FROM  tbtcp
    INTO TABLE it_tbtcp
    WHERE      jobname     = gd_jobname
    AND        jobcount    = gd_jobcount
    AND        stepcount   = gd_stepcount
    AND        listident   <> u20180000000000u2032
    ORDER BY   jobname
    jobcount
    stepcount.
    READ TABLE it_tbtcp INTO wa_tbtcp INDEX 1.
    IF sy-subrc = 0.
    message s004(zdd) with gd_spool_nr.
    gd_spool_nr = wa_tbtcp-listident.
    MESSAGE s004(zdd) WITH gd_spool_nr.
    ELSE.
    MESSAGE s005(zdd).
    ENDIF.
    ENDFORM.
    *u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014*
    *       FORM get_job_details                                          *
    *u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014*
    FORM get_job_details.
    * Get current job details
    CALL FUNCTION u2018GET_JOB_RUNTIME_INFOu2019
    IMPORTING
    eventid                 = gd_eventid
    eventparm               = gd_eventparm
    external_program_active = gd_external_program_active
    jobcount                = gd_jobcount
    jobname                 = gd_jobname
    stepcount               = gd_stepcount
    EXCEPTIONS
    no_runtime_info         = 1
    OTHERS                  = 2.
    ENDFORM.
    *u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014*
    *       FORM convert_spool_to_pdf                                     *
    *u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014*
    FORM convert_spool_to_pdf.
    CALL FUNCTION u2018CONVERT_ABAPSPOOLJOB_2_PDFu2019
    EXPORTING
    src_spoolid              = gd_spool_nr
    no_dialog                = c_no
    dst_device               = c_device
    IMPORTING
    pdf_bytecount            = gd_bytecount
    TABLES
    pdf                      = it_pdf_output
    EXCEPTIONS
    err_no_abap_spooljob     = 1
    err_no_spooljob          = 2
    err_no_permission        = 3
    err_conv_not_possible    = 4
    err_bad_destdevice       = 5
    user_cancelled           = 6
    err_spoolerror           = 7
    err_temseerror           = 8
    err_btcjob_open_failed   = 9
    err_btcjob_submit_failed = 10
    err_btcjob_close_failed  = 11
    OTHERS                   = 12.
    CHECK sy-subrc = 0.
    * Transfer the 132-long strings to 255-long strings
    LOOP AT it_pdf_output.
    TRANSLATE it_pdf_output USING u2018 ~u2019.
    CONCATENATE gd_buffer it_pdf_output INTO gd_buffer.
    ENDLOOP.
    TRANSLATE gd_buffer USING u2018~ u2018.
    DO.
    it_mess_att = gd_buffer.
    APPEND it_mess_att.
    SHIFT gd_buffer LEFT BY 255 PLACES.
    IF gd_buffer IS INITIAL.
    EXIT.
    ENDIF.
    ENDDO.
    ENDFORM.
    *u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014*
    *       FORM process_email                                            *
    *u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014*
    FORM process_email.
    DESCRIBE TABLE it_mess_att LINES gd_recsize.
    CHECK gd_recsize > 0.
    PERFORM send_email USING p_email1.
    *  perform send_email using p_email2.
    ENDFORM.
    *u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014*
    *       FORM send_email                                               *
    *u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014*
    *  u2013>  p_email                                                       *
    *u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014*
    FORM send_email USING p_email.
    CHECK NOT ( p_email IS INITIAL ).
    REFRESH it_mess_bod.
    * Default subject matter
    gd_subject         = u2018Subjectu2019.
    gd_attachment_desc = u2018Attachnameu2019.
    *  CONCATENATE u2018attach_nameu2019 u2018 u2018 INTO gd_attachment_name.
    it_mess_bod        = u2018Message Body text, line 1u2032.
    APPEND it_mess_bod.
    it_mess_bod        = u2018Message Body text, line 2u2026u2019.
    APPEND it_mess_bod.
    * If no sender specified - default blank
    IF p_sender EQ space.
    gd_sender_type  = space.
    ELSE.
    gd_sender_type  = u2018INTu2019.
    ENDIF.
    * Send file by email as .xls speadsheet
    PERFORM send_file_as_email_attachment
    tables it_mess_bod
    it_mess_att
    using p_email
    u2018Example .xls documnet attachmentu2019
    u2018PDFu2019
    gd_attachment_name
    gd_attachment_desc
    p_sender
    gd_sender_type
    changing gd_error
    gd_reciever.
    ENDFORM.
    *u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014*
    *       FORM delete_spool                                             *
    *u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014*
    FORM delete_spool.
    DATA: ld_spool_nr TYPE tsp01_sp0r-rqid_char.
    ld_spool_nr = gd_spool_nr.
    CHECK p_delspl <> c_no.
    CALL FUNCTION u2018RSPO_R_RDELETE_SPOOLREQu2019
    EXPORTING
    spoolid = ld_spool_nr.
    ENDFORM.
    *&u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014*
    *&      Form  SEND_FILE_AS_EMAIL_ATTACHMENT
    *&u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014*
    *       Send email
    *u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014-*
    FORM send_file_as_email_attachment tables it_message
    it_attach
    using p_email
    p_mtitle
    p_format
    p_filename
    p_attdescription
    p_sender_address
    p_sender_addres_type
    changing p_error
    p_reciever.
    DATA: ld_error    TYPE sy-subrc,
    ld_reciever TYPE sy-subrc,
    ld_mtitle LIKE sodocchgi1-obj_descr,
    ld_email LIKE  somlreci1-receiver,
    ld_format TYPE  so_obj_tp ,
    ld_attdescription TYPE  so_obj_nam ,
    ld_attfilename TYPE  so_obj_des ,
    ld_sender_address LIKE  soextreci1-receiver,
    ld_sender_address_type LIKE  soextreci1-adr_typ,
    ld_receiver LIKE  sy-subrc.
    data:   t_packing_list like sopcklsti1 occurs 0 with header line,
    t_contents like solisti1 occurs 0 with header line,
    t_receivers like somlreci1 occurs 0 with header line,
    t_attachment like solisti1 occurs 0 with header line,
    t_object_header like solisti1 occurs 0 with header line,
    w_cnt type i,
    w_sent_all(1) type c,
    w_doc_data like sodocchgi1.
    ld_email   = p_email.
    ld_mtitle = p_mtitle.
    ld_format              = p_format.
    ld_attdescription      = p_attdescription.
    ld_attfilename         = p_filename.
    ld_sender_address      = p_sender_address.
    ld_sender_address_type = p_sender_addres_type.
    * Fill the document data.
    w_doc_data-doc_size = 1.
    * Populate the subject/generic message attributes
    w_doc_data-obj_langu = sy-langu.
    w_doc_data-obj_name  = u2018SAPRPTu2019.
    w_doc_data-obj_descr = ld_mtitle .
    w_doc_data-sensitivty = u2018Fu2019.
    * Fill the document data and get size of attachment
    CLEAR w_doc_data.
    READ TABLE it_attach INDEX w_cnt.
    w_doc_data-doc_size =
    ( w_cnt - 1 ) * 255 + STRLEN( it_attach ).
    w_doc_data-obj_langu  = sy-langu.
    w_doc_data-obj_name   = u2018SAPRPTu2019.
    w_doc_data-obj_descr  = ld_mtitle.
    w_doc_data-sensitivty = u2018Fu2019.
    CLEAR t_attachment.
    REFRESH t_attachment.
    t_attachment[] = it_attach[].
    * Describe the body of the message
    CLEAR t_packing_list.
    REFRESH t_packing_list.
    t_packing_list-transf_bin = space.
    t_packing_list-head_start = 1.
    t_packing_list-head_num = 0.
    t_packing_list-body_start = 1.
    DESCRIBE TABLE it_message LINES t_packing_list-body_num.
    t_packing_list-doc_type = u2018RAWu2019.
    APPEND t_packing_list.
    * Create attachment notification
    t_packing_list-transf_bin = u2018Xu2019.
    t_packing_list-head_start = 1.
    t_packing_list-head_num   = 1.
    t_packing_list-body_start = 1.
    DESCRIBE TABLE t_attachment LINES t_packing_list-body_num.
    t_packing_list-doc_type   =  ld_format.
    t_packing_list-obj_descr  =  ld_attdescription.
    t_packing_list-obj_name   =  ld_attfilename.
    t_packing_list-doc_size   =  t_packing_list-body_num * 255.
    APPEND t_packing_list.
    * Add the recipients email address
    CLEAR t_receivers.
    REFRESH t_receivers.
    t_receivers-receiver = ld_email.
    t_receivers-rec_type = u2018Uu2019.
    t_receivers-com_type = u2018INTu2019.
    t_receivers-notif_del = u2018Xu2019.
    t_receivers-notif_ndel = u2018Xu2019.
    APPEND t_receivers.
    CALL FUNCTION u2018SO_DOCUMENT_SEND_API1u2032
    EXPORTING
    document_data              = w_doc_data
    put_in_outbox              = u2018Xu2019
    sender_address             = ld_sender_address
    sender_address_type        = ld_sender_address_type
    commit_work                = u2018Xu2019
    IMPORTING
    sent_to_all                = w_sent_all
    TABLES
    packing_list               = t_packing_list
    contents_bin               = t_attachment
    contents_txt               = it_message
    receivers                  = t_receivers
    EXCEPTIONS
    too_many_receivers         = 1
    document_not_sent          = 2
    document_type_not_exist    = 3
    operation_no_authorization = 4
    parameter_error            = 5
    x_error                    = 6
    enqueue_error              = 7
    OTHERS                     = 8.
    * Populate zerror return code
    ld_error = sy-subrc.
    * Populate zreceiver return code
    LOOP AT t_receivers.
    ld_receiver = t_receivers-retrn_code.
    ENDLOOP.
    ENDFORM.

  • Read table data and fetch file from path specified in table column

    Hi,
    I have a situation where file path information is stored in database table along with other columns - I need to read data from SQL Server table row by row, go to the path identified by the record, check for existance of the file - if the file is available copy it to a staging area, then read the next record. Repeat this process until the last record is fetched from the table. At the end, zip all the files found and FTP to a different location. If the file is not found in the path specified, write the database record to a seperate text file.
    At end of the process, send an email with records for which files were not found at specified location.
    Thanks
    Edited by: user4566019 on Oct 5, 2008 4:32 AM

    Hi,
    That is not complex to solve at ODI.
    Try the following.
    1) Create a package
    2) create a variable to receive the path as parameter and drag and drop it at package as "Declared"
    3) drag and drop the ODI Tool "odiFileMove" using and let the variable as patch at ODI Tool parameter.
    Use the parameters -ACTION=MOVE -TIMEOUT=100 and -NOFILE_ERROR=NO (take a look at ODI Toos Reference for other parameters)
    3) Create a "KO" (error) flow to write the variable at a text file. That will allow the process knows what file is missing
    4) generate a scenario of this package
    5) create a procedure
    6) at first step, put the query from SQL Server (set the Logical Schema to the right connection)
    7) at Target tab, put the call to the scenario generated using the returned value from query parameter. Plus, let the -SYNC_MODE=1. That will call one scenario by time.
    8) create a new step to zip the files at stage directory
    9) create a step to make the ftp
    10) create a step to mail the txt generated with files not founded. If you wish, you can make a validation on the file to see if is necessary to send the mail, it means, if there is any file missing.
    Does it help you?

Maybe you are looking for

  • TOC Won't Display in WinHelp

    I am updating a WinHelp project that was previously developed in X3 but which I am now trying to update and compile in RoboHelp 7 for Word. The TOC won't display (i.e., the TOC navigation panel at the left doesn't display) when the help is launched.

  • Listening to Podcast w/o downloading to your PC/MAC

    For those who enjoy listening to podcast but hate downloading them via your PC/MAC's iTunes, check this out as it is ipod Touch and Iphone browser-friendly: http://www.apple.com/webapps/entertainment/bbcpodcasts.html It would certainly be great if th

  • Data packets not updated in PSA (incorrect)

    Dear Friends, Can anybody help me on this topic. A process chain is in error and the error message is "Data records were marked as incorrect in the PSA" how can i maintenance the PSA to upload the relevant data packet or is there any other way to  ed

  • HT4847 How i can download my backup data? And how to manage the data on i Cloud?

    How i can download my backup data? And how to manage the data on i Cloud?

  • Error message on Nook device

    After working fine for years, now I cannot open my downloaded library books in my Nook - I get the following message:  Error - User Not Activated.  The books are in my Adobe Digital Editions on my computer, as usual, but will not open in my Nook.  Ca