Send a mail with attached file .xls but i got file without

i tried to send a mail with attached file .xls. but i am able to send the file , we recived the file without file name. please do the same
thnaks in advance.
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 ''.
CONCATENATE '' 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 ''.
CONCATENATE '' 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
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

PERFORM SEND_FILE_AS_EMAIL_ATTACHMENT
  TABLES IT_MESSAGE
  IT_ATTACH
  USING P_EMAIL
  'Failed IDOC Analysis report'(020)
  'xls'(021)
  'IDOC_REP'(022)
  CHANGING GD_ERROR
  GD_RECIEVER.
Instructs mail send program for SAPCONNECT to send email(rsconn01)
  PERFORM INITIATE_MAIL_EXECUTE_PROGRAM.
ENDFORM.                    " F_MAIL
*& 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 text-040 text-041 text-042 text-043 text-044 text-045 text-046 text-047 text-048 text-049
  INTO IT_ATTACH SEPARATED BY con_tab.
  CONCATENATE con_cret IT_ATTACH INTO IT_ATTACH.
  APPEND IT_ATTACH.
  clear IT_ATTACH.
  loop at i_final_t into w_final.
    CONCATENATE
    w_final-mestyp w_final-docnum  w_final-statxt w_final-msgno w_final-rvplant w_final-kunnr w_final-vbeln w_final-credat
            w_final-cretim w_final-flag INTO IT_ATTACH SEPARATED BY con_tab.
    CONCATENATE con_cret IT_ATTACH INTO IT_ATTACH.
    APPEND IT_ATTACH.
    clear 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
      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.                    "SEND_FILE_AS_EMAIL_ATTACHMENT
*& 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.
  data: l1(99)    type c,
         l2(15)    type c,
         lt_message         type standard table of solisti1,
         ls_message      like line of lt_message.
  clear ls_message.
  l1 = 'Dear'(007).
  l2 =  'Sir/Madam'(008).
  concatenate l1 l2 ',' into
  ls_message-line separated by space.
  append ls_message to lt_message.
*insert Blank Line
  clear ls_message.
  ls_message-line = space.
  append ls_message to lt_message.
*Assign Message text
  clear ls_message.
  concatenate text-011
              text-012
              into ls_message-line separated by space.
  append ls_message to lt_message.
*insert Blank Line
  clear ls_message.
  ls_message-line = space.
  append ls_message to lt_message.
*Assign Message text
  clear ls_message.
  concatenate text-013
              text-014
              text-015
              into ls_message-line separated by space.
  append ls_message to lt_message.
  concatenate text-016
              text-017
              into ls_message-line separated by space.
  append ls_message to lt_message.
*insert Blank Line
  clear ls_message.
  ls_message-line = space.
  append ls_message to lt_message.
  ls_message-line = text-018.
  append ls_message to lt_message.
  ls_message-line = text-019.
  append ls_message to lt_message.
  clear: ls_message.
  REFRESH IT_MESSAGE.
  it_message[] = lt_message[].
  APPEND IT_MESSAGE.
ENDFORM. " POPULATE_EMAIL_MESSAGE_BODY

Similar Messages

  • We want to send a mail with attachment pdf file.

    Hi!!!
    We want to send a mail with attachment pdf file.
    The PDF file this is in the server sap.

    Hi,
    Pls check web logs like
    /people/thomas.jung3/blog/2004/09/08/sending-e-mail-from-abap--version-610-and-higher--bcs-interface
    Eddy
    PS.
    Put yourself on the SDN world map (http://sdn.idizaai.be/sdn_world/sdn_world.html) and earn 25 points.
    Spread the wor(l)d!

  • How to send a mail with attaching a report

    hi gurus,
        my requirment is i have to send a mail with attaching the report of a program to the client.. is it possible? help me with sample code.
    Thanks in advance.
    Regards,
    Indira D

    Hi Indira,
    plz check out this code below,
    *& Report  ZATTACH                                               *
    REPORT  ZATTACH                   .
    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.
    *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
                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
    <b>
    Reward points if this helps,</b>
    Kiran

  • Sending E-mail with attachment within a loop not working.

    Hi,
    I'm trying to send e-mails with attachment to multiple users with "subject & an attachment" within an ITAB loop.
    SUBJECT for each mail to corresponding user is being sent properly.
    But ATTACHMENT contents are not being sent properly.
    1st ATTACHMENT contents are going to 2nd user(supposed to go to 1st user) & 2nd ATTACHMENT contents are going to 3rd user etc..
    in almost all attempts, last ATTACHMENT contents within the loop were delivered properly to the last user.
    As a test, I'm debugging by sending with same "SUBJECT" & "ATTACHMENT CONTENTS". still it's not working.
    Following is the code for sending mail with same "SUBJECT" & "ATTACHMENT CONTENTS".
    I even refreshed the file contents for each record within the ITAB. Greatly appreciate any help.
    assume that ITAB has a field GROUP with values 501, 502, 503 & 504.
    SUBJECT is the subject of e-mail & DIST_LIST is the e-mail id of the corresponding user.
    DATA:
        MAIL_FILE(20) TYPE C,
        MAIL_TEXT(200) TYPE C,
        COMMAND(512) TYPE C,
        DIST_LIST(425) TYPE C,
        SUBJECT(60) TYPE C.
    DATA: BEGIN OF ITAB  OCCURS 0.
            DATA GROUP LIKE /BI0/PGRP-GRP.
    DATA: END OF ITAB.
    LOOP AT ITAB.
    SUBJECT = ITAB-GROUP.
    IF ITAB-GROUP = '501'.
    DIST_LIST = '[email protected]'.
    ENDIF.
    IF ITAB-GROUP = '502'.
    DIST_LIST = '[email protected]'.
    ENDIF.
    IF ITAB-GROUP = '503'.
    DIST_LIST = '[email protected]'.
    ENDIF.
    IF ITAB-GROUP = '504'.
    DIST_LIST = '[email protected]'.
    ENDIF.
    clear MAIL_FILE.
    clear MAIL_TEXT.
    UNASSIGN <FILE1>.
    CONCATENATE '/tmp/' SY-UNAME '.txt' INTO MAIL_FILE.
    TRANSLATE MAIL_FILE TO LOWER CASE.
    OPEN DATASET MAIL_FILE FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
      MAIL_TEXT = ITAB-GROUP.
      TRANSFER MAIL_TEXT TO MAIL_FILE LENGTH 200.
    CLOSE DATASET MAIL_FILE.
    clear MAIL_TEXT.
      CONCATENATE '< ' MAIL_FILE INTO MAIL_TEXT SEPARATED BY SPACE.
      ASSIGN MAIL_TEXT TO <FILE1>.
    *Create UNIX MAIL Command
      CONCATENATE 'mailx -s'
      '"' SUBJECT '"' '"'  DIST_LIST  '"' <FILE1>
        INTO COMMAND SEPARATED BY SPACE.
    Send the E-mail
      CALL FUNCTION 'RFC_REMOTE_EXEC'
        DESTINATION 'SERVER_EXEC'
        EXPORTING
          COMMAND = COMMAND
        EXCEPTIONS
          OTHERS  = 04.
    ENDLOOP.

    Hi Zhenglin,
    thanks for your reply.
    Now, it's working after I changed attachment file name (user name) with ITAB-GROUP.
    but, I'm not clear on why it was not working even if the file name is same in every loop, as I'm unassigning the file contents and loading new contents at the start of each loop.
    anyhow, it's working and many thanks for your help.

  • Outlook 2010 - sending mail with attachment - "The system cannot find the file specified"

    Hi forum Fellows,
    I have the following failure scenario:
    1. A user receives an e-mail with an attachment.
    2. The user opens the attachment --> Forwards the mail and writes something in the body of the e-mail
    3. For whatever reason the user leaves the e-mail and works on something else --> the user comes back to the e-mail an hour or more later.
    4. The user then wants to send the e-mail but gets the following error message: "The system cannot find the file specified"
    5. The effect is that the user cannot send the e-mail.....
    ------------------------------ TROUBLESHOOTING -----------------------
    - I can see that when the user opens an attachment this attachment is saved in the OutlookTemp folder. Actually, there is a difference between opening the attachment before or after clicking forward on the e-mail.
    ---- Before: Two files is written to the OutlookTemp folder. For example if the attachment name is FileX.pdf - there will be a FileX.pdf but also a FileX (2).pdf in the folder (if OutlookTemp is empty/do not contain a file with the name FileX.pdf already)
    ---- After: Only one file is written to OutlookTemp. That is FileX.pdf
    - Running Process Monitor when trying to forward the e-mail I can see that Outlook is calling a file that is not in the OutlookTemp folder anymore.
    **** To me this is the heart of the issue. For some reason, when a user has an e-mail with an attachment open for an extended period of time (not sure on exactly how long is necessary), files in the OutlookTemp folder is deleted - files that Outlook is depending
    on to be there.
    - Going with a totally clean OutlookTemp folder does not help.
    ------------------ NOW WHAT ---------------
    - The question now is: Is this by design? Can it be fixed by some Outlook 2010 patch? Or perhaps a group policy/registry setting as a workaround.
    ------------------------------ TECH. INFO -----------------------
    Outlook 2010 v14.0.7132.5000
    Outlook bit depth: x86
    Running on a 2008R2 SP1 TS environment.
    No antivirus on the TS
    Looking forward to hear from you.
    Regards The Red Baron
    Red Baron

    Hello Red Baron,
    Although not a complete answer, the way to treat attachments in emails require some discipline:
    1. Never open an attachment directly from the email (and NEVER edit it from there). Always save it in a known location as the desktop or (better) in a designated document folder. Then you can proceed as usual, like editing the contents, printing, forwarding
    the new version etc.
    2. Directly forwarding the attachment is ok, along with additional text in the body of the email.
    3. Having any (unsaved) document open for several hours should
    never occur. What if there is a power outage?
    Bottom line is thus Discipline. This is regardless of Operating System (which might handle temporary files differently).
    These are the rules I teach my customers and they never leave any document unsaved for hours ...
    Best regards George

  • Send a mail with attachement along with password protected

    I will try with UTL_MAIL package its working but i need it with ziping the attachment file and that file along password protected(encrypte)
    utl_mail.send_attach_raw(
    sender => vSender,
    recipients => mrec.per_h_email,
    subject => vSubj,
    message => vMesg,
    attachment => rfile,
    att_inline => FALSE,
    att_filename => fname);
    END LOOP;
    please help me ,,
    Edited by: 865995 on Jun 21, 2011 2:17 AM

    You first need to understand the basic structure of a Multipurpose Internet Mail Extensions (MIME) body.
    That is what an e-mail is. That is what mail readers create when sending mail. That is what mail readers expects and renders when receiving mail.
    A mail attachment cannot be password protected via MIME itself. The MIME specs do not support password protected "boundary pieces" in a MIME body.
    A MIME body can however contain multiple attachments and different types of attachment. From text and html to images and video.
    It can also include a binary attachment like a zipfile. That zipfile can be protected by a password.
    An import point to keep in mind that attaching an binary file to a MIME body (e-mail) means:
    a) creating a MIME payload/boundary piece for that file in the mail body
    b) reading the contents of that file
    c) uu encoding that file (it basically needs to be 7bit ASCII and not 8bit to survive intact across networking infrastructure)
    d) writing that encoded text as the attachment piece into the mail body
    None of this has however anything to do with SQL or PL/SQL specifically. What is needed is a clear understanding of the mail body (MIME) that your code needs to create.

  • Sending e-mail with attachment from Oracle APEX

    Hi,
    Do we have an option to attach a report to the e-mail and send from Oracle APEX page?
    In my case, I want to convert the report page into PDF format and attach to the mail. Is it feasible in APEX?
    I understand that APEX_MAIL.ADD_ATTACHMENT can attach files stored in the database. But here we need to convert the page and send it
    Thanks
    Kind Regards,
    Prasanth

    HI,
    Thank you for your input. Currently I'm using APEX 3.2.
    Here my requirement is to send the content of the report to the user via e-Mail. If i'm not converting the page into PDF and planning to send as a HTML page or any other format.. The Objective is to send the info with the same format as it is in the report page. Its too big to send as mesage body.
    Any idea how to proceed?
    Regards,
    Prasanth

  • Send a mail with attachment in 9i

    Hi,
    would you please confirm :
    in 9i we have UTL_SMTP utility to send a mail .
    With UTL_SMTP we can not send attached file.
    If we can , is it possible to have un example code ?
    Many thanks.

    this may help -
    http://www.oracle.com/technology/sample_code/tech/pl_sql/htdocs/Utl_Smtp_Sample.html

  • How to send Java mail with attachment?

    Could you please provide the sample codes using the javax.mail api for sending an email with an attachment?

    this is code
    zareen abbas
    <html><body><center>
    <FORM ACTION="/servlet/Attach" method="post">
    <!--I didn,t used this ENCTYPE-->
    <!--ENCTYPE="multipart/form-data" -->
    <table border=0 bgcolor background="#00000">
    <tr><td><font size=4> <b>From: </b> </font> </td>
    <td><input type=text name=from size=40></td></tr>
    <tr><td><font size=4> <b>To : </b> </font> </td>
    <td><input type=text name=to size=40> </td></tr>
    <tr><td><font size=4> <b>CC : </b> </font> </td>
    <td><input type=text name=cc size=40> </td></tr>
    <tr><td><font size=4> <b>BCC : </b> </font> </td>
    <td><input type=text name=bcc size=40> </td></tr>
    <tr><td><font size=4> <b>Subject : </b> </font> </td>
    <td><input type=text name=subject size=40> </td></tr>
    <tr><td><font size=4> <b>Body : </b> </font> </td>
    <td><textarea name=body rows=15 cols=40> </textarea> </td></tr>
    </table>
    <p>Select a file:<input type=file name=attach>
    <input type=submit value="send">
    <input type=reset name=reset1
    value="Clear"></Form></center></body></html>
    here the servlet code
    File file = new File(filename);
    if (file.exists())
    MimeBodyPart mbp1 = new MimeBodyPart();
    mbp1.setText(text);
    MimeBodyPart mbp2 = new MimeBodyPart();
    FileDataSource fds = new FileDataSource(filename);
    mbp2.setDataHandler(new DataHandler(fds));
    mbp2.setFileName(fds.getName());
    Multipart mp = new MimeMultipart();
    mp.addBodyPart(mbp1);
    mp.addBodyPart(mbp2);
    message.setContent(mp);
    else
    message.setText(text);
    Transport.send(message);

  • Cannot send e-mail with attachment.

    can not send an E-mail with an attachment

    No, the senders are in most case sending from corporate servers which are almost certainly not Mac based. Also, remember this happens when I send or receive. So if I send something with an attachment, the attachment will go through, but the sent box will not show the paper clip icon so that I can distinguish the emails sent with attachments versus the emails sent without attachments. I receive the attachments as well, but again the paper clip icon does not show up so that I can distinguish the emails that I have received that contain attachments. Recipients of my e-mails have complianed that when they receive an attachment from me they do not see the paper clip icon which alerts them to the fact that the email contains an attachment.

  • Sending e-mail with attachment

    I am creating a distributed application, and am intending to send out the resulting files to the user as zipped file. Can someone suggest something ? any tutorial as a starting point ? Also, should I do that through Java Bean or JSP (if it is possible through JSP).
    I can zip files, but am a bit lost in sending out e-mail with attachments.
    Thanks.

    I am trying Java Mail API, but haven't gone far. I have downloaded the package in my server/lib ( I am using JBoss). I have also copied the package to Jdk bin folder coz for the time being I am trying to run it over there. I am quite confident that my class path ( if that is environmental variable) are properly set. When I try to compile the test program(got some snippets online), the compiler does not recognize javax package. Should I explicitly change the class path for java mail package through command prompt ? if yes, then do I need to mention all the .jar files there ? I think there is some problem with setting of class path.
    Also, if I change the class path, will there be any order of precedence ? and how would it not change the default class path for default libraries that comes with jdk ?

  • SAP MII 15.0 Send e-mail with attachment

    Hello
    in the past I used MII 12.2 SendMail action
    I used it with:
    - AttachmentContent (a generic string, like "My attachment text")
    - AttachmetFile (a generica file name, like "A.TXT")
    and the result was an e-mail with an attachment called A.TXT and inside the string "My attachment text"
    Now with MII 15.0 I get an error
    [ERROR] [Send_Mail_0]Unable to send mail Exception: [Access to the attachment /A.txt is not allowed]
    Do you see anything wrong in my way to use the attachment?
    Thanks
    Regards

    Hi Fabio,
    include the action XMII_Workbench_Content in the Role SAP_XMII_User or in an other
    Role. Logout and Login again and it will work.
    BR
    Pedro

  • How can I send e-mail with attachment from oracle 10g?

    How can I send email with attachment from oracle 10g?

    hi you can achieve the same thing from database tier of unix.

  • How to send e-mail with attach file from a stated directory?

    I can only put the file in the program's same directory for attachment, how to state the file path for the file attachment?

    Hi..
    The FileDataSource class has two contructors.
    FileDataSource(java.io.File file)
    Creates a FileDataSource from a File object.
    FileDataSource(java.lang.String name)
    Creates a FileDataSource from the specified path name.
    Using either of them we can select the file in anypath of your system i.e. server.
    If you need relative path then you have to use File object.
    Cheers.

  • How to send Notification mail (with attachement) from On-Demand job

    Hi Experts,
    I am using SAP IDM 7.2 SP8.
    Requirement is to send a notification mail to a specific mail address [email protected] whenever we run a on-demand job.
    On-Demand job should also attach a csv file (atttachement.csv, which is in a specific folder D:\folder) while sending the notification mail.
    Please help.
    Thanks & Regards,
    Chandan Kumar

    Hi there,
    It sounds like you have the basics all together. I would check how you are setting the following parameters of uSendSMTPMessage:
    Attachment
    Optional. Fully qualified file name of a file to be included as an attachment.
    Multiple attachments can be added by separating the file names by a pipe character (|).
    AttachmentType
    Optional. Valid MIME attachment type.
    Charset
    Optional. Valid ISO character set identifier, for instance ISO-2022-JP. The default value is ISO-8859-1.
    HeaderEncoding
    Optional. 0: Plain text, 1: Base64. Default: 0
    TransferEncoding
    Optional. 1: 7bit, 2: 8bit, 3: Quoted ASCII, 4: Base64. Default: 4.
    Sorry the first row got mangled a bit. 
    Matt

Maybe you are looking for

  • Macbook Pro 13" Retina Display uneven color distribution

    Bought a 13" retina MBP 2 weeks ago and one day after, I realized that the display's color is unequally distributed. The left side of the screen, near the edge has a "blueish" stripe and the low middle area is "yellowish". I'm really disappointed as

  • MS Word. Can't view normal window size of saved docs.

    I have  Microsoft Word 2008 for Mac. (running Mavericks on my MacBookAir)  Recently, when I create a document and save it to Docs or Desktop I have problems viewing it later.  When I re-open it I only get a very reduced size window in upper left corn

  • Cash Forecasting on AR

    Hi I need to be able to forecast our Accounts Receivables over a period of 6 weeks. Anything overdue will need to go in the 1st week, and then I would like to show what is due in 7, 12, 21, 28, and anything else. Is there a standard report where I ca

  • Oracle connection is very slow

    Hello, I install oracle enterprise 5 and oracle 11g R2 and when i connect oracle from plsql developer connectoion is very very slow. What do you think about this problem ? i don't want to install oracle 11g on windows server !

  • After updating my ATV to 6.1.1 no airplay from iPhone or iPad

    This happens every time I update my ATV 2 to new software. No airplay from iPad 1 or iPhone 4 ( running ios 7.1.1 )  - this time after ATV update to version 6.1.1 Tried everything :  resetting ATV, disconnecting cables, resetting router, turning netw