How to send an attachment thru mail in SAP?

Hi all,
I have an file which has been sent by the customer. The file type may vary each & every week (sometimes XLS, sometimes CSV & sometimes notepad). This file has to be sent to another person thru mail as an attachment.
Is it possible to send thru the fun mod 'SO_SEND_NEW_*'.
If so how to send as attachment. If not thru this fun mod, how to send?
Thanks,
Vijay.

I am enclosing the sample code to trigger an email, The logic for this is in comments, check this I am shure yuor problem will be solved.
*& Report ZGBL_SLA_PER
REPORT zgbl_sla_per NO STANDARD PAGE HEADING LINE-COUNT 26(3) MESSAGE-ID
zmsg2.
DECLARATION OF DB TABLES
TABLES: zncrfid, zrule_id.
DECLARATION OF INTERNAL TABLES
DATA: BEGIN OF ncrf OCCURS 0,
zncrf_id(15) TYPE c,
zncrf_l4_name(60) TYPE c,
z9gl_sla_flag(1) TYPE c,
zowners(30) TYPE c,
zowners_value(30) TYPE c,
zdate_changed(8) TYPE n,
ztime_changed(6) TYPE n,
END OF ncrf.
*DATA: NCRF LIKE ZNCRFID OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF it_ruleid OCCURS 0,
zrule_id(10) TYPE c,
zowners(30) TYPE c,
zowners_value(30) TYPE c,
END OF it_ruleid.
*data: wa like ncrf occurs 0 with header line.
DATA: BEGIN OF itab OCCURS 0,
zncrf_id(15) TYPE c,
zncrf_l4_name(60) TYPE c,
z9gl_sla_flag(1) TYPE c,
zowners(30) TYPE c,
zowners_value(30) TYPE c,
zdate_changed(8) TYPE n,
ztime_changed(6) TYPE n,
END OF itab.
data: file(10) type c,
dates type date.
EMAIL DECLARATION
*CONSTANTS: c_subject LIKE sodocchgi1-obj_descr VALUE 'Subject',
*c_tab TYPE c VALUE cl_abap_char_utilities=>horizontal_tab.
*DATA: g_time TYPE char8,
*g_email(40) TYPE c,
*g_sent_all(1) TYPE c,
*g_doc_data LIKE sodocchgi1,
*g_error TYPE sy-subrc.
*DATA: i_message LIKE solisti1 OCCURS 0 WITH HEADER LINE,
*i_packing_list LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE,
*i_receivers LIKE somlreci1 OCCURS 0 WITH HEADER LINE.
*DATA: BEGIN OF mailid OCCURS 0,
zemail_id TYPE zrule_id-zemail_id,
END OF mailid.
*data: mailid like zrule_id occurs 0 with header line.
UPLOADING FLAT FILE TO INTERNAL TABLE NCRF
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = 'C:\VAMSY\file.txt'
filetype = 'ASC'
has_field_separator = 'X'
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
CHECK_BOM = ' '
IMPORTING
FILELENGTH =
HEADER =
TABLES
data_tab = ncrf[]
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
NO_BATCH = 3
GUI_REFUSE_FILETRANSFER = 4
INVALID_TYPE = 5
NO_AUTHORITY = 6
UNKNOWN_ERROR = 7
BAD_DATA_FORMAT = 8
HEADER_NOT_ALLOWED = 9
SEPARATOR_NOT_ALLOWED = 10
HEADER_TOO_LONG = 11
UNKNOWN_DP_ERROR = 12
ACCESS_DENIED = 13
DP_OUT_OF_MEMORY = 14
DISK_FULL = 15
DP_TIMEOUT = 16
OTHERS = 17
IF sy-subrc 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
IF sy-subrc EQ 0.
Checking internal table ncrf is empty then
*delete records from TABLE ZNCRF_ID ******************************
IF ncrf[] IS INITIAL.
MESSAGE i003(ZMSG2).
ELSE.
DELETE FROM zncrfid.
ENDIF.
*****Values are read from rule table and checking owner and owner_value
*from zrule_id table and inserted into ZNCRFID **************
SELECT * FROM zrule_id INTO CORRESPONDING FIELDS OF TABLE it_ruleid
WHERE zrule_id IN ('OWNER1', 'OWNER2').
append IT_RULEID.
LOOP AT ncrf WHERE z9gl_sla_flag EQ 'Y'.
READ TABLE it_ruleid WITH KEY zowners = ncrf-zowners
zowners_value = ncrf-zowners_value.
IF ncrf-zowners = it_ruleid-zowners AND ncrf-zowners_value =
it_ruleid-zowners_value AND ncrf-z9gl_sla_flag ='Y'.
itab-zncrf_id = ncrf-zncrf_id.
itab-zncrf_l4_name = ncrf-zncrf_l4_name.
itab-z9gl_sla_flag = ncrf-z9gl_sla_flag.
itab-zdate_changed = sy-datum.
itab-ztime_changed = sy-uzeit.
itab-zowners = it_ruleid-zowners.
itab-zowners_value = it_ruleid-zowners_value.
APPEND itab.
ENDIF.
ENDLOOP.
modify database table zncrfid FROM ITAB
LOOP AT itab.
WRITE:/ itab-zncrf_id, itab-zncrf_l4_name, itab-z9gl_sla_flag,
itab-zowners, itab-zowners_value, itab-zdate_changed,
itab-ztime_changed.
zncrfid-zncrf_id = itab-zncrf_id.
zncrfid-zncrf_l4_name = itab-zncrf_l4_name.
zncrfid-z9gl_sla_flag = itab-z9gl_sla_flag.
zncrfid-zowners = itab-zowners.
zncrfid-zowners_value = itab-zowners_value.
zncrfid-zdate_changed = itab-zdate_changed.
zncrfid-ztime_changed = itab-ztime_changed.
INSERT INTO zncrfid VALUES zncrfid.
ENDLOOP.
ENDIF.
ENDIF.
*CALL FUNCTION 'DATE_TO_DAY'
EXPORTING
DATE = sy-datum
IMPORTING
WEEKDAY = file.
**CHECKING FOR THE FIRST MONDAY OF THE MONTH.
dates = sy-datum.
shift dates by 6 places left.
if file CO 'monday' and dates < 7 and dates >= 1.
else.
message e004(zmsg2).
endif.
EMAIL SEND TO OWNERS LIST
**Fill the mail body in i_message.
get email id's from database into internal table et_mailid
Fill the document data.
*g_doc_data-doc_size = 1.
Populate the subject/generic message attributes
*g_doc_data-obj_langu = sy-langu.
*g_doc_data-obj_name = 'SAPRPT'.
*g_doc_data-obj_descr = c_subject .
*g_doc_data-sensitivty = 'F'.
Describe the body of the message
Information about structure of data tables
*CLEAR i_packing_list.
*REFRESH i_packing_list.
*i_packing_list-transf_bin = space.
*i_packing_list-head_start = 1.
*i_packing_list-head_num = 0.
*i_packing_list-body_start = 1.
*DESCRIBE TABLE i_message LINES i_packing_list-body_num.
*i_packing_list-doc_type = 'RAW'.
*APPEND i_packing_list.
Add the recipients email address
*LOOP AT mailid.
*CLEAR i_receivers.
*i_receivers-receiver = mailid-zemail_id.
*i_receivers-rec_type = 'U'.
*i_receivers-com_type = 'INT'.
*i_receivers-notif_del = 'X'.
*i_receivers-notif_ndel = 'X'.
*APPEND i_receivers.
*ENDLOOP.
Call the FM to post the message to SAPMAIL
*CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
*EXPORTING
*document_data = g_doc_data
*put_in_outbox = 'X'
*commit_work = 'X'
*IMPORTING
*sent_to_all = g_sent_all
*TABLES
*packing_list = i_packing_list
*contents_txt = i_message
*receivers = i_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.
Store function module return code
*g_error = sy-subrc.
Get i_receivers return code
*LOOP AT i_receivers.
*ENDLOOP.
**Instructs mail send program for SAPCONNECT to send email(rsconn01)
*WAIT UP TO 2 SECONDS.
*IF g_error EQ 0.
*SUBMIT zgbl_sla_per WITH mode = 'INT'
*WITH output = 'X'
*AND RETURN.
REWARD IF FOUND USEFULL,
Cheers,

Similar Messages

  • How to send pdf attachment through mail using Webdynpro-Java

    How can i send the Adobe Interactive Form with data involved as a PDF attachment to mail? using Webdynpro-Java.
    Is there any Adobe API or jar file for generating pdf?
    Helpful answer is highly appreciable and rewarded with points.!

    Hi Sankar,
    try [Offline Interactive PDF Form Using E-Mail|/docs/DOC-8061#49]
    Michal

  • How to send multiple attachments thru mail?

    I haven't been able to figure out how from the mail application send docs, worksheets etc as attachment. Also how to attach multiple docs in the mail. Looking for help on this.
    Sparashar

    You need to start in the app that contains the files that you want to send as attachments and use that app's functionality to select and attach files to an email, and not start in the Mail app e.g. the GoodReader app supports multiple document types (word and excel, read only, PDFs, text files, pictures) and allows you to select one or more of them and attach/switch with them to an email.
    In the Mail app itself on iOS 6 you can now press and hold the body of the email and select photos from the Photos app to attach to it.

  • How to send text-attachement in mail ?

    hi there,
    i have a workflow in which a user can attach a RAW-document to the task. there he puts in a text.
    now i want to put that text in an email in the next step of the workflow.
    but how can i manage to get the text in my emal ???
    reg, Martin

    <<<<<<<<<<<<<<
    yes, but HOW can i pass it on ? i still don't get that point
    anyway, the user wants to have all information in the email. why should he open
    a seperate document for just reading the comments ? thats kind of user-unfriendly.
    even if the user has to logon to sap. >>>>>>>>>>>>>>>>
    Actually you are unfirendly in requesting an answer.
    1) Anyways for reading each of the attachment there have to be a background job to read the content of the attachment and then either pass data into a table and then into the email step mail content.
    Or use the content and use mail send FM in SAP FM 'SO_NEW_DOCUMENT_SEND_API1'
    2) How to read each of the attachment content is below:
    To read all the attahchments in WI and to find the document id use FM SAP_WAPI_READ_CONTAINER
    Then Use FM - SO_DOCUMENT_READ_API1...... and Read the document content for the doc using doc id from previous FM
    U can get the exact content in the message and can use it accordingly
    Hope I was clear lem me knoww
    Thanks,
    Charan
    reg, Martin

  • How to send image file through mail without   any attachment

    Plz tell  me how to send image file through mail without any attachment  ( i mean not converting  that image into pdf or any format )  i want to send that text or image  through mail .

    Hi Sandeep,
    I think you can setup the type of email in Shared office Settings in transaction S016.
    There is an option called <Preset document classes>
    You choose this pushbutton to branch to the maintenance screen for the document classes that are directly displayed to users in the Business Workplace for selection when they use the Create function. The name under which the documents are displayed can also be maintained.
    http://help.sap.com/saphelp_nw70/helpdata/en/6c/69c30f418d11d1896e0000e8322d00/content.htm
    Haven't tried it though.
    Regards,
    Siddhesh

  • Send PDF  attachment through mail

    i have one PDF document on my desktop, i want to sent that PDF as attachment to mail through SAP.
    can anybody have idea how to get?

    i also had the same requirement... the following code is to attach a pdf file from PC. 'PDF' has been hard coded. to attach a text file change it to 'TXT'.
    *& Report  Y_FILE_FROM_PC
    REPORT  y_file_from_pc.
    * This program will allowed you to send email with attachment.
    First, specify the attachment file from your local hardisk and execute.
    Next, specify the sender email address and click the send button.
    DATA: method1 LIKE sy-ucomm,
    g_user LIKE soudnamei1,
    g_user_data LIKE soudatai1,
    g_owner LIKE soud-usrnam,
    g_receipients LIKE soos1 OCCURS 0 WITH HEADER LINE,
    g_document LIKE sood4 ,
    g_header LIKE sood2,
    g_folmam LIKE sofm2,
    g_objcnt LIKE soli OCCURS 0 WITH HEADER LINE,
    g_objhead LIKE soli OCCURS 0 WITH HEADER LINE,
    g_objpara LIKE selc OCCURS 0 WITH HEADER LINE,
    g_objparb LIKE soop1 OCCURS 0 WITH HEADER LINE,
    g_attachments LIKE sood5 OCCURS 0 WITH HEADER LINE,
    g_references LIKE soxrl OCCURS 0 WITH HEADER LINE,
    g_authority LIKE sofa-usracc,
    g_ref_document LIKE sood4,
    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.PDF'.
    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 NE 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 = 'attach file from pc'.
    g_document-folrg = 'O'.
    *g_document-okcode = 'CHNG'.
    g_document-objlen = '0'.
    g_document-file_ext = 'PDF'.
    g_header-objdes = 'attach file from pc'.
    g_header-file_ext = 'PDF'.
    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 = 'ABAP'.
    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.
    hope this helps!

  • Very urjent how to send report output in mail

    hi experts,
    how to send report output in mail which function module should i use wht parameters should i pass.
    thanks in addavnce,
    points to be awarded.

      CALL FUNCTION 'GET_PRINT_PARAMETERS'
           EXPORTING
                destination    = '026c'
                copies         = count
                list_name      = 'VATS_ASBUILT'
                list_text      = v_list
                immediately    = 'X'
                release        = 'X'
                new_list_id    = 'X'
                expiration     = days
                line_size      = 132
                line_count     = 65
                layout         = 'X_65_132'
    *            sap_cover_page = 'X'
    *            cover_page     = 'X'
                receiver       = 'SAP*'
                department     = 'VATS'
                no_dialog      = 'X'
           IMPORTING
                out_parameters = params
                valid          = valid.
      SUBMIT zppr_vats_asbuilt  WITH p_aufnr EQ v_aufnr
                   TO SAP-SPOOL WITHOUT SPOOL DYNPRO
                      SPOOL PARAMETERS params
                         AND RETURN.
      SELECT SINGLE rqident FROM tsp01 INTO l_spoolno
                         WHERE rqtitle = v_list .
    * convert report to PDF format
      CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
           EXPORTING
                src_spoolid              = l_spoolno
                no_dialog                = 'X'
           TABLES
                pdf                      = l_ipdf
           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.
      IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        EXIT .
      ENDIF.
    Now comes the part to send the mail
      try.
    * -------- create persistent send request ------------------------
          send_request = cl_bcs=>create_persistent( ).
          clear document.
    * -------- create and set document with attachment ---------------
    * create document from internal table with text
          document = cl_document_bcs=>create_document(
          i_type = 'RAW'
          i_text = text
          i_length = '12'
          i_subject = '' ).
    *changing the content of the attachment
          binary_content[] = l_iobjbin[].
    *change the name of the PDF attachment
          concatenate 'Build ID' s_buildid_i 'Rev' v_buildid_rev
                              into i_att_sub separated by space.
    * add attachment to document
          call method document->add_attachment
            exporting
              i_attachment_type    = 'PDF'
              i_attachment_subject = i_att_sub
              i_att_content_hex    = binary_content.
    *setting the option to send an e-mail more than 50 characters
          call method send_request->set_message_subject
            exporting
              ip_subject = t_sub.
    * add document to send request
          call method send_request->set_document
            exporting
              i_document = document.
    * --------- set sender -------------------------------------------
    * note: this is necessary only if you want to set the sender
    * different from actual user (SY-UNAME). Otherwise sender is
    * set automatically with actual user.
          sender = cl_sapuser_bcs=>create( 'VATSUPPORT' ).
          call method send_request->set_sender
            exporting
              i_sender = sender.
    *Send the list based on receivers list obtained
          loop at l_ireclist.
            AD_SMTPADR = l_ireclist-receiver.
    * --------- add recipient (e-mail address) -----------------------
    * create recipient - please replace e-mail address !!!
          recipient = cl_cam_address_bcs=>create_internet_address(
          AD_SMTPADR ).
    * add recipient with its respective attributes to send request
          call method send_request->add_recipient
            exporting
              i_recipient = recipient
              i_express   = 'X'.
          ENDLOOP.
          call method send_request->set_status_attributes
            exporting
              i_requested_status = 'E'
              i_status_mail      = 'E'.
    * To send the mail immediately
          call method send_request->set_send_immediately( 'X' ).
    * ---------- send document ---------------------------------------
          call method send_request->send( ).
          commit work.

  • Is it possible to send xls attach in mail in background ?

    is it possible to send xls attach in mail in background ?
    i build/copy program to send attach file in xls format  ,
    its work fine in foreground but do nothing in background  ,
    What can be the reason?
    the section of the sending  :
      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.
      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  = 'SAPRPT'.
      W_DOC_DATA-OBJ_DESCR = LD_MTITLE .
      W_DOC_DATA-SENSITIVTY = 'F'.
    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   = 'SAPRPT'.
      W_DOC_DATA-OBJ_DESCR  = LD_MTITLE.
      W_DOC_DATA-SENSITIVTY = 'F'.
      CLEAR T_ATTACHMENT.
      REFRESH T_ATTACHMENT.
      T_ATTACHMENT[] = PIT_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 = 'RAW'.
      APPEND T_PACKING_LIST.
    Create attachment notification
      T_PACKING_LIST-TRANSF_BIN = 'X'.
      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 = 'U'.
      T_RECEIVERS-COM_TYPE = 'INT'.
    T_RECEIVERS-NOTIF_DEL = 'X'.
    T_RECEIVERS-NOTIF_NDEL = 'X'.
      APPEND T_RECEIVERS.
      CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
        EXPORTING
          DOCUMENT_DATA              = W_DOC_DATA
          PUT_IN_OUTBOX              = 'X'
          SENDER_ADDRESS             = LD_SENDER_ADDRESS
          SENDER_ADDRESS_TYPE        = LD_SENDER_ADDRESS_TYPE
          COMMIT_WORK                = 'X'
        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.

    Try this example, not sure where I got this, but it works.
    report zmail_excel.
    parameters: p_email   type somlreci1-receiver
                                   default '[email protected]'.
    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.
    Regards,
    Rich Heilman

  • How to Send Multiple Attachment by SOAP Adapter

    Hi,
    How to send multiple attachment by SOAP Adapter.
    I am able to send single attachment but at the time of sending multiple attachment i am not able to see in SXMB_moni.
    Regards,
    Anurag

    On the communication channel, please check the 'Do Not Use SOAP envelope' option. Also, please, add the "nosoap" attribute to the SOAP adapter caller. Check the note below for more information
    #856597 FAQ: XI 3.0 / PI 7.0 / PI 7.1 SOAP Adapter
    > "How does the nosoap mode work for the SOAP sender adapter?"

  • How to send an attachment with adobe form

    Hi
    in my application i have two process intiator and approval process both are adobe interactive forms,according to my scenarion i need to send an attachment(pdf or word document....)in intiatior to approval process,can pleasse tell me how to send the attachment.
    Thanks
    Raju
    Edited by: raju on Oct 7, 2008 6:39 AM

    hi!
    chk these links .
    Re: Sending Adobe Interactive Forms via Email
    Re: Saving and sending Adobe Form pdf from WebDynpro
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/176882c3-0401-0010-9fbc-d9fa1f713a73
    thanks
    vishal

  • How to send sapmails to external mail systems

    Hi,
    how to send sapmails to external mail systems....
    like if we want to mail a purchase order from SAP System to *@yahaoo.com or @.com.
    TY.

    hi manish,
    u can do it.
    chk this .
    chk this code
    DATA: objpack LIKE sopcklsti1 OCCURS 2 WITH HEADER LINE.
    DATA: objhead LIKE solisti1 OCCURS 1 WITH HEADER LINE.
    DATA: objbin LIKE solisti1 OCCURS 10 WITH HEADER LINE.
    DATA: objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE.
    DATA: reclist LIKE somlreci1 OCCURS 5 WITH HEADER LINE.
    DATA: doc_chng LIKE sodocchgi1.
    *& Form f_send_mail
    text
    --> p1 text
    <-- p2 text
    FORM f_send_mail .
    *store the vendor name, vendor email id , employee name and employee
    *email id in the internal table int_crb
    Creation of the document to be sent
    CLEAR doc_chng.
    REFRESH objpack.
    REFRESH objhead.
    REFRESH reclist.
    REFRESH objtxt.
    File Name
    doc_chng-obj_name = 'SHIPMENT'.
    Mail Subject
    CONCATENATE 'Shipment Document No.' int_crb_mail-shipdocnum
    'Cleared.'
    INTO doc_chng-obj_descr SEPARATED BY ' '.
    Mail Contents
    objtxt-line = 'Hi,'.
    APPEND objtxt.
    objtxt-line = ' '.
    APPEND objtxt.
    CONCATENATE 'Shipment Document Number ' int_crb_mail-shipdocnum
    ' cleared for move.' INTO objtxt-line SEPARATED BY ' '.
    APPEND objtxt.
    objtxt-line = ' '.
    APPEND objtxt.
    CLEAR objtxt.
    objtxt-line = 'Regards '.
    APPEND objtxt.
    objtxt-line = ' '.
    APPEND objtxt.
    objtxt-line = 'SAP '.
    APPEND objtxt.
    CLEAR objtxt.
    APPEND objtxt.
    DESCRIBE TABLE objtxt LINES tab_lines.
    READ TABLE objtxt INDEX tab_lines.
    doc_chng-doc_size = ( tab_lines - 1 ) * 255 + STRLEN(
    objtxt ).
    Creation of the entry for the compressed document
    CLEAR objpack-transf_bin.
    objpack-head_start = 1.
    objpack-head_num = 0.
    objpack-body_start = 1.
    objpack-body_num = tab_lines.
    objpack-doc_type = 'RAW'.
    APPEND objpack.
    Completing the recipient list
    target recipent
    CLEAR reclist.
    reclist-receiver = int_crb_mail-empperid. "employee email ID
    "wf_empperid.
    reclist-express = 'X'.
    reclist-rec_type = 'U'.
    APPEND reclist.
    copy recipents
    CLEAR reclist.
    reclist-receiver = int_crb_mail-smtp_addr."vendor email id
    reclist-express = 'X'.
    reclist-rec_type = 'U'.
    reclist-copy = 'X'.
    APPEND reclist.
    Sending the document
    CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
    EXPORTING
    document_data = doc_chng
    TABLES
    packing_list = objpack
    object_header = objhead
    contents_bin = objbin
    contents_txt = objtxt
    receivers = reclist
    EXCEPTIONS
    too_many_receivers = 1
    document_not_sent = 2
    operation_no_authorization = 4
    OTHERS = 99.
    COMMIT WORK.
    SUBMIT rsconn01
    WITH mode = 'INT'
    WITH output = ' '
    AND RETURN.
    ENDFORM. " f_send_mail
    for any clarifiaction pls mail me.
    pls reward points, if this helped u.
    regards,
    anversha.
    [email protected]

  • 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

  • How to send multiple attachment s with a mail??

    Hi,
    How to send multiple attachments  with a mail??
    Situation::
    In my case i have 5 internal tables populated dynamically in the report.
    I want to send them in .TXT format as attachment with 1 mail.
    Can anybody tell me in 'SO_NEW_DOCUMENT_ATT_SEND_API1',
    how we add multiple attachmants to table objin???
    thanks,
    deepak

    Hi Deepak,
    Please find the sample code for sending mail with multiple attachment.
    Report  ZPAN_02M                                        *
    REPORT  zpan_02m                                .
    *-MAIN DECLARATION----
    DATA: docdata    LIKE sodocchgi1,
          objpack    LIKE sopcklsti1 OCCURS  1 WITH HEADER LINE,
          objhead    LIKE solisti1   OCCURS  1 WITH HEADER LINE,
          objtxt     LIKE solisti1   OCCURS 10 WITH HEADER LINE,
          objbin     LIKE solisti1   OCCURS 10 WITH HEADER LINE,
          objhex     LIKE solix      OCCURS 10 WITH HEADER LINE,
          reclist    LIKE somlreci1  OCCURS  1 WITH HEADER LINE.
    *-OTHER DECLARATIONS----
    DATA : listobject   LIKE abaplist OCCURS  1 WITH HEADER LINE.
    DATA : tab_lines(3) TYPE n.
    DATA : att_type     LIKE soodk-objtp.
    *OBJBIN = '  |  '. APPEND OBJBIN.
    *---For simple attachment -
    DATA : BEGIN OF wi_data OCCURS 0,
             c1(10),
             c2(10),
           END OF wi_data.
    wi_data-c1 = 'Line 1'.   wi_data-c2 = 'Line 1'.  APPEND wi_data.
    wi_data-c1 = 'Line 2'.   wi_data-c2 = 'Line 2'.  APPEND wi_data.
    wi_data-c1 = 'Line 3'.   wi_data-c2 = 'Line 3'.  APPEND wi_data.
    wi_data-c1 = 'Line 4'.   wi_data-c2 = 'Line 3'.  APPEND wi_data.
    wi_data-c1 = 'Line 5'.   wi_data-c2 = 'Line 3'.  APPEND wi_data.
    wi_data-c1 = 'Line 6'.   wi_data-c2 = 'Line 3'.  APPEND wi_data.
    wi_data-c1 = 'Line 7'.   wi_data-c2 = 'Line 3'.  APPEND wi_data.
    wi_data-c1 = 'Line 8'.   wi_data-c2 = 'Line 3'.  APPEND wi_data.
    wi_data-c1 = 'Line 9'.   wi_data-c2 = 'Line 3'.  APPEND wi_data.
    wi_data-c1 = 'Line 10'.   wi_data-c2 = 'Line 3'.  APPEND wi_data.
    wi_data-c1 = 'Line 11'.   wi_data-c2 = 'Line 3'.  APPEND wi_data.
    wi_data-c1 = 'Line 12'.   wi_data-c2 = 'Line 3'.  APPEND wi_data.
    wi_data-c1 = 'Line 13'.   wi_data-c2 = 'Line 3'.  APPEND wi_data.
    wi_data-c1 = 'Line 14'.   wi_data-c2 = 'Line 3'.  APPEND wi_data.
    wi_data-c1 = 'Line 15'.   wi_data-c2 = 'Line 3'.  APPEND wi_data.
    wi_data-c1 = 'Line 16'.   wi_data-c2 = 'Line 3'.  APPEND wi_data.
    wi_data-c1 = 'Line 17'.   wi_data-c2 = 'Line 3'.  APPEND wi_data.
    wi_data-c1 = 'Line 18'.   wi_data-c2 = 'Line 3'.  APPEND wi_data.
    wi_data-c1 = 'Line 19'.   wi_data-c2 = 'Line 3'.  APPEND wi_data.
    wi_data-c1 = 'Line 20'.   wi_data-c2 = 'Line 3'.  APPEND wi_data.
    wi_data-c1 = 'Line 21'.   wi_data-c2 = 'Line 3'.  APPEND wi_data.
    wi_data-c1 = 'Line 22'.   wi_data-c2 = 'Line 3'.  APPEND wi_data.
    wi_data-c1 = 'Line 23'.   wi_data-c2 = 'Line 3'.  APPEND wi_data.
    wi_data-c1 = 'Line 24'.   wi_data-c2 = 'Line 3'.  APPEND wi_data.
    wi_data-c1 = 'Line 25'.   wi_data-c2 = 'Line 3'.  APPEND wi_data.
    wi_data-c1 = 'Line 26'.   wi_data-c2 = 'Line 3'.  APPEND wi_data.
    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,
        con_nwln type c value cl_abap_char_utilities=>NEWLINE.
    LOOP AT wi_data.
      CONCATENATE wi_data-c1 con_tab
                  wi_data-c2
                INTO objbin.
      condense objbin.
      CONCATENATE con_cret objbin INTO objbin.
      APPEND  objbin.
    ENDLOOP.
    *---CREATE MESSAGE : DOCDATA -
      Name
    docdata-obj_name  = 'TEST_ALI'.
      Subject
    docdata-obj_descr = 'Test including ALI/HTML Attachment'.
    *---CREATE MESSAGE : BODY -
    objtxt = 'Test Document.'.
    APPEND objtxt.
    objtxt = 'You will find an ALI/HTML attachment in this message.'.
    APPEND objtxt.
    objtxt = 'Have a nice day.'.
    APPEND objtxt.
    *-CREATE PACKING LIST-----TEXT--
    objpack-head_start = 1.
    DESCRIBE TABLE objtxt LINES tab_lines.
    READ     TABLE objtxt INDEX tab_lines.
    docdata-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objtxt ).
    CLEAR objpack-transf_bin.
    objpack-head_start = 1.
    objpack-head_num   = 0.
    objpack-body_start = 1.
    objpack-body_num   = tab_lines.
    objpack-doc_type   = 'RAW'.
    APPEND objpack.
    *-CREATE PACKING LIST-----ATTACHMENT--
    att_type = 'XLS'.
    DESCRIBE TABLE objbin LINES tab_lines.
    READ     TABLE objbin INDEX tab_lines.
    objpack-doc_size = ( ( tab_lines / 2 ) - 1 ) * 255 + STRLEN( objbin ).
    objpack-transf_bin = 'X'.
    objpack-head_start = 1.
    objpack-head_num   = 0.
    objpack-body_start = 1.
    objpack-body_num   = tab_lines / 2.
    objpack-doc_type   = att_type.
    objpack-obj_name   = 'ATTACHMENT 1'.
    objpack-obj_descr  = 'Attached Document 1'.
    APPEND objpack.
    att_type = 'XLS'.
    objpack-doc_size = ( ( tab_lines / 2 ) - 1 ) * 255 + STRLEN( objbin ).
    objpack-transf_bin = 'X'.
    objpack-head_start = 14.
    objpack-head_num   = 14.
    objpack-body_start = 14.
    objpack-body_num   = tab_lines / 2.
    objpack-doc_type   = att_type.
    objpack-obj_name   = 'ATTACHMENT 2'.
    objpack-obj_descr  = 'Attached Document 2'.
    APPEND objpack.
    *-CREATE RECEIVER LIST----
    reclist-receiver = '[email protected]'. reclist-rec_type = 'U'.
    APPEND reclist.
    reclist-receiver = sy-uname.               reclist-rec_type = 'B'.
    APPEND reclist.
    *-SEND MESSAGE----
    CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
      EXPORTING
        document_data                     = docdata
        put_in_outbox                     = 'X'
        commit_work                       = 'X'
      IMPORTING
      SENT_TO_ALL                       =
      NEW_OBJECT_ID                     =
      TABLES
        packing_list                      = objpack
        object_header                     = objhead
        contents_bin                      = objbin
        contents_txt                      = objtxt
      CONTENTS_HEX                      = objhex
      OBJECT_PARA                       =
      OBJECT_PARB                       =
        receivers                         = 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.
    WAIT UP TO 2 SECONDS.
    SUBMIT rsconn01 WITH mode = 'INT'
                  WITH output = 'X'
                  AND RETURN.
    Hope this is enough for you...
    Enjoy SAP.
    Pankaj Singh.

  • How to send incoming XML as mail-attachment

    Hi Experts,
    I have the following scenario: an incoming XML-file should be send as attachment of a mail. Now, I have defined incoming message with the structure of the xml-message and outgoing message as mail-package. In the message mapping I fill the nessesary mail-fields. In my receiver comm.channel (mailadapter) I checked "Use mail package" and "Keep attachment".
    Result is that the mail is created and send ok, but without attachment....what am I doing wrong here?
    Regards,
    William

    Hi JWD,
    You should configure the mail adapter with 'use the mail adpater' and 'keep attachments'.
    Create an XML file conform the XML structure provide by SAP
    The mail package should look like this:
    <?xml version="1.0" encoding="utf-8"?>
    <ns:MT_Mail_Sent xmlns:xi="http://sap.com/xi/XI/Mail/30">
    <xi:Mail>
    <Subject>Item</Subject>
    <From>MAIL ADDRESS</From>
    <To>MAIL ADRESS</To>
    <Content_Type>multipart/mixed; boundary="AaBb--984dfgeSSd3532"</Content_Type>
    <Content_Disposition>attachment</Content_Disposition>
    <Content>
    AaBb984dfgeSSd3532
    Content-Type: text/plain
    this is sample data.
    AaBb984dfgeSSd3532
    Content-Type: text/plain;name="CSV_data.csv"
    Order number;Item number;description<xsl:text> </xsl:text>
    <xsl:for-each select="Article_line">
    <xsl:value-of select="Ord_nmbr"/>;<xsl:value-of select="Item_nmbr"/>;<xsl:value-of select="Description<xsl:text>
    </xsl:text></xsl:for-each>
    AaBb984dfgeSSd3532
    Content-Type: text/plain;name="TXT_data.txt"
    Order number;Item number;description<xsl:text> </xsl:text>
    <xsl:for-each select="Article_line">
    <xsl:value-of select="Ord_nmbr"/>;<xsl:value-of select="Item_nmbr"/>;<xsl:value-of select="Description<xsl:text> </xsl:text></xsl:for-each>
    AaBb984dfgeSSd3532
    </Content>
    </xi:Mail>
    </ns:MT_Mail_Sent>
    In the above example you should have some content and 2 attachments (1 csv file and 1 txt file).
    After each break (AaBb984dfgeSSd3532) specify again the 'Content-Type'.
    *When you want to send a message payload as described, you have to set in the mail receiver channel the parameter Content Encoding to None and uncheck Keep Attachments.
    The last boundary AaBb984dfgeSSd3532 should be omitted, as the mail adapter sets that border itself (tested with SP16)*
    Reward points if this helps
    Regards
    Pragathi.

  • How to send table contents as mail attachment.

    Hi,
       I am showing data into webdynpro table by accessing database. Now i have to send these data through mail to different persons. How can i do it. I tried it by sending the table elements into excel files but i am facing some problems. can it be done through HTML files??
          Please give a solution to it.
          Thanks and Regards..
          Pankaj Kumar.

    Pankaj
    I am giving sample code here.
    Put this code in an action behind Send Mail button on your iview as an example.
    Also add external jar file mail.jar to your web dynpro project to achieve your objective.
         if(wdContext.currentContextElement().getTest()== null)
              IWDWindowInfo windowInfo1 = wdComponentAPI.getComponentInfo().findInWindows("EnterText");
              IWDWindow window1 =wdComponentAPI.getWindowManager().createWindow(windowInfo1,true);
              window1.open();
              window1.setWindowPosition(300,300);
              wdContext.currentContextElement().setEmptyText(window1);
         } else
              Properties props = new Properties();
              String host = "XXX.XXX.X.X"; /*ip address of mail server */
              props.put("mail.smtp.host", host);
              props.put("mail.smtp.port", "25");
              props.put("mail.smtp.auth","false");
         //     auth = new AuthenticationBean();
              Session session = Session.getInstance(props, null);
               MimeMessage  message = new MimeMessage (
              Session.getInstance ( props, null ) );
             Address toAddress = new InternetAddress();
              Address fromAddress = new InternetAddress();
              Address ccAddress = new InternetAddress();
              Address bccAddress = new InternetAddress();
                     //new window code
                   IWDWindowInfo windowInfo = wdComponentAPI.getComponentInfo().findInWindows("SuccessWindow");
                   IWDWindow window =wdComponentAPI.getWindowManager().createWindow(windowInfo,true);
                   window.open();
                   window.setWindowPosition(300,300);
                   wdContext.currentContextElement().setSuccess(window);
            try
                   MimeMultipart multipart = new MimeMultipart();
                   BodyPart messageBodyPart = new MimeBodyPart();
                     fromAddress = new InternetAddress(wdContext.currentContextElement().getFromEmail());
                   message.setFrom(fromAddress);
                   toAddress = new InternetAddress(wdContext.currentContextElement().getRfcEmail());
                   wdContext.currentContextElement().setErr(wdContext.currentContextElement().getRfcEmail());
                   message.setRecipient(Message.RecipientType.TO, toAddress);
                   message.setSubject(wdContext.currentContextElement().getMycontactDD());
                   messageBodyPart.setText("Message From :"" " wdThis.wdGetMailAppController().wdGetContext().currentContextElement().getName()"\r\n""\r\n"+wdContext.currentContextElement().getTest());
                   multipart.addBodyPart(messageBodyPart);
                   message.setContent(multipart);
                   Transport.send(message);
                 catch (AddressException e)
                             wdComponentAPI.getMessageManager().reportWarning(e. getLocalizedMessage());
                              e.printStackTrace();
                 catch (SendFailedException e)
                        wdComponentAPI.getMessageManager().reportWarning(e. getLocalizedMessage());
                         e.printStackTrace();
                 catch (MessagingException e)
                         wdComponentAPI.getMessageManager().reportWarning( e.getLocalizedMessage());
                         e.printStackTrace();
    Please award points if this helps as this will give you a hint for sending mails.

Maybe you are looking for