Send few attachment at one mail via Abap

Hi.
How can send few attachments in one mail threw Abap?
I know how to send files but how can I attach few files in one mail ?
Thanks all,
Rebeka

Hi,
Tthe following piece of logic is required to send multiple attachments in one mail.
Loop
* Creating the entry for the compressed attachment
        IF gv_count = 1.
          gi_objpack-head_start = 1.
          gi_objpack-head_num   = 1.
          gi_objpack-body_start = 1.
          DESCRIBE TABLE gi_objbin LINES gv_no_lines.
          gi_objpack-body_num   = gv_no_lines.
          gi_objpack-doc_size   = gv_no_lines * 255.
          gi_objpack-transf_bin = gc_x.
          gi_objpack-doc_type   = gc_pdf.
          gi_objpack-obj_name   = text-037.
          CONCATENATE text-038 gw_doc_id-object_id(10)
          INTO gi_objpack-obj_descr.
          APPEND gi_objpack.
        ELSEIF gv_count > 1.
          gi_objpack-head_start = gv_no_lines + 1.
          gi_objpack-head_num   = gv_no_lines + 1.
          gi_objpack-body_start = gv_no_lines + 1.
          DESCRIBE TABLE gi_upload LINES gv_no_lines.
          gi_objpack-body_num   = gv_no_lines.
          gi_objpack-doc_size   = gv_no_lines * 255.
          gi_objpack-transf_bin = gc_x.
          gi_objpack-doc_type   = gc_pdf.
          gi_objpack-obj_name   = text-037.
          CONCATENATE text-038 gw_doc_id-object_id(10)
          INTO gi_objpack-obj_descr.
          APPEND gi_objpack.
          DESCRIBE TABLE gi_objbin LINES gv_no_lines.
        ENDIF.
  Endloop.
Each record in gi_objpack is an attachment, say suppose 3 records are there, then it means 3 attachments.
gi_objbin is the attachment content, here it is a PDF File.
Hope u know about this FM 'SO_NEW_DOCUMENT_ATT_SEND_API1' and remaining details to pass to this FM.
Thanks,
Srilakshmi.

Similar Messages

  • Send a mail via ABAP program

    Hello Experts,
    I want to send mail via ABAP program with the following requirements :
    1. Recipient is OUTLOOK email -id
    2. Sender address has to be an external email-id
    3. Send mail as CC and BCC also to other email-id.
    Is there any function module which can satisfy all the above requirements.
    Regards,
    Mansi.

    hi,
    this code will definately help you just go through it:
    firstly  exported the data to memory using the FM LIST_FROM_MEMORY.
    CALL FUNCTION 'LIST_FROM_MEMORY'
    TABLES
    listobject = t_listobject
    EXCEPTIONS
    not_found = 1
    OTHERS = 2.
    IF sy-subrc 0.
    MESSAGE e000(su) WITH text-001.
    ENDIF.
    then i converted it into ASCII using LIST_TO_ASCI,
    CALL FUNCTION 'LIST_TO_ASCI'
    TABLES
    listasci = t_xlstab
    listobject = t_listobject
    EXCEPTIONS
    empty_list = 1
    list_index_invalid = 2
    OTHERS = 3.
    IF sy-subrc NE 0.
    MESSAGE e003(yuksdbfzs).
    ENDIF.
    This gives the data in ASCII format separated by '|' and the header has '-', dashes. If you use this internal table directly without any proccesing in SO_NEW_DOCUMENT_ATT_SEND_API1, then you will not get a good excel sheet attachment. To overcome this limitation, i used cl_abap_char_utilities=>newline and cl_abap_char_utilities=>horizontal_tab to add horizontal and vertical tabs to the internal table, replacing all occurences of '|' with
    cl_abap_char_utilities=>horizontal_tab.
    Set the doc_type as 'XLS', create the body and header using the packing_list and pass the data to be downloaded to SO_NEW_DOCUMENT_ATT_SEND_API1 as contents_bin.
    This will create an excel attachment.
    Sample code for formatting the data for the attachment in excel format.
    u2022     Format the data for excel file download
    LOOP AT t_xlstab INTO wa_xlstab .
    DESCRIBE TABLE t_xlstab LINES lw_cnt.
    CLEAR lw_sytabix.
    lw_sytabix = sy-tabix.
    u2022     If not new line then replace '|' by tabs
    IF NOT wa_xlstab EQ cl_abap_char_utilities=>newline.
    REPLACE ALL OCCURRENCES OF '|' IN wa_xlstab
    WITH cl_abap_char_utilities=>horizontal_tab.
    MODIFY t_xlstab FROM wa_xlstab .
    CLEAR wa_xlstab.
    wa_xlstab = cl_abap_char_utilities=>newline.
    IF lw_cnt NE 0 .
    lw_sytabix = lw_sytabix + 1.
    u2022     Insert new line for the excel data
    INSERT wa_xlstab INTO t_xlstab INDEX lw_sytabix.
    lw_cnt = lw_cnt - 1.
    ENDIF.
    CLEAR wa_xlstab.
    ENDIF.
    ENDLOOP.
    Sample code for creating attachment and sending mail:
    FORM send_mail .
    u2022     Define the attachment format
    lw_doc_type = 'XLS'.
    u2022     Create the document which is to be sent
    lwa_doc_chng-obj_name = 'List'.
    lwa_doc_chng-obj_descr = w_subject. "Subject
    lwa_doc_chng-obj_langu = sy-langu.
    u2022     Fill the document data and get size of message
    LOOP AT t_message.
    lt_objtxt = t_message-line.
    APPEND lt_objtxt.
    ENDLOOP.
    DESCRIBE TABLE lt_objtxt LINES lw_tab_lines.
    IF lw_tab_lines GT 0.
    READ TABLE lt_objtxt INDEX lw_tab_lines.
    lwa_doc_chng-doc_size = ( lw_tab_lines - 1 ) * 255 + STRLEN( lt_objtxt ).
    lwa_doc_chng-obj_langu = sy-langu.
    lwa_doc_chng-sensitivty = 'F'.
    ELSE.
    lwa_doc_chng-doc_size = 0.
    ENDIF.
    u2022     Fill Packing List For the body of e-mail
    lt_packing_list-head_start = 1.
    lt_packing_list-head_num = 0.
    lt_packing_list-body_start = 1.
    lt_packing_list-body_num = lw_tab_lines.
    lt_packing_list-doc_type = 'RAW'.
    APPEND lt_packing_list.
    u2022     Create the attachment (the list itself)
    DESCRIBE TABLE t_xlstab LINES lw_tab_lines.
    u2022     Fill the fields of the packing_list for creating the attachment:
    lt_packing_list-transf_bin = 'X'.
    lt_packing_list-head_start = 1.
    lt_packing_list-head_num = 0.
    lt_packing_list-body_start = 1.
    lt_packing_list-body_num = lw_tab_lines.
    lt_packing_list-doc_type = lw_doc_type.
    lt_packing_list-obj_name = 'Attach'.
    lt_packing_list-obj_descr = w_docdesc.
    lt_packing_list-doc_size = lw_tab_lines * 255.
    APPEND lt_packing_list.
    u2022     Fill the mail recipient list
    lt_reclist-rec_type = 'U'.
    LOOP AT t_recipient_list.
    lt_reclist-receiver = t_recipient_list-address.
    APPEND lt_reclist.
    ENDLOOP.
    u2022     Finally send E-Mail
    CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
    EXPORTING
    document_data = lwa_doc_chng
    put_in_outbox = 'X'
    commit_work = 'X'
    IMPORTING
    sent_to_all = lw_sent_to_all
    TABLES
    packing_list = lt_packing_list
    object_header = lt_objhead
    contents_bin = t_xlstab
    contents_txt = lt_objtxt
    receivers = lt_reclist
    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.
    Hope it will help you
    regards
    Rahul sharma

  • Since installing 8.0.1 I cannot send an attachment in AOL mail when I could with previous versions.

    When I try to send an attachment in AOL mail I get an error message "We encountered a technical issue, please try again."
    This happens every time over the past few days.

    Never mind the above message....I uninstalled Firefox 4.0.1 and reinstalled 3.6 and then updated to 3.6.7. Now I've lost all my Bookmarks. This is really getting to be frustrating and ridiculously hard to find answers!! What's up with the brains behind Mozilla?? Are they all hacked??

  • How send video more than one minute via what's up

    How send video more than one minute via what's up

    Hi,
    I haven't tried but u can follow the below approach.
    popupBean1.setParameters("pItemID={@ItemID}&deptNo={@Deptno}")
    Regards,
    Gyan

  • How to send multiple attachements in single mail

    Hi All,
    Currently i am using this function module SO_NEW_DOCUMENT_ATT_SEND_API1 to send mail with only one attachment.
    But now i need to send multiple attachments to a single mail.
    Can any one please tell me as how to send multiple attachments in single mail.
    Thanks in advance.

    Hi
    See this and do accordingly
    Mailing with Attachment by ABAP Coding  
    Refer this link:
    Mail with attachment.
    FORM send_list_to_basis .
      DATA: w_path      LIKE rlgrap OCCURS 0 WITH HEADER LINE,
            lt_index    TYPE sy-tabix,
            doc_type(3) TYPE c,
            descr       LIKE it_objpack_basis-obj_descr,
            temp_data   LIKE w_path,
            temp1       TYPE string,
            tab_lines   TYPE i,
            langu(15)   TYPE c,
            expirydate  TYPE so_obj_edt,
            L_FILE1(100).
      CONCATENATE 'C:\' sy-repid '_' sy-datum '.XLS' INTO L_FILE1.
      W_PATH-FILENAME = L_FILE1.
      APPEND w_path.
      CLEAR w_path.
      wa_doc_chng-obj_descr  = 'User List not logged on for 180 days'.
      wa_doc_chng-obj_langu  = 'E'.
      wa_doc_chng-obj_expdat = sy-datum.
      CLEAR w_subject.
      CONCATENATE 'Please find attached document with list of users'
                  'not logged on for 180 days for client' sy-mandt
                  INTO w_subject SEPARATED BY space.
      it_objtxt_basis-line = w_subject.
      APPEND it_objtxt_basis.
      CLEAR it_objtxt_basis.
      it_objtxt_basis-line = text-004.
      APPEND it_objtxt_basis.
      CLEAR it_objtxt_basis.
      CLEAR w_tab_line.
      DESCRIBE TABLE it_objtxt_basis LINES w_tab_line.
      READ TABLE it_objtxt_basis INDEX w_tab_line  INTO l_cline.
      wa_doc_chng-doc_size =
       ( w_tab_line - 1 ) * 255 + STRLEN( l_cline ).
      CLEAR it_objpack_basis-transf_bin.
      it_objpack_basis-head_start = 1.
      it_objpack_basis-head_num   = 0.
      it_objpack_basis-body_start = 1.
      it_objpack_basis-body_num   = w_tab_line.
      it_objpack_basis-doc_type   = 'RAW'.
      APPEND it_objpack_basis.
      CLEAR it_objpack_basis.
      LOOP AT w_path.
        temp1 = w_path.
        descr = w_path.
        CALL FUNCTION 'STRING_REVERSE'
          EXPORTING
            string  = descr
            lang    = 'E'
          IMPORTING
            rstring = descr.
        CALL FUNCTION 'STRING_SPLIT'
          EXPORTING
            delimiter = '\'
            string    = descr
          IMPORTING
            head      = descr
            tail      = temp_data.
        CALL FUNCTION 'STRING_REVERSE'
          EXPORTING
            string  = descr
            lang    = 'E'
          IMPORTING
            rstring = descr.
        CALL FUNCTION 'STRING_SPLIT'
          EXPORTING
            delimiter = '.'
            string    = descr
          IMPORTING
            head      = temp_data
            tail      = doc_type.
        CALL FUNCTION 'GUI_UPLOAD'
          EXPORTING
            filename      = temp1
            filetype      = 'BIN'
            header_length = 0
            read_by_line  = 'X'
            replacement   = '#'
          TABLES
            data_tab      = it_upload.
        DESCRIBE TABLE it_upload LINES tab_lines.
        DESCRIBE TABLE it_objbin_basis LINES lt_index.
        lt_index = lt_index + 1.
        LOOP AT it_upload.
          wa_objbin_basis-line = it_upload-line.
          APPEND wa_objbin_basis TO it_objbin_basis.
          CLEAR wa_objbin_basis.
        ENDLOOP.
        it_objpack_basis-transf_bin = 'X'.
        it_objpack_basis-head_start = 0.
        it_objpack_basis-head_num   = 0.
        it_objpack_basis-body_start = lt_index.
        it_objpack_basis-body_num   = tab_lines.
        it_objpack_basis-doc_type   = doc_type.
        it_objpack_basis-obj_descr  = descr.
        it_objpack_basis-doc_size   = tab_lines * 255.
        APPEND it_objpack_basis.
        CLEAR it_objpack_basis.
      ENDLOOP.
      it_reclist_basis-receiver = '[email protected]'.
      it_reclist_basis-rec_type = 'U'.
      APPEND it_reclist_basis.
      CLEAR it_reclist_basis.
      CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
        EXPORTING
          document_data              = wa_doc_chng
          put_in_outbox              = 'X'
          commit_work                = 'X'
        TABLES
          packing_list               = it_objpack_basis
          contents_txt               = it_objtxt_basis
          contents_bin               = it_objbin_basis
          receivers                  = it_reclist_basis
        EXCEPTIONS
          too_many_receivers         = 1
          document_not_sent          = 2
          operation_no_authorization = 4
          OTHERS                     = 99.
      IF sy-subrc EQ 0.
        SUBMIT rsconn01 WITH mode = 'INT' AND RETURN.
      ENDIF.
    ENDFORM.                    " send_list_to_basis
    <b>Reward points for useful Answers</b>
    Regards
    Anji

  • Sending Excel attachment in E-mail

    Hi All,
    I am sending excel attachment in mail, when I see in SO01 tcode I am able to see the attachment in outbox, but getting 'Error during send Process' in sent status and not getting any mails to my e-mail id.
    Could you any one help me in this?
    Thanks in advance.
    Vijaya.

    Hi,
    data: p_email   type somlreci1-receiver
                          value 'Mail ID'.
    data: begin of it001 occurs 0,
          bukrs type t001-bukrs,
          butxt type t001-butxt,
          end of it001.
    data:   imessage type standard table of solisti1 with header line,
            iattach type standard table of solisti1 with header line,
            ipacking_list like sopcklsti1 occurs 0 with header line,
            ireceivers like somlreci1 occurs 0 with header line,
            iattachment like solisti1 occurs 0 with header line.
    start-of-selection.
      select bukrs butxt into table it001 from t001.
      Populate table with detaisl to be entered into .xls file
      perform build_xls_data .
    Populate message body text
      clear imessage.   refresh imessage.
      imessage = 'Please find attached excel file'.
      append imessage.
    Send file by email as .xls speadsheet
      perform send_email_with_xls tables imessage
                                          iattach
                                    using p_email
                                          'Example Excel Attachment'
                                          'XLS'
                                          'TestFileName'
                                          'CompanyCodes'.
         Form  BUILD_XLS_DATA
    form build_xls_data .
    constants: con_cret type x value '0D',  "OK for non Unicode
                con_tab type x value '09'.   "OK for non Unicode
    *If you have Unicode check active in program attributes thnen you will
    *need to declare constants as follows
    *class cl_abap_char_utilities definition load.
    constants:
        con_tab  type c value cl_abap_char_utilities=>horizontal_tab,
        con_cret type c value cl_abap_char_utilities=>cr_lf.
      concatenate 'BUKRS' 'BUTXT'
             into iattach separated by con_tab.
      concatenate con_cret iattach into iattach.
      append  iattach.
      loop at it001 .
        concatenate it001-bukrs it001-butxt
               into iattach separated by con_tab.
        concatenate con_cret iattach  into iattach.
        append  iattach.
      endloop .
    endform.
         Form  SEND_EMAIL_WITH_XLS
    form send_email_with_xls tables pit_message
                                              pit_attach
                                        using p_email
                                              p_mtitle
                                              p_format
                                              p_filename
                                              p_attdescription.
      data: xdocdata like sodocchgi1,
            xcnt type i.
    Fill the document data.
      xdocdata-doc_size = 1.
    Populate the subject/generic message attributes
      xdocdata-obj_langu = sy-langu .
      xdocdata-obj_name  = 'SAPRPT' .
      xdocdata-obj_descr = p_mtitle .
    Fill the document data and get size of attachment
      clear xdocdata.
      read table iattach index xcnt.
      xdocdata-doc_size =
         ( xcnt - 1 ) * 255 + strlen( iattach ).
      xdocdata-obj_langu  = sy-langu.
      xdocdata-obj_name   = 'SAPRPT'.
      xdocdata-obj_descr  = p_mtitle.
      clear iattachment.  refresh iattachment.
      iattachment[] = pit_attach[].
    Describe the body of the message
      clear ipacking_list.  refresh ipacking_list.
      ipacking_list-transf_bin = space.
      ipacking_list-head_start = 1.
      ipacking_list-head_num = 0.
      ipacking_list-body_start = 1.
      describe table imessage lines ipacking_list-body_num.
      ipacking_list-doc_type = 'RAW'.
      append ipacking_list.
    Create attachment notification
      ipacking_list-transf_bin = 'X'.
      ipacking_list-head_start = 1.
      ipacking_list-head_num   = 1.
      ipacking_list-body_start = 1.
      describe table iattachment lines ipacking_list-body_num.
      ipacking_list-doc_type   =  p_format.
      ipacking_list-obj_descr  =  p_attdescription.
      ipacking_list-obj_name   =  p_filename.
      ipacking_list-doc_size   =  ipacking_list-body_num * 255.
      append ipacking_list.
    Add the recipients email address
      clear ireceivers.  refresh ireceivers.
      ireceivers-receiver = p_email.
      ireceivers-rec_type = 'U'.
      ireceivers-com_type = 'INT'.
      ireceivers-notif_del = 'X'.
      ireceivers-notif_ndel = 'X'.
      append ireceivers.
      call function 'SO_DOCUMENT_SEND_API1'
           exporting
                document_data              = xdocdata
                put_in_outbox              = 'X'
                commit_work                = 'X'
           tables
                packing_list               = ipacking_list
                contents_bin               = iattachment
                contents_txt               = imessage
                receivers                  = ireceivers
           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.
    endform.
    Check this Sample code.
    Thanks,
    Durai.V

  • Signatures disappear when sending file attachment in iPad Mail

    Whenever I send an attachment from GoodReader or Pages the file appears at the bottom of the message and my default signature disappears.  How can I send files with a signature?

    Hi,
    Attachment Content is not Mandatory to enter unless you wish to override the Attachment Property.
    Basically we use this content along with Encoded Image Property like chart, spc and image loader action block.
    If you are loading file from system using Proper path in Attachment Section then no need to use Attachment Content section.
    Ensure that you have set the Attachment Content Type to "application/pdf" to send pdf files and a valid File path in Attachment section.
    Hope this helps!!
    Regards,
    Adarsh

  • How to send multiple attachment in single mail

    i am using FM SO_NEW_DOCUMENT_ATT_SEND_API1 for sending mail.
    pls guide me how can i modify my code so that i can send multiple attachments

    Hi Manish,
    Check out the links below.
    E-mail multiple PDF attachments
    Send a Single Mail with Multiple Attachment
    Hope it helps.
    Regards,
    Amit
    *Always reward points for helpful answers
    Message was edited by:
            Amit Kumar

  • Need to send an attachment with the mail to the distribution list

    Hi all,
    How do I send an <b>attachment</b> with the e-mail to a distribution list?
    I am using the FMs <b>SO_DLI_EXPAND</b> and <b>SO_OBJECT_SEND</b> to expand the distribution list and send mail to the distribution list respectively.I am getting the contents of the file in the email that is being sent. The file is being extracted from UNIX.
    However, the contents of the file has to go as an attachment.
    Please assist.
    Thanks and regards,
    Anishur

    Hello,
    You can do it like this...using SapScript:
    REPORT YMAIL.
    DATA: ITCPO LIKE ITCPO,
    TAB_LINES LIKE SY-TABIX.
    Variables for EMAIL functionality
    DATA: MAILDATA LIKE SODOCCHGI1.
    DATA: MAILPACK LIKE SOPCKLSTI1 OCCURS 2 WITH HEADER LINE.
    DATA: MAILHEAD LIKE SOLISTI1 OCCURS 1 WITH HEADER LINE.
    DATA: MAILBIN LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE.
    DATA: MAILTXT LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE.
    DATA: MAILREC LIKE SOMLREC90 OCCURS 0 WITH HEADER LINE.
    DATA: SOLISTI1 LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE.
    PERFORM SEND_FORM_VIA_EMAIL.
    FORM SEND_FORM_VIA_EMAIL *
    FORM SEND_FORM_VIA_EMAIL.
    CLEAR: MAILDATA, MAILTXT, MAILBIN, MAILPACK, MAILHEAD, MAILREC.
    REFRESH: MAILTXT, MAILBIN, MAILPACK, MAILHEAD, MAILREC.
    Creation of the document to be sent File Name
    MAILDATA-OBJ_NAME = 'TEST'.
    Mail Subject
    MAILDATA-OBJ_DESCR = 'Subject'.
    Mail Contents
    MAILTXT-LINE = 'Here is your file, would you check it?'.
    APPEND MAILTXT.
    Prepare Packing List
    PERFORM PREPARE_PACKING_LIST.
    BREAK gpulido.
    Set recipient - email address here!!!
    <b>*MAILREC-RECEIVER = '[email protected]'.
    MAILREC-RECEIVER = '[email protected]'.
    MAILREC-REC_TYPE = 'U'.</b>
    APPEND MAILREC.
    Set recipient - email address here!!!
    *MAILREC-RECEIVER = 'BGIRALDO'.
    *MAILREC-REC_TYPE = 'B'.
    *APPEND MAILREC.
    Sending the document
    CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
    EXPORTING
    DOCUMENT_DATA = MAILDATA
    PUT_IN_OUTBOX = 'X'
    TABLES
    PACKING_LIST = MAILPACK
    OBJECT_HEADER = MAILHEAD
    CONTENTS_BIN = MAILBIN
    CONTENTS_TXT = MAILTXT
    RECEIVERS = MAILREC
    EXCEPTIONS
    TOO_MANY_RECEIVERS = 1
    DOCUMENT_NOT_SENT = 2
    OPERATION_NO_AUTHORIZATION = 4
    OTHERS = 99.
    submit rsconn01 with mode = 'INT' and return.
    CASE SY-SUBRC.
    WHEN 0.
    WRITE: / 'Result of the send process:'.
    LOOP AT MAILREC.
    WRITE: / mailrec-RECEIVER(48), ':'.
    IF mailrec-RETRN_CODE = 0.
    WRITE 'sent successfully'.
    ELSE.
    WRITE 'not sent'.
    ENDIF.
    ENDLOOP.
    WHEN 1.
    WRITE: / 'no authorization to send to the specified number of'
    WHEN 2.
    WRITE: / 'document could not be sent to any of the recipients!'.
    WHEN 4.
    WRITE: / 'no authorization to send !'.
    WHEN OTHERS.
    WRITE: / 'error occurred during sending !'.
    ENDCASE.
    ENDFORM.
    Form PREPARE_PACKING_LIST
    FORM PREPARE_PACKING_LIST.
    CLEAR: MAILPACK, MAILBIN, MAILHEAD.
    REFRESH: MAILPACK, MAILBIN, MAILHEAD.
    DESCRIBE TABLE MAILTXT LINES TAB_LINES.
    READ TABLE MAILTXT INDEX TAB_LINES.
    MAILDATA-DOC_SIZE = ( TAB_LINES - 1 ) * 255 + STRLEN( MAILTXT ).
    Creation of the entry for the compressed document
    CLEAR MAILPACK-TRANSF_BIN.
    MAILPACK-HEAD_START = 1.
    MAILPACK-HEAD_NUM = 0.
    MAILPACK-BODY_START = 1.
    MAILPACK-BODY_NUM = TAB_LINES.
    MAILPACK-DOC_TYPE = 'RAW'.
    APPEND MAILPACK.
    Creation of the document attachment
    This form gets the OTF code from the SAPscript form.
    If you already have your OTF code, I believe that you may
    be able to skip this form. just do the following code, looping thru
    your SOLISTI1 and updating MAILBIN.
    PERFORM GET_OTF_CODE.
    LOOP AT SOLISTI1.
    MOVE-CORRESPONDING SOLISTI1 TO MAILBIN.
    APPEND MAILBIN.
    ENDLOOP.
    DESCRIBE TABLE MAILBIN LINES TAB_LINES.
    MAILHEAD = 'TEST.OTF'.
    APPEND MAILHEAD.
    Creation of the entry for the compressed attachment
    MAILPACK-TRANSF_BIN = 'X'.
    MAILPACK-HEAD_START = 1.
    MAILPACK-HEAD_NUM = 1.
    MAILPACK-BODY_START = 1.
    MAILPACK-BODY_NUM = TAB_LINES.
    MAILPACK-DOC_TYPE = 'OTF'.
    MAILPACK-OBJ_NAME = 'TEST'.
    MAILPACK-OBJ_DESCR = 'Subject'.
    MAILPACK-DOC_SIZE = TAB_LINES * 255.
    APPEND MAILPACK.
    ENDFORM.
    Form GET_OTF_CODE
    FORM GET_OTF_CODE.
    DATA: BEGIN OF OTF OCCURS 0.
    INCLUDE STRUCTURE ITCOO .
    DATA: END OF OTF.
    DATA: ITCPO LIKE ITCPO.
    DATA: ITCPP LIKE ITCPP.
    CLEAR ITCPO.
    ITCPO-TDGETOTF = 'X'.
    Start writing OTF code
    CALL FUNCTION 'OPEN_FORM'
    EXPORTING
    FORM = 'YSEND_MAIL'
    LANGUAGE = SY-LANGU
    OPTIONS = ITCPO
    DIALOG = ' '
    EXCEPTIONS
    OTHERS = 1.
    CALL FUNCTION 'START_FORM'
    EXCEPTIONS
    ERROR_MESSAGE = 01
    OTHERS = 02.
    CALL FUNCTION 'WRITE_FORM'
    EXPORTING
    WINDOW = 'MAIN'
    EXCEPTIONS
    ERROR_MESSAGE = 01
    OTHERS = 02.
    Close up Form and get OTF code
    CALL FUNCTION 'END_FORM'
    EXCEPTIONS
    ERROR_MESSAGE = 01
    OTHERS = 02.
    MOVE-CORRESPONDING ITCPO TO ITCPP.
    CALL FUNCTION 'CLOSE_FORM'
    IMPORTING
    RESULT = ITCPP
    TABLES
    OTFDATA = OTF
    EXCEPTIONS
    OTHERS = 1.
    Move OTF code to structure SOLI form email
    CLEAR SOLISTI1. REFRESH SOLISTI1.
    LOOP AT OTF.
    SOLISTI1-LINE = OTF.
    APPEND SOLISTI1.
    ENDLOOP.
    Reward points if helpful.
    Thanks
    Message was edited by:
            Pattan Naveen

  • Send PDF Attachment to SAP Mail Inbox.

    Dear all,
    I have problem please help me out.
    i have to  create an PDF file  with
    my own data and that created PDF file
    i have to send it to SAP mail inbox
    (Transaction code : so01).

    hi sudheer,
    Let the data be populated into ur itab ,
    Now in the code just concentrate on
    Perform fill structure.
    the process u need to do is from ur layout convert from
    itab o/p format itab>OTF/OTF->PDF .
    see the function modules .
    on execution of this a mail will be in ur outbox .
    regards,
    vijay.
    tables : vbak.
    type-pools:slis.
    data: begin of it_t1 occurs 0,
          vbeln like vbak-vbeln,
          erdat like vbak-erdat,
          ernam like vbak-ernam,
          netwr like vbak-netwr,
          waerk like vbak-waerk,
          end of it_t1.
          select-options : so_vbeln for vbak-vbeln.
         DATA :  it_fieldcat TYPE slis_t_fieldcat_alv,
                 it_sort TYPE slis_t_sortinfo_alv,
                 it_listheader TYPE slis_t_listheader,
                 it_alvevent TYPE slis_t_event.
         DATA : wa_fieldcat TYPE slis_fieldcat_alv,
                w_pos TYPE i VALUE 1,
                wa_listheader TYPE slis_listheader,
                wa_alvevent TYPE slis_alv_event,
                wa_sort TYPE slis_sortinfo_alv.
         Data:  it_outtab like it_t1 occurs 0 with header line.
    DATA : MAILREC LIKE SOMLRECI1 occurs 0 WITH HEADER LINE,
           MAILBIN LIKE SOLISTI1 occurs 0 WITH HEADER LINE,
           MAILBIN2 LIKE SOLISTI1 occurs 0 WITH HEADER LINE,
           MAILTXT LIKE SOLISTI1 occurs 0 WITH HEADER LINE,
           MAILHEAD LIKE SOLISTI1 occurs 0 WITH HEADER LINE,
           MAILSTRUC LIKE SOPCKLSTI1 occurs 0 WITH HEADER LINE,
           MAILDATA LIKE SODOCCHGI1 occurs 0 WITH HEADER LINE.
    DATA: BEGIN OF GT_OTF OCCURS 0.
            INCLUDE STRUCTURE ITCOO .
    DATA: END OF GT_OTF.
    DATA: ITCPO LIKE ITCPO,
          ITCPP LIKE ITCPP.
    DATA: tlines type i,
          len_in like SOOD-OBJLEN,
          len_out like SOOD-OBJLEN.
    data: gt_pdf    like solisti1   occurs 0  with header line.
    DATA: gt_otfdata LIKE SOLISTI1 occurs 0 WITH HEADER LINE.
        CONSTANTS: c_formname_top_of_page TYPE slis_formname
                              VALUE 'F_TOP_OF_PAGE'.
    select vbeln
           erdat
           ernam
           netwr
           waerk into corresponding fields of table
           it_outtab from vbak where vbeln in so_vbeln.
          loop at it_t1.
            write:/ it_t1-vbeln,
                    it_t1-erdat,
                    it_t1-ernam,
                    it_t1-netwr,
                    it_t1-waerk.
          endloop.
       perform alv_disp.
    *&      Form  alv_disp
          text
    -->  p1        text
    <--  p2        text
    FORM alv_disp.
    PERFORM build_fcat USING '1' 'VBELN' 'IT_OUTTAB' ' ' ' ' ' '
    'SALESNO'.
      PERFORM build_fcat USING '2' 'ERDAT' 'IT_OUTTAB' ' ' ' ' ' '
    'CRTNDATE'.
    PERFORM build_fcat USING '3' 'ERNAM' 'IT_OUTTAB' ' ' ' ' ' '
    'CRNAME'.
    PERFORM build_fcat USING '4' 'NETWR' 'IT_OUTTAB' ' ' ' ' ' '
    'NETPRICE'.
    PERFORM build_fcat USING '5' 'WAERK' 'IT_OUTTAB' ' ' ' ' ' '
    'CURRENCY'.
    ***Top of Page Heading purpose " u can add the date and column over here
    PERFORM buildtop USING it_listheader[].
    perform top_of_page.
    *------Sort The Catalog
    PERFORM sort_cat  TABLES it_outtab USING it_sort[].
    *------Display Table In GRID
    PERFORM disp_grid TABLES it_outtab[].
    **For email stuff follow the perform
         perform fill_struct.
         CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
      EXPORTING
        DOCUMENT_DATA                    = MAILDATA
        PUT_IN_OUTBOX                    = 'X'
      TABLES
        PACKING_LIST                     = MAILSTRUC
        OBJECT_HEADER                    = MAILHEAD
        CONTENTS_BIN                     = MAILBIN
        CONTENTS_TXT                     = MAILTXT
      CONTENTS_HEX                     =
      OBJECT_PARA                      =
      OBJECT_PARB                      =
        RECEIVERS                        = MAILREC
    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
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ENDFORM.                    " alv_disp
    *&      Form  build_fcat
          text
         -->P_0104   text
         -->P_0105   text
         -->P_0106   text
         -->P_0107   text
         -->P_0108   text
         -->P_0109   text
         -->P_0110   text
    FORM build_fcat USING     value(col_pos)
                              value(fieldname)
                              value(tabname)
                              value(key)
                              value(no_zero)
                              value(do_sum)
                              value(reptext_ddic).
    CLEAR wa_fieldcat.
      wa_fieldcat-col_pos       = col_pos.
      wa_fieldcat-fieldname     = fieldname.
      wa_fieldcat-tabname       = tabname.
      wa_fieldcat-key           = key.
      wa_fieldcat-no_zero       = no_zero.
      wa_fieldcat-do_sum        = do_sum.
      wa_fieldcat-reptext_ddic  = reptext_ddic.
      APPEND wa_fieldcat TO it_fieldcat.
    ENDFORM.                    " build_fcat
    *&      Form  Top_Of_Page
    Top of page for Grid.
    FORM top_of_page.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
           EXPORTING
                it_list_commentary = it_listheader
                I_LOGO             = 'MY_SAP_ENJOY'.
    ENDFORM.                    "top_of_page
          text
         -->P_IT_LISTHEADER[]  text
    FORM buildtop USING IT_LISTHEADER type slis_t_listheader.
    DATA : text(100) TYPE c.
      CLEAR  it_listheader.
      CLEAR wa_listheader.
      wa_listheader-typ  = 'H'.
      wa_listheader-info = 'Sales Details' .
      APPEND wa_listheader TO it_listheader.
      CLEAR wa_listheader.
      wa_listheader-typ  = 'S'.
      wa_listheader-info =  'Demo'.
      APPEND wa_listheader TO it_listheader.
    *CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
       IT_LIST_COMMENTARY       =  it_listheader
      I_LOGO                   =
      I_END_OF_LIST_GRID       =
    ENDFORM.                    " Top_Of_Page
    *&      Form  sort_cat
          text
         -->P_IT_OUTTAB  text
         -->P_IT_SORT[]  text
    FORM sort_cat TABLES   IT_OUTTAB STRUCTURE  IT_OUTTAB  USING IT_SORT
    TYPE
    slis_t_sortinfo_alv.
    CLEAR wa_sort.
      wa_sort-fieldname       = 'VBELN'.
      wa_sort-tabname         = 'IT_OUTTAB'.
      wa_sort-spos            = 1.
      wa_sort-up              = 'X'.
      wa_sort-subtot          = ' '.
      APPEND wa_sort TO it_sort.
    ENDFORM.                    " sort_cat
    *&      Form  disp_grid
          text
         -->P_IT_OUTTAB[]  text
    FORM disp_grid TABLES  IT_OUTTAB STRUCTURE  IT_OUTTAB.
       CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
           I_CALLBACK_PROGRAM                = 'ZEX2' "sy-repid
           I_CALLBACK_TOP_OF_PAGE            = 'TOP_OF_PAGE'
           IT_FIELDCAT                       =  IT_FIELDCAT
          IT_SORT                          =  IT_SORT
         TABLES
           T_OUTTAB                          = IT_OUTTAB
        EXCEPTIONS
          PROGRAM_ERROR                     = 1
          OTHERS                            = 2
       IF SY-SUBRC <> 0.
           MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
       ENDIF.
    ENDFORM.                    " disp_grid
    *&      Form  fill_struct
          text
    -->  p1        text
    <--  p2        text
    FORM fill_struct.
    Text
      MOVE 'Hi vijay ' TO MAILTXT-LINE.
      APPEND MAILTXT.
    Data
      MAILDATA-OBJ_NAME = 'Document'.
      MAILDATA-OBJ_DESCR = 'E-maiL From vij'.
      MAILDATA-OBJ_PRIO = '1'.
      MAILDATA-DOC_SIZE = strlen( MAILTXT ).
    Structure
      MAILSTRUC-HEAD_START = 1.
      MAILSTRUC-HEAD_NUM = 0.
      MAILSTRUC-BODY_START = 1.
      MAILSTRUC-BODY_NUM = 1.
      mailstruc-obj_name = 'Vijay Simha'.
      MAILSTRUC-DOC_TYPE = 'RAW'.
      APPEND MAILSTRUC.
    Receivers
    **u can use ur mail id(s) overhere
        MOVE '[email protected]' TO MAILREC-RECEIVER.
        MAILREC-REC_TYPE  = 'U'.
      APPEND MAILREC.
      CLEAR ITCPO.
      ITCPO-TDGETOTF = 'X'.
    ***moving to the output/format of the attachment.
    final pdf format in the mail attachemnt
      LOOP AT it_outtab.
       MOVE it_outtab-vbeln TO MAILBIN.
       MOVE it_outtab-erdat TO MAILBIN+18.
       MOVE it_outtab-ernam TO MAILBIN+40.
      MOVE it_outtab-netwr TO MAILBIN+70.
      MOVE it_outtab-waerk TO MAILBIN+78.
       APPEND MAILBIN.
       CLEAR MAILBIN.
      ENDLOOP.
    **convert the scrap to otf.
    CALL FUNCTION 'SX_OBJECT_CONVERT_SCR_OTF'
      EXPORTING
        format_src            = 'RAW'
        format_dst            = 'OTF'
        devtype               = 'POSTSCPT'
        funcpara              = ' '
        len_in                = LEN_IN
    IMPORTING
       LEN_OUT               =  LEN_OUT
      tables
        content_in            = MAILBIN
        content_out           = MAILBIN2
    EXCEPTIONS
      ERR_CONV_FAILED       = 1
      OTHERS                = 2
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    REFRESH MAILBIN.
    CONVERT OTF to PDF
      CALL FUNCTION 'SX_OBJECT_CONVERT_OTF_PDF'
        EXPORTING
          FORMAT_SRC            = 'OTF'
          FORMAT_DST            = 'PDF'
          DEVTYPE               = 'POSTSCPT'
      FUNCPARA              =
          LEN_IN                = LEN_IN
        IMPORTING
          LEN_OUT               = LEN_OUT
        TABLES
          CONTENT_IN            = MAILBIN2
          CONTENT_OUT           = MAILBIN
    EXCEPTIONS
      ERR_CONV_FAILED       = 1
      OTHERS                = 2
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    REFRESH MAILBIN2.
    DESCRIBE TABLE MAILBIN LINES TLINES.
    Structure
      MAILSTRUC-HEAD_START = 1.
      MAILSTRUC-HEAD_NUM = 1.
      MAILSTRUC-BODY_START = 1.
      MAILSTRUC-BODY_NUM = TLINES.
      MAILSTRUC-TRANSF_BIN = 'X'.
      MAILSTRUC-DOC_TYPE = 'PDF'.
    MAILSTRUC-DOC_TYPE = 'XLS'.
      mailstruc-obj_name = 'Vijay.S.Reddy'.
      MAILSTRUC-DOC_SIZE = tlines * 255.
      APPEND MAILSTRUC.
    ENDFORM.                    " fill_struct

  • Change sender Address when using SAP Mail via Exchange

    Hi,
    I'm using FM  ZSO_DOCUMENT_SEND_API1 to send email with .pdf attachment. all works fine but the recipient sometimes replies to the email which I dont want to happen, so I need the email to appear to have come from an alternative address than mine.e.g. from 'saphelpdeskatxxx.com' 
    ....code I have tried to change is Originator here...
    CALL FUNCTION 'SO_OBJECT_SEND'
           EXPORTING
              EXTERN_ADDRESS             = ' '
              FOLDER_ID                  = ' '
              FORWARDER                  = ' '
                OBJECT_FL_CHANGE           = OBJECT_FL_CHANGE
                OBJECT_HD_CHANGE           = OBJECT_HD_CHANGE
              OBJECT_ID                  = ' '
                OBJECT_TYPE                = OBJECT_TYPE
                OUTBOX_FLAG                = PUT_IN_OUTBOX
                ORIGINATOR                 = ORIGINATOR  <----
                ORIGINATOR_TYPE            = ORIGINATOR_TYPE
              OWNER                      = ' '
              STORE_FLAG                 = ' '
           IMPORTING
                OBJECT_ID_NEW              = OBJECT_ID_NEW
                SENT_TO_ALL                = SENT_TO_ALL
                ORIGINATOR_ID              = SENDER_ID
    but that doesnt work.
    Is this something I need to do with Exchange and not SAP?
    Any help appreciated.
    Steve

    Hi Aditya,
    I took a copy of the SOI1 function group, called it ZSOI1. Copied Function  SO_NEW_DOCUMENT_ATT_SEND_API1 to Z version. In there there's a call to FM ZSO_DOCUMENT_SEND_API1
    In call arguments set SENDER_ADDRESS to desired static email address, then set SENDER_ADDRESS_TYPE = 'SMTP' - it was that statement that I was stuck on for months
    Hope that helps,
    Steve

  • User cannot send large attachment from one computer but can send it from OWA and other computers

    A user cannot send an email with a 22 mb attachment from a computer he uses occasionally, but he can send the same file from OWA at this desk and from outlook at his normal desk.
    We've recreated his outlook profile and we've tried re-installing office. We've also tried a new install of windows, but to no avail. We even tried a different network port, but it just seems to be this computer.
    Any help would be much appreciated. 
    Thanks
    Patrick

    Hi,
    Try compressing the file, will it be sent then?
    Please also start Outlook in Safe Mode to determine if it's 3rd-party add-ins related:
    Press Win + R and type “outlook.exe /safe” in the blank box, then press Enter.
    If there’s no problem in Safe Mode, disable the suspicious add-ins to verify which add-ins caused this issue.
    Regards,
    Melon Chen
    TechNet Community Support

  • How can i send multiple Key note files attached in one e-mail

    I've problem with mail attachment. I want to send multiple files from keynote as 4 attached in one mail. Anyone know how? Do I've to wasting time send it one by one? Your kind advice will be a lot appreciated. Thank you ;)

    You can only email one file at a time from the app. Unless you can copy and paste all four files into the email, you can't do it in the Mail App either. There is a third party app called Group Email with Attachments that will allow you to do this. You will have to be running iOS 4 to attach documents I believe.
    Message was edited by: Demo

  • Can't Attach Files in 10.9 Mail via Menubar/Toolbar

    All of a sudden I cannot attach files in Mail via menu commands.  A selection (finder) window opens but all items are grayed out (no matter what location).  I can still attach files by dragging them from the Desktop (or other location) into the body of the email.
    Isolation:
    -Issue persists in Safari when logging into webmail.
    --Choosing to "attach" a file to an email (new composure or reply) from the webmail attach links brings up a Finder window with all content grayed out.
    -Created test admin user.
    --logged in as new user.
    --set up Mail w/ an email account.
    --attempted file attachment from menubar/toolbar icons.
    --works.
    ***issue is user specific.
    Resolution:
    -Access primary user ~/Library/Preferences/.
    --locate files named "com.apple.finder" .plist (may have multiple files w/ additional characters).
    --select all and move to Trash.
    --Restart.
    -log in and test.

    E. Van Meter wrote:
    Recently installed OX X 10.5 Leopard and ever since, I can't attach files to outgoing Gmail emails.
    I've tried in Safari, Camino and Firefox -- no luck.
    It does work if I switch to the "older version" of Gmail.
    Does anybody know if there's a setting I can change so I can use Gmail normally but be able to add attachments to mail?
    Anybody else having this issue?
    Your profile indicates you are running a very old version of Leopard which might explain the issue.
    Update to 10.5.8 using the combo update (not the auto software update) and see if that fixes your problem.

  • Sending attachment in a mail using SO_DOCUMENT_SEND_API1

    Hi,
    I am trying to send an attachment in a mail using the FM SO_DOCUMENT_SEND_API1.
    The contents of the body and the attachement are same.
    The contents of the body are coming in proper format but the attachements are not.
    The body contents are in this way:
    1000013559     0010004994     PBG BROOKF     1000013559     000100     010052000328667000     GA LQ CRE 20OZ 24CS FRT PUN              0.000     CS
    1000013559     0010004994     PBG BROOKF     1000013559     000200     010052000328681000     GA LQ CRE 20OZ 24CS LL              0.000     CS
    But the attachement contents are:
    1000013559     0010004994     PBG BROOKF     1000013559     000100     010052000328667000     GA LQ CRE 20OZ 24CS FRT PUN
             ⸀        䌀匀ഀ਀                                                                                                         u2020
    1000013559     0010004994     PBG BROOKF     1000013559     000200     010052000328681000     GA LQ CRE 20OZ 24CS LL
        ⸀        䌀匀ഀ਀                                                                                                              u2020
    Also the last 2 fields which are quantity and unit fields, are not coming at all in the attachment.
    Please help me solve this issue.
    Thanks,
    Abhishek

    what is the document type of attachment? is it excel?

Maybe you are looking for

  • How do you vary the Date/Time stamp format in File Adapters

    In the receiver channel of the File Adapter where you specify the 'File Name Scheme', you do have the option of specifying a 'File Construction Mode' of 'Add Time Stamp'.  How can you specify a different Date/Time stamp format ( eg MM/DD/YY vs YYYYMM

  • Can my charger, which originally shipped with my iPod A1040 be used with any of the following models without damaging the battery?

    I know this is a complicated question, but any detailed explanation as to why or how I appreciate it as I have tested and it does actually charge the 1136, 1051 and 1236, but I have been reluctant to try it on the A1288. Question: Can my charger, whi

  • Big space in front of hyperlinks.

    Everywhere I have a hyperlink in the html files, javahelp puts a big space in front of it. This leaves big gaps in a sentence that has a word that is a hyperlink. Any idea what causes this? Or any way to prevent it?

  • Multiple Ship to Party( 999) ,Partner Determination

    Due to the 999 entry restriction we cannot maintain more than 999 ship to party in the sold to customer master data, to overcome this problem we have implemented a workaround, We don’t maintain the ship to party in the sold to party customer data , b

  • Thinkpad 8 Probleme mit WWAN Karte

    Hallo, ich besitze seit kurzem ein Thinkpad 8 LTE (20BN). Ansich bin ich von dem Gerät sehr angetan, ich frage mich allerdings, was Lenovo mit dem LTE Modul bezwecken wollte. Nach mittlerweile zwei Reparaturversuchen (kein Fehler gefunden) will mir d