Funcation module to send attachment file to sap user

hello Friends,
I want to send an external file to sap user when report is run
is ther any funcation module to send attachment file to sap user
plz reply
thanx in adv.
Bhaskar

Check these FMs,
SO_NEW_DOCUMENT_ATT_SEND_API1
SO_DOCUMENT_SEND_API1
SO_WIND_ATTACHMENT_LIST_API1
Thanks and Regards

Similar Messages

  • Send binary files from SAP System to SAP XI/PI

    Dear experts,
    in our SAP ERP-System we have a link to JPG files which are stored in an archive. We want to send these files with some other information to our SAP XI and then store them on a file server. Is there a way to send a MIME attachment via RFC? Or is there another way to send binary files from SAP ERP to SAP XI? We want to avoid polling the files on OS level.
    Thanks and regards,
    David

    Most recommended way is to go for ABAP proxies. They support attachments.
    Regards,
    Prateek

  • Send Attachment Files Of MM03 via email

    Dear Experts,
    I have requirement of send Attachment files of MM03 transaction Via Email.
    Example.
    Go to TCODE MM03.
    Select Views:  Basic Data1 and Basic Data 2.
    Click on GOS (Generic Object Services) where you find Attachment List.
    I want to send that PDF files Via Email.
    Please tell me how I can read that file and send via Email as attachment.
    Thank you

    Hi
    1. Readout the GOS  FM: BDS_GOS_CONNECTIONS_GET  > make list of Attachments...
    2. Read the object:    FM: SO_OBJECT_READ 
    3. Download it into a Temp directory:   FM: SO_OBJECT_DOWNLOAD
    4. Upload into itab:    cl_gui_frontend_services=>gui_upload
    5. Put Table with text into Email.. & send... FM: SO_NEW_DOCUMENT_ATT_SEND_API1
    6. delete Temp file
    that was my way....
    Robert

  • Can we send .csv file from sap srm system to sap pi?

    Hi Experts,
    we have 3 options send the data from sap systems to sap pi.i. e.proxy,idoc and rfc only
    How can we send .csv file from sap srm to sap pi?
    Regards,
    Anjan

    Anjan
    As you know SAP SRM and SAP PI are different boxes.
    *_Option 1:_*
    we need a shared AL11 directory in between SAP SRM and SAP PI (Ask basis to setup shared folder). Place / Populate the file in the folder from SAP SRM and then it can be picked through sender file communication channel.
    In this case you (Basis team) will share one folder which is visible from the AL11 transaction of both the systems (SRM and PI). You will drop .csv file using some report or program from SRM at this location and from PI you can read that file using File communication channel (NFS mode).
    Option 2:
    Setup a FTP at SRM environment and expose some folder which can be accessible from PI. Use sender file communication channel at PI end to pick the file.
    You can use this option incase sharing of folder is not possible (due to network / other constrains). Here FTP server is required to expose any folder as FTP so as it can be accessible from internet (remote location). You need to expose some folder at SRM machine.  You will drop .csv file using some report or program from SRM at this location. Now PI can fetch the file from that location using  sender file communication channel (FTP Mode) providing user credentials.
    Hope it clears now.
    Regards
    Raj

  • FM to SEND an email to SAP USER

    Hi Gurus,
    Pls let me know the FM if any to send a email to SAP USER (eg. DANYGG) so that it will go to SAP INBOX of the user in T.code So01.
    Promise to reward.
    Regards
    Mac

    hi,
    check with this code, and reward if u find useful..
    Table Declarations
    TABLES: SOLI.
    Data Declarations
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
    PARAMETERS: SAPID RADIOBUTTON GROUP ADDR,
    EMAIL_ID RADIOBUTTON GROUP ADDR.
    SELECTION-SCREEN END OF BLOCK B1.
    SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.
    SELECT-OPTIONS: ID FOR SOLI-LINE NO INTERVALS.
    SELECT-OPTIONS: CC FOR SOLI-LINE NO INTERVALS.
    SELECT-OPTIONS: BCC FOR SOLI-LINE NO INTERVALS.
    *PARAMETERS: SENDER LIKE SOUD-USRNAM.
    SELECTION-SCREEN END OF BLOCK B2.
    SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-009.
    PARAMETERS: SUB_LINE(60) TYPE C.
    SELECTION-SCREEN END OF BLOCK B3.
    SELECTION-SCREEN BEGIN OF BLOCK B4 WITH FRAME TITLE TEXT-008.
    SELECT-OPTIONS: TEXT1 FOR SOLI-LINE NO INTERVALS.
    SELECTION-SCREEN END OF BLOCK B4.
    SELECTION-SCREEN BEGIN OF BLOCK B5 WITH FRAME TITLE TEXT-009.
    SELECTION-SCREEN BEGIN OF LINE.
    parameters: P_ATTACH as checkbox.
    selection-screen comment 3(30) text-010.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN END OF BLOCK B5.
    DATA: MAIL_CONTENT LIKE SOLI OCCURS 0 WITH HEADER LINE,
    SUBJECT_LINE LIKE SOOD1-OBJDES.
    Start of program processing
    START-OF-SELECTION.
    Get the Body of the Message from the selection screen or from
    calling program
    LOOP AT TEXT1.
    MOVE TEXT1-LOW TO MAIL_CONTENT-LINE.
    APPEND MAIL_CONTENT.
    ENDLOOP.
    Subject of the Message
    MOVE SUB_LINE TO SUBJECT_LINE.
    call a routine to send the workflow message
    PERFORM SEND_EMAIL
    TABLES MAIL_CONTENT
    USING SUBJECT_LINE.
    *& Form SEND_EMAIL
    Send Workflow message
    FORM SEND_EMAIL TABLES OBJCONT STRUCTURE MAIL_CONTENT
    USING TITLE LIKE SOOD-OBJDES.
    DATA: RECEIVERS LIKE SOOS1 OCCURS 0 WITH HEADER LINE,
    TSOOD1 LIKE SOOD1,
    PACKING_LIST LIKE SOXPL OCCURS 0 WITH HEADER LINE,
    OBJCONT1 LIKE MAIL_CONTENT OCCURS 0 WITH HEADER LINE.
    DATA: BEGIN OF AT_HEADER OCCURS 1.
    INCLUDE STRUCTURE SOLI.
    DATA: END OF AT_HEADER.
    CLEAR: TSOOD1,
    RECEIVERS.
    REFRESH RECEIVERS.
    MOVE: SY-LANGU TO TSOOD1-OBJLA,
    'Email Notice' TO TSOOD1-OBJNAM,
    'C' TO TSOOD1-OBJSNS,
    TITLE TO TSOOD1-OBJDES.
    'SCHIAVONIR' TO TSOOD1-OWNNAM.
    loop through each ID and move them to recipient table
    LOOP AT ID.
    TRANSLATE ID-LOW TO UPPER CASE.
    IF SAPID = 'X'.
    MOVE: SY-DATUM TO RECEIVERS-RCDAT,
    SY-UZEIT TO RECEIVERS-RCTIM,
    ' ' TO RECEIVERS-RECESC,
    ID-LOW TO RECEIVERS-RECNAM,
    'X' TO RECEIVERS-SNDEX.
    ELSE.
    MOVE: SY-DATUM TO RECEIVERS-RCDAT,
    SY-UZEIT TO RECEIVERS-RCTIM,
    'U' TO RECEIVERS-RECESC,
    'U-' TO RECEIVERS-RECNAM,
    ID-LOW TO RECEIVERS-RECEXTNAM.
    ENDIF.
    APPEND RECEIVERS.
    CLEAR RECEIVERS.
    ENDLOOP.
    loop through each CC and move them to recipient table
    LOOP AT CC.
    TRANSLATE CC-LOW TO UPPER CASE.
    IF SAPID = 'X'.
    MOVE: SY-DATUM TO RECEIVERS-RCDAT,
    SY-UZEIT TO RECEIVERS-RCTIM,
    ' ' TO RECEIVERS-RECESC,
    CC-LOW TO RECEIVERS-RECNAM,
    'X' TO RECEIVERS-SNDEX,
    'X' TO RECEIVERS-SNDCP.
    ELSE.
    MOVE: SY-DATUM TO RECEIVERS-RCDAT,
    SY-UZEIT TO RECEIVERS-RCTIM,
    'U' TO RECEIVERS-RECESC,
    'U-' TO RECEIVERS-RECNAM,
    CC-LOW TO RECEIVERS-RECEXTNAM,
    'X' TO RECEIVERS-SNDCP.
    ENDIF.
    APPEND RECEIVERS.
    CLEAR RECEIVERS.
    ENDLOOP.
    loop through each BCC and move them to recipient table
    LOOP AT BCC.
    TRANSLATE BCC-LOW TO UPPER CASE.
    IF SAPID = 'X'.
    MOVE: SY-DATUM TO RECEIVERS-RCDAT,
    SY-UZEIT TO RECEIVERS-RCTIM,
    ' ' TO RECEIVERS-RECESC,
    BCC-LOW TO RECEIVERS-RECNAM,
    'X' TO RECEIVERS-SNDEX,
    'X' TO RECEIVERS-SNDBC.
    ELSE.
    MOVE: SY-DATUM TO RECEIVERS-RCDAT,
    SY-UZEIT TO RECEIVERS-RCTIM,
    'U' TO RECEIVERS-RECESC,
    'U-' TO RECEIVERS-RECNAM,
    BCC-LOW TO RECEIVERS-RECEXTNAM,
    'X' TO RECEIVERS-SNDBC.
    ENDIF.
    APPEND RECEIVERS.
    CLEAR RECEIVERS.
    ENDLOOP.
    AT_HEADER = SY-DATUM.
    APPEND AT_HEADER.
    AT_HEADER = SY-UZEIT.
    APPEND AT_HEADER.
    IF SENDER EQ SPACE.
    SENDER = SY-UNAME.
    ENDIF.
    IF P_ATTACH EQ 'X'.
    PACKING_LIST-HEAD_START = 1.
    PACKING_LIST-HEAD_NUM = 2.
    PACKING_LIST-BODY_START = 1.
    PACKING_LIST-BODY_NUM = 9999.
    PACKING_LIST-FILE_EXT = 'TXT'.
    APPEND PACKING_LIST.
    CLEAR PACKING_LIST.
    APPEND LINES OF OBJCONT TO OBJCONT1.
    REFRESH OBJCONT.
    ENDIF.
    CALL FUNCTION 'SO_OBJECT_SEND'
    EXPORTING
    OBJECT_HD_CHANGE = TSOOD1
    OBJECT_TYPE = 'RAW'
    TABLES
    OBJCONT = OBJCONT
    RECEIVERS = RECEIVERS
    ATT_HEAD = AT_HEADER
    ATT_CONT = OBJCONT1
    PACKING_LIST = PACKING_LIST
    EXCEPTIONS
    ACTIVE_USER_NOT_EXIST = 1
    COMMUNICATION_FAILURE = 2
    COMPONENT_NOT_AVAILABLE = 3
    FOLDER_NOT_EXIST = 4
    FOLDER_NO_AUTHORIZATION = 5
    FORWARDER_NOT_EXIST = 6
    NOTE_NOT_EXIST = 7
    OBJECT_NOT_EXIST = 8
    OBJECT_NOT_SENT = 9
    OBJECT_NO_AUTHORIZATION = 10
    OBJECT_TYPE_NOT_EXIST = 11
    OPERATION_NO_AUTHORIZATION = 12
    OWNER_NOT_EXIST = 13
    PARAMETER_ERROR = 14
    SUBSTITUTE_NOT_ACTIVE = 15
    SUBSTITUTE_NOT_DEFINED = 16
    SYSTEM_FAILURE = 17
    TOO_MUCH_RECEIVERS = 18
    USER_NOT_EXIST = 19
    X_ERROR = 20
    OTHERS = 21.
    ENDFORM. " SEND_EMAIL
    regards
    dinesh

  • Error when reading a pdf attachment file in sap inbox

    Hi all,
    I have created a RFC which sends mail from an external user to my sap inbox with attachment.
    the problem is with the PDF attachment where when i received the mail in my sap inbox in sbwp, it says that there is an error that it wasnt correctly decode.
    I used the class cl_document_bcs...
    and used the method add_attachment...
    would plz help me out

    this is my code
    FUNCTION ZMAIL_READ.
    *"*"Local Interface:
    *"  IMPORTING
    *"     VALUE(SUBJECT) TYPE  SO_OBJ_DES
    *"     VALUE(TEXT) TYPE  STRING
    *"     VALUE(SENDER) TYPE  ADR6-SMTP_ADDR
    *"     VALUE(RECEIVER) TYPE  ADR6-SMTP_ADDR
    *"     VALUE(ATTACHMENTS) TYPE  Z_T_XATTACH OPTIONAL
    *"  EXPORTING
    *"     VALUE(MESSAGE) TYPE  STRING
    DATA: lo_sender TYPE REF TO if_sender_bcs VALUE IS INITIAL,
          lo_bcs_send_request TYPE REF TO cl_bcs,
          l_send type ADR6-SMTP_ADDR ,
          l_rec type  ADR6-SMTP_ADDR .
    data: it_text type table of soli,
          wa_text type soli.
    DATA: lo_send_request TYPE REF TO cl_bcs VALUE IS INITIAL.
    DATA: lo_recipient TYPE REF TO if_recipient_bcs VALUE IS INITIAL.
    DATA: lv_recipient_uid TYPE uname,
          lv_recipient_mail TYPE adr6-smtp_addr.
    data: lo_message type ref to cx_send_req_bcs value is initial,
          text_val type string.
    data: it_userlist type table of BAPIUSNAME,
          wa_userlist type BAPIUSNAME.
    data: it_selection_range type table of BAPIUSSRGE,
          wa_selection_range type BAPIUSSRGE.
    data: wa_attachment TYPE ZXATTACH,
          attachment_sub type SO_OBJ_DES.
    DATA: xstr type xstring,
          str TYPE string,
          str1 type string,
          it_str2 type table of soli,
          wa_STR2 TYPE SOLI.
    DATA: LOC_CONV TYPE REF TO CL_ABAP_CONV_IN_CE,
          wa_solix type solix,
          it_solix type table of solix,
          wa_soli type soli,
          it_soli type table of soli.
    data result TYPE boolean.
    data: i_ext(10) type c,
          i_type type soodk-objtp.
    wa_text-line = text.
    append wa_text to it_text.
    CLASS cl_bcs DEFINITION LOAD.
    try.
    lo_send_request = cl_bcs=>create_persistent( ).
    catch cx_send_req_bcs.
    endtry.
    * Message body and subject
    data: lo_document TYPE REF TO cl_document_bcs VALUE IS INITIAL.
    try.
    lo_document = cl_document_bcs=>create_document(
         i_type = 'RAW'
         i_text =  it_text
         i_subject = subject ).
    catch cx_send_req_bcs.
    catch cx_document_bcs.
    catch cx_address_bcs.
    endtry.
    loop at attachments into wa_attachment.
    attachment_sub = wa_attachment-file_name.
    it_str2 = wa_attachment-attach.
    loop at it_str2 into wa_str2.
      str1 = wa_str2-line.
    try.
    CALL FUNCTION 'SSFC_BASE64_DECODE'
      EXPORTING
        B64DATA                        = str1
    *   B64LENG                        =
    *   B_CHECK                        =
      IMPORTING
        BINDATA                        = xstr
    * EXCEPTIONS
    *   SSF_KRN_ERROR                  = 1
    *   SSF_KRN_NOOP                   = 2
    *   SSF_KRN_NOMEMORY               = 3
    *   SSF_KRN_OPINV                  = 4
    *   SSF_KRN_INPUT_DATA_ERROR       = 5
    *   SSF_KRN_INVALID_PAR            = 6
    *   SSF_KRN_INVALID_PARLEN         = 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.
    catch cx_sy_dyn_call_illegal_type.
    endtry.
    CALL METHOD CL_ABAP_CONV_IN_CE=>CREATE
          EXPORTING
            INPUT       = xstr
            ENCODING    = 'UTF-8'
    *        REPLACEMENT = '?'
    *        IGNORE_CERR = ABAP_TRUE
          RECEIVING
            CONV        = loc_CONV.
    TRY.
        CALL METHOD LOC_CONV->READ
          IMPORTING
            DATA = STR.
    CATCH CX_SY_CONVERSION_CODEPAGE.
    CATCH CX_SY_CODEPAGE_CONVERTER_INIT.
    CATCH CX_PARAMETER_INVALID_TYPE.
    CATCH CX_PARAMETER_INVALID_RANGE.
    ENDTRY.
    wa_solix-line = xstr.
    append wa_solix to it_solix.
    wa_soli-line = str.
    append wa_soli to it_soli.
    endloop.
    try.
    CALL FUNCTION 'SA_KW_RFC_FILENAME_EXT_GET'
      EXPORTING
       AREA            = 'IWBSOLAR'
        MIMETYPE        = wa_attachment-type
    IMPORTING
       EXTENSION       = i_ext
    catch cx_sy_dyn_call_illegal_type.
    endtry.
    i_type = i_ext.
    if i_ext <> 'pdf'.
    try.
      lo_document->add_attachment(
      EXPORTING
        i_attachment_type = i_type
        i_attachment_subject = attachment_sub
        i_att_content_hex = it_solix ).
           CATCH cx_document_bcs.
    endtry.
    clear wa_solix.
    refresh it_solix.
    else.
    TRY.
      CALL METHOD LO_DOCUMENT->ADD_ATTACHMENT
        EXPORTING
          I_ATTACHMENT_TYPE     = i_type
          I_ATTACHMENT_SUBJECT  = attachment_sub
    *      I_ATTACHMENT_SIZE     =
    *      I_ATTACHMENT_LANGUAGE = SPACE
          I_ATT_CONTENT_TEXT    = it_soli
    *      I_ATT_CONTENT_HEX     =
    *      I_ATTACHMENT_HEADER   =
       CATCH CX_DOCUMENT_BCS .
      ENDTRY.
    ENDIF.
    endloop.
    try.
    lo_send_request->set_document( lo_document ).
    CATCH cx_send_req_bcs.
    endtry.
    wa_selection_range-PARAMETER = 'address'.
    wa_selection_range-field = 'e_mail'.
    wa_selection_range-sign = 'I'.
    wa_selection_range-option = 'EQ'.
    wa_selection_range-low = receiver.
    append wa_selection_range to it_selection_range.
    try.
    CALL FUNCTION 'BAPI_USER_GETLIST'
    * EXPORTING
    *   MAX_ROWS              = 0
    *   WITH_USERNAME         = ' '
    * IMPORTING
    *   ROWS                  =
    TABLES
        SELECTION_RANGE       = it_selection_range
    *   SELECTION_EXP         =
        USERLIST              = it_userlist
    *   RETURN                =
    catch cx_sy_dyn_call_illegal_type.
    endtry.
    read table it_userlist into wa_userlist index 1.
    try.
      lo_sender = cl_cam_address_bcs=>create_internet_address( sender ).
      lo_send_request->set_sender(
         EXPORTING
         i_sender = lo_sender ).
    catch cx_send_req_bcs.
    catch cx_document_bcs.
    catch cx_address_bcs.
      return.
    endtry.
    try.
        lo_recipient = cl_sapuser_bcs=>create( wa_userlist-USERNAME ).
        lo_send_request->add_recipient(
           EXPORTING
             i_recipient = lo_recipient ).
    *         i_express = 'X' ).
      catch cx_send_req_bcs.
      catch cx_document_bcs.
      catch cx_address_bcs.
    endtry.
    try.
    ** Send email
         LO_SEND_REQUEST->SET_SEND_IMMEDIATELY( 'X' ).
         lo_send_request->send( EXPORTING
         i_with_error_screen = ' '
         RECEIVING
         result = result ).
         COMMIT WORK.
    CATCH CX_DOCUMENT_BCS.
    CATCH CX_SEND_REQ_BCS INTO lo_message.
    CATCH CX_ADDRESS_BCS.
    text_val = lo_message->IF_MESSAGE~GET_TEXT( ).
    endtry.
    if result = 'X'.
      message = 'E-Mail sent'.
    else.
      message = 'E-Mail not sent'.
    endif.
    ENDFUNCTION.

  • Sending XML file from SAP to Windows Based file server with FTP function

    Hi Gurus,
    We are using SAP BW 3.0B version.
    I need to convert data in ODS to XML format and send this XML file to remote server which  is not a SAP application server, it is just a Window Based file server with FTP function..
    By writing some ABAP code I have converted ODS data into XML format (which gets saved in my local system)
    (Is that I need to put this file in Application Server to send it to the other servers? )
    Now the thing is how I can send this file to that Windows Based file server.
    plz suggest me.... what can be done......
    Thanks in Advance
    Madhusudhan
    Edited by: Madhusudhan Raju on Dec 3, 2009 4:25 AM

    I dont think the above code support windows OS. Because I always execute this script via UNIX.
    I think you can try this option, go to command prompt, goto the destination path where you have an XML file using cd....
    ftp (destination servername), specify the username and password.
    afterthat, use the command put and filename.
    check whether the file had reached destination successfully or not.
    For automation purpose, you can use the following script like
    ftp: -s: test.txt  (servername)
    In test.txt,
    UserName
    Password
    bin
    cd /files
    put file.xml
    bye
    Also, you can check in SM69, there will be some SAP external commands to automate the file transfer.
    Thanks
    Sat
    http://support.microsoft.com/?kbid=96269

  • Script to send attach file from oracle...

    Hi All,
    I´m trying to monitoring my tablespaces space usage, using utl_smtp utility, but nothing that I´ve found in web is working. I can send a sample email without attach files, this works well, but when I try to attach a file nothing works. Maybe with a trigger or something I can solve the problem.
    Maybe someone of you guys could help me in this task.
    Any help would be great!!
    Thanks and Regards!
    Marcello.

    but nothing that I´ve found in web is workingDid you try the sample code from OTN?
    http://www.oracle.com/technology/sample_code/tech/pl_sql/htdocs/Utl_Smtp_Sample.html

  • To send attachment file using SMTP

    Hi,
    Can anybody help me to send an attachment file using SMTP?
    Regards,
    Rakesh

    do a search at asktom.oracle.com for javamail
    javamail is an api provided by sun (for free!), which allows you to send attachements and much more.
    greetings
    Freek D
    Hi,
    Can anybody help me to send an attachment file using SMTP?
    Regards,
    Rakesh

  • How to send attachment(file) in javamail via JSP ?

    Dear Friends,
    Please guide me for :
    (1) my e-mail client is using JSP. So, hoW to send file-attachments via jsp ?
    Please specify example for attaching file(s) to a message object in JSP ( and only in JSP ).
    I have used HTML <input type="file" .... > control , but don't know how to bring that file to the jsp file and then attach it to the message object.
    Thank u.

    I wouldn't recommend using JSP to do that. I would use a servlet instead. Then you are just writing Java code, and to answer your two questions you need to learn about JavaMail (1) and get some already-written classes to do file uploads such as this one: http://www.servlets.com/cos/index.html (2).

  • Sending attachment file through utl_smtp package in oracle 8i

    dear friends,
    i am facing one problem here. I can send mail
    from oracle8i by using utl_smtp or utl_tcp package. but I am not able to send a file
    from perticular directory as attachments.
    how it will be possible. if any one have idea
    about this pl. guide me. it is very urgent.
    thanks in advance
    sunil kant pandey

    Can you provide me a sample code which sends a mail using utl_snmp package ?
    thanks in advance,
    kalpen.
    <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">quote:</font><HR>Originally posted by [email protected]:
    dear friends,
    i am facing one problem here. I can send mail
    from oracle8i by using utl_smtp or utl_tcp package. but I am not able to send a file
    from perticular directory as attachments.
    how it will be possible. if any one have idea
    about this pl. guide me. it is very urgent.
    thanks in advance
    sunil kant pandey<HR></BLOCKQUOTE>
    null

  • Send ALV output to SAP user unbox..

    Hi Friends..
    I want to send the ALV output to the SAP users inbox.
    So plz anyone give the sample code for that..
    With regards
    Gowrishankar

    Hi
    Check this sample report
    *& Report  ZTESTMAIL                                                   *
    REPORT  ZTESTMAIL                               .
    tables: ekko.
    parameters: p_email type somlreci1-receiver default
    '[email protected]'.
    types: begin of t_ekpo,
    ebeln type ekpo-ebeln,
    ebelp type ekpo-ebelp,
    aedat type ekpo-aedat,
    matnr type ekpo-matnr,
    end of t_ekpo.
    data: it_ekpo type standard table of t_ekpo initial size 0,
    wa_ekpo type t_ekpo.
    types: begin of t_charekpo,
    ebeln(10) type c,
    ebelp(5) type c,
    aedat(8) type c,
    matnr(18) type c,
    end of t_charekpo.
    data: wa_charekpo type t_charekpo.
    data: it_message type standard table of solisti1 initial size 0
    with header line.
    data: it_attach type standard table of solisti1 initial size 0
    with header line.
    data: t_packing_list like sopcklsti1 occurs 0 with header line,
    t_contents like solisti1 occurs 0 with header line,
    t_receivers like somlreci1 occurs 0 with header line,
    t_attachment like solisti1 occurs 0 with header line,
    t_object_header like solisti1 occurs 0 with header line,
    w_cnt type i,
    w_sent_all(1) type c,
    w_doc_data like sodocchgi1,
    gd_error type sy-subrc,
    gd_reciever type sy-subrc.
    t_object_header = 'Text.xls'. append t_object_header.
    *START_OF_SELECTION
    start-of-selection.
    * Retrieve sample data from table ekpo
    perform data_retrieval.
    * Populate table with detaisl to be entered into .xls file
    perform build_xls_data_table.
    *END-OF-SELECTION
    end-of-selection.
    * Populate message body text
    perform populate_email_message_body.
    * Send file by email as .xls speadsheet
    perform send_file_as_email_attachment
    tables it_message
    it_attach
    using p_email
    'Example .xls documnet attachment'
    'XLS'
    'filename'
    changing gd_error
    gd_reciever.
    * Instructs mail send program for SAPCONNECT to send email(rsconn01)
    perform initiate_mail_execute_program.
    *& Form DATA_RETRIEVAL
    * Retrieve data form EKPO table and populate itab it_ekko
    form data_retrieval.
    select ebeln ebelp aedat matnr
    up to 10 rows
    from ekpo
    into table it_ekpo.
    endform. " DATA_RETRIEVAL
    *& Form BUILD_XLS_DATA_TABLE
    * Build data table for .xls document
    form build_xls_data_table.
    *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 'EBELN' 'EBELP' 'AEDAT' 'MATNR'
    into it_attach separated by con_tab.
    concatenate con_cret it_attach into it_attach.
    append it_attach.
    loop at it_ekpo into wa_charekpo.
    concatenate wa_charekpo-ebeln wa_charekpo-ebelp
    wa_charekpo-aedat wa_charekpo-matnr
    into it_attach separated by con_tab.
    concatenate con_cret it_attach into it_attach.
    append it_attach.
    endloop.
    endform. " BUILD_XLS_DATA_TABLE
    *& Form SEND_FILE_AS_EMAIL_ATTACHMENT
    * Send email
    form send_file_as_email_attachment tables pit_message
    pit_attach
    using p_email
    p_mtitle
    p_format
    p_filename
    p_attdescription
    p_sender_address
    p_sender_addres_type
    changing p_error
    p_reciever.
    data: ld_error type sy-subrc,
    ld_reciever type sy-subrc,
    ld_mtitle like sodocchgi1-obj_descr,
    ld_email like somlreci1-receiver,
    ld_format type so_obj_tp ,
    ld_attdescription type so_obj_nam ,
    ld_attfilename type so_obj_des ,
    ld_sender_address like soextreci1-receiver,
    ld_sender_address_type like soextreci1-adr_typ,
    ld_receiver like sy-subrc.
    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
    object_header = t_object_header
    packing_list = t_packing_list
    contents_bin = t_attachment
    contents_txt = it_message
    receivers = t_receivers
    exceptions
    too_many_receivers = 1
    document_not_sent = 2
    document_type_not_exist = 3
    operation_no_authorization = 4
    parameter_error = 5
    x_error = 6
    enqueue_error = 7
    others = 8.
    * Populate zerror return code
    ld_error = sy-subrc.
    * Populate zreceiver return code
    loop at t_receivers.
    ld_receiver = t_receivers-retrn_code.
    endloop.
    endform.
    *& Form INITIATE_MAIL_EXECUTE_PROGRAM
    * Instructs mail send program for SAPCONNECT to send email.
    form initiate_mail_execute_program.
    wait up to 2 seconds.
    submit rsconn01 with mode = 'INT'
    with output = 'X'
    and return.
    endform. " INITIATE_MAIL_EXECUTE_PROGRAM
    *& Form POPULATE_EMAIL_MESSAGE_BODY
    * Populate message body text
    form populate_email_message_body.
    refresh it_message.
    it_message = 'Please find attached a list test ekpo records'.
    append it_message.
    endform. " POPULATE_EMAIL_MESSAGE_BODY
    *PARAMETERS: psubject(40) type c default 'Testing',
    *p_email(40) type c default '[email protected]'. "use ur email id
    *data: it_packing_list like sopcklsti1 occurs 0 with header line,
    *it_contents like solisti1 occurs 0 with header line,
    *it_receivers like somlreci1 occurs 0 with header line,
    *it_attachment like solisti1 occurs 0 with header line,
    *gd_cnt type i,
    *gd_sent_all(1) type c,
    *gd_doc_data like sodocchgi1,
    *gd_error type sy-subrc.
    *data: it_message type standard table of SOLISTI1 initial size 0
    *with header line.
    **START-OF-SELECTION.
    *START-OF-SELECTION.
    *Perform populate_message_table.
    **Send email message, although is not sent from SAP until mail send
    **program has been executed(rsconn01)
    *PERFORM send_email_message.
    **Instructs mail send program for SAPCONNECT to send email(rsconn01)
    *perform initiate_mail_execute_program.
    **& Form POPULATE_MESSAGE_TABLE
    ** Adds text to email text table
    *form populate_message_table.
    *Append 'Line1' to it_message.
    *Append 'Line2' to it_message.
    *Append 'Line3' to it_message.
    *Append 'Test- 1' to it_message.
    *endform. " POPULATE_MESSAGE_TABLE
    **& Form SEND_EMAIL_MESSAGE
    ** Send email message
    *form send_email_message.
    ** Fill the document data.
    *gd_doc_data-doc_size = 1.
    ** DATA: TAB_LINES LIKE sy-tabix.
    ** DESCRIBE TABLE it_message LINES TAB_LINES.
    ** READ TABLE it_message INDEX TAB_LINES.
    ** gd_doc_data-DOC_SIZE = ( TAB_LINES - 1 ) * 255 + STRLEN( it_message )
    ** Populate the subject/generic message attributes
    *gd_doc_data-obj_langu = sy-langu.
    *gd_doc_data-obj_name = 'SAPRPT'.
    *gd_doc_data-obj_descr = psubject.
    *gd_doc_data-sensitivty = 'F'.
    ** Describe the body of the message
    ** Information about structure of data tables
    *clear it_packing_list.
    *refresh it_packing_list.
    *it_packing_list-transf_bin = space.
    *it_packing_list-head_start = 1.
    *it_packing_list-head_num = 0.
    *it_packing_list-body_start = 1.
    *describe table it_message lines it_packing_list-body_num.
    *it_packing_list-doc_type = 'RAW'.
    *append it_packing_list.
    ** Add the recipients email address
    *clear it_receivers.
    *refresh it_receivers.
    *it_receivers-receiver = p_email.
    *it_receivers-rec_type = 'U'.
    ** it_receivers-com_type = 'INT'.
    ** it_receivers-notif_del = 'X'.
    ** it_receivers-notif_ndel = 'X'.
    *append it_receivers.
    ** Call the FM to post the message to SAPMAIL
    *call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'
    *exporting
    *document_data = gd_doc_data
    *put_in_outbox = 'X'
    *importing
    *sent_to_all = gd_sent_all
    *tables
    *packing_list = it_packing_list
    *contents_txt = it_message
    *receivers = it_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
    *gd_error = sy-subrc.
    ** Get it_receivers return code
    *loop at it_receivers.
    *endloop.
    *endform. " SEND_EMAIL_MESSAGE
    **& Form INITIATE_MAIL_EXECUTE_PROGRAM
    ** Instructs mail send program for SAPCONNECT to send email.
    *form initiate_mail_execute_program.
    *wait up to 2 seconds.
    *if gd_error eq 0.
    *submit rsconn01 with mode = 'INT'
    *with output = 'X'
    *and return.
    *endif.
    *endform. " INITIATE_MAIL_EXECUTE_PROGRAM
    Check this link
    ALV Output in PDF format
    Re: Send ALV Grid output as PDF attachment to external mail id?
    Reward all helpfull answers
    Regards
    Pavan
    Message was edited by:
            Pavan praveen

  • Send notification mail to SAP user in step mail

    Dear All:
    My requirement is to send notification mail to multiple SAP user when a PO is created.
    I am using step mail.
    Kindly help me with this.
    shegar

    Hi,
    Follow the below steps,
    I hope you might have already created a workflow, or else cretae a workflow template from PFTC transaction and link the event of Created of the PO respective vusness object.
    2. Then in the workflow determine or a BOR method to determine the agents, or create a RULE from PFAC transaction and include this rule in the send mail step
    3. Include the body of the content in the send mail step....
    Regards
    Pavan

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

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

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

  • How to send attachment mail in sap

    hi all,
    please guide me how to use function module named SO_NEW_DOCUMENT_ATT_SEND_API1.
    i have text files in internal table.
    please guide me how can i send files in my internal table as in attachment.

    Manish,
    Just copy paste the below code as given into a report only changing the email address of receipient to your email address to testing.
    That is line:
    lwa_reclist-receiver = '[email protected]'. " Email address of your receipient
    Then I think your SCOT is not configured for automatic execution hence once you have run your report go to transaction SCOT and press (Ctrl + F7) to start send process.
    A mail will be sent to your email address specified in the receipient list and a copy of it also placed in your SBWP Outbox.
    Let me know if you need further help, else reward neccessary points.
    Code
    *& Report  ZMFV_ROUGH_PAD
    REPORT  zmfv_rough_pad.
    DATA :
    li_attachment TYPE TABLE OF soli, " hold attachment contents
    li_pdf        TYPE TABLE OF tline, " hold data from spool in PDF format
    li_objpack    TYPE TABLE OF sopcklsti1, " hold email body, attachment details
    li_objtxt     TYPE TABLE OF solisti1, " hold message contents
    li_reclist    TYPE TABLE OF somlreci1. " hold email reciever details
    DATA :
    lwa_attachment    LIKE LINE OF li_attachment,
    lwa_pdf           LIKE LINE OF li_pdf,
    lwa_objpack       LIKE LINE OF li_objpack,
    lwa_objtxt        LIKE LINE OF li_objtxt,
    lwa_reclist       LIKE LINE OF li_reclist,
    lwa_document_data TYPE sodocchgi1. " hold document details like title, size etc.
    DATA :
    lv_sent_to_all     TYPE c, " flag to check if mail is sent to all
    l_att_lines        TYPE i, " hold number of lines in attachment table
    lv_spool_desc(68)  TYPE c. " hold description of spool
    CONSTANTS : lc_email_txt TYPE solisti1-line VALUE 'Find attached Payment Advice sent by this email.',
    lc_sensitivity TYPE sodocchgi1-sensitivty VALUE 'O',
    lc_raw         TYPE sopcklsti1-doc_type VALUE 'RAW',
    lc_pdf         TYPE sopcklsti1-doc_type VALUE 'PDF',
    lc_transf_bin  TYPE sopcklsti1-transf_bin VALUE 'X',
    lc_email       TYPE sopcklsti1-obj_name VALUE 'Email',
    lc_ext_id      TYPE somlreci1-rec_type VALUE 'U',
    lc_outbox      TYPE sonv-flag VALUE 'X',
    lc_obj_name    TYPE sodocchgi1-obj_name VALUE 'Email Test',
    lc_1           TYPE n VALUE '1',
    lc_0           TYPE n VALUE '0'.
    CLEAR: lwa_attachment,
    lwa_pdf,
    lwa_reclist,
    lwa_objtxt,
    lwa_objpack,
    lwa_document_data.
    REFRESH : li_attachment,
    li_pdf,
    li_reclist,
    li_objtxt,
    li_objpack.
    Build attachment table
    lwa_attachment-line = 'YOUR TEXT FROM INTERNAL TABLE LINES'.
    APPEND lwa_attachment TO li_attachment.
    Body of email
    CLEAR lwa_objtxt.
    MOVE lc_email_txt TO lwa_objtxt.
    APPEND lwa_objtxt TO li_objtxt.
    Title of the email
    lwa_document_data-obj_descr = 'Title of email'.
    lwa_document_data-sensitivty = lc_sensitivity.
    lwa_document_data-expiry_dat = sy-datum + 15.
    lwa_document_data-doc_size = STRLEN( lwa_objtxt ).
    lwa_document_data-obj_name = lc_obj_name.
    e-mail body
    CLEAR lwa_objpack.
    lwa_objpack-head_start = lc_1.
    lwa_objpack-head_num = lc_0.
    lwa_objpack-body_start = lc_1.
    lwa_objpack-body_num = lc_1.
    lwa_objpack-doc_type = lc_raw.
    lwa_objpack-doc_size = STRLEN( lwa_objtxt ).
    APPEND lwa_objpack TO li_objpack.
    For e-mail attachment
    DESCRIBE TABLE li_attachment LINES l_att_lines.
    CLEAR lwa_attachment.
    READ TABLE li_attachment INDEX l_att_lines INTO lwa_attachment.
    CLEAR lwa_objpack.
    lwa_objpack-transf_bin = lc_transf_bin.
    lwa_objpack-head_start = lc_1.
    lwa_objpack-head_num = lc_1.
    lwa_objpack-body_start = lc_1.
    lwa_objpack-body_num = l_att_lines.
    lwa_objpack-doc_type = lc_raw.
    lwa_objpack-obj_name = lc_email.
    lwa_objpack-obj_descr = lv_spool_desc.
    lwa_objpack-doc_size = ( 255 * ( l_att_lines - 1 ) ) + STRLEN( lwa_attachment-line ).
    APPEND lwa_objpack TO li_objpack.
    make recipient list
    CLEAR lwa_reclist.
    lwa_reclist-receiver = '[email protected]'. " Email address of your receipient
    lwa_reclist-rec_type = lc_ext_id. " To external email id
    lwa_reclist-COM_TYPE = 'INT'.     " Internet mail
    APPEND lwa_reclist TO li_reclist.
    send mail with attachment
    CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
      EXPORTING
        document_data              = lwa_document_data
        put_in_outbox              = lc_outbox
        commit_work                = 'X'
      IMPORTING
        sent_to_all                = lv_sent_to_all
      TABLES
        packing_list               = li_objpack
        contents_bin               = li_attachment
        contents_txt               = li_objtxt
        receivers                  = li_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.
    IF sy-subrc = 0.
      WRITE: 'Success'.
    ENDIF.

Maybe you are looking for

  • Printing causes crash since HP update

    Since the HP update last week I cannot print under Mountain Lion without the application (Mail, Safari) crashing. If I create a clean profiule I can print. I have reset the printing system, deleted and reconfigured the printer and reinstalled the HP

  • Airport not as good as it was

    For some reason, after installing Leopard, my airport connectivity at home is terrible. The same router, works fine on my friend's Mac Book which is still running Tiger. It's working now - obviously - since I'm posting this, but intermittently, the a

  • WM Putaway scanario with tracking of Empty Pallets(SU)

    Hello Gurus Hoping you are doing well! I need your expert advise on following business requirement. "WM Putaway scanario with tracking of Empty Pallets(SU)" GR-101 is posted for Empty Pallets (packaging material - stock able item), Putaway into SU Ma

  • Java Portlets only Java Derived?

    I need to build a JSR 168 compliant portlet using Weblogic Portal 9.x, however the only option that states that it is JSR 168 compliant is the Java Portlet that requires a class on creation. Does this mean that I must have a pre-defined java class in

  • CS6 to CC: problem installing CreativeCloud on desktop

    I upgraded to from CS6 tot Creative Cloud. But I cannot install CreativeCloudSet-Up.exe on Windows (Vista). The installer just opens the Adobe Application Manager. So in the end, I cannot use Typekit for desktop, which I am granted to. I've been busy