This is example of email sent using report with attachment. Problem is it ends with .txt.
*&---------------------------------------------------------------------*
*& Report ZGB_MAILTEST
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zgb_mailtest.
DATA: lt_mailrecipients TYPE STANDARD TABLE OF somlrec90 WITH HEADER LINE,
lt_mailtxt TYPE STANDARD TABLE OF soli,
l_mailtxt TYPE soli,
lt_attachment TYPE STANDARD TABLE OF solisti1,
ls_attachment TYPE solisti1,
lt_mailsubject TYPE sodocchgi1,
lt_packing_list TYPE STANDARD TABLE OF sopcklsti1 WITH HEADER LINE,
gv_cnt TYPE i.
DATA: wa_spfli TYPE spfli. """Need to change as per internal table."""
* Fill header
CLASS cl_abap_char_utilities DEFINITION LOAD.
*CONCATENATE 'Scrap List Details ' 'scrap'
* INTO ls_attachment SEPARATED BY
* cl_abap_char_utilities=>horizontal_tab.
*APPEND ls_attachment TO lt_attachment. CLEAR ls_attachment.
*CONCATENATE cl_abap_char_utilities=>newline ls_attachment
* INTO ls_attachment.
*APPEND ls_attachment TO lt_attachment. CLEAR ls_attachment.
* APPEND lt_attachment. CLEAR lt_attachment.
l_mailtxt-line = '<html><head><style>table, th, td { border: 1px solid black; border-collapse: collapse; }</style></head><body>'.
APPEND l_mailtxt TO lt_mailtxt. CLEAR l_mailtxt.
l_mailtxt-line = 'Hi'.
APPEND l_mailtxt TO lt_mailtxt. CLEAR l_mailtxt.
l_mailtxt-line = '<b>Please find the attached scrap List</b>'.
APPEND l_mailtxt TO lt_mailtxt. CLEAR l_mailtxt.
l_mailtxt-line = 'Thank You<br><br>'.
APPEND l_mailtxt TO lt_mailtxt. CLEAR l_mailtxt.
l_mailtxt-line = '<table style="width:100%">'.
APPEND l_mailtxt TO lt_mailtxt. CLEAR l_mailtxt.
l_mailtxt-line = '<tr><th>Carrid</th><th>Cityfrom</th><th>Cityto</th><th>Airpto</th></tr>'.
APPEND l_mailtxt TO lt_mailtxt. CLEAR l_mailtxt.
l_mailtxt-line = '<tr><td>1</td><td>2</td><td>3</td><td>4</td></tr>'.
APPEND l_mailtxt TO lt_mailtxt. CLEAR l_mailtxt.
l_mailtxt-line = '</table></body></html>'.
APPEND l_mailtxt TO lt_mailtxt. CLEAR l_mailtxt.
CONCATENATE 'Carrid' 'Cityfrom' 'Cityto' 'Airpto'
INTO ls_attachment SEPARATED BY
','.
APPEND ls_attachment TO lt_attachment. CLEAR ls_attachment.
"""""""""""""""""""""Need to change the table from internal table we want to send in excel format."""""""""""""""""""
SELECT * FROM spfli INTO TABLE @DATA(t_spfli) UP TO 10 ROWS.
* Fill information
LOOP AT t_spfli INTO wa_spfli.
CONCATENATE wa_spfli-carrid
wa_spfli-cityfrom
wa_spfli-cityto
wa_spfli-airpto
INTO ls_attachment SEPARATED BY
','.
**
* CONCATENATE space
* wa_spfli-carrid
* wa_spfli-cityfrom
* wa_spfli-cityto
* wa_spfli-airpto
* INTO ls_attachment SEPARATED BY
* cl_abap_char_utilities=>horizontal_tab.
* CONCATENATE cl_abap_char_utilities=>newline ls_attachment
* INTO ls_attachment.
APPEND ls_attachment TO lt_attachment. CLEAR ls_attachment.
ENDLOOP.
lt_mailrecipients-rec_type = 'U'.
lt_mailrecipients-com_type = 'INT'.
lt_mailrecipients-receiver = 'gaurab_banerji@client.com'.
APPEND lt_mailrecipients .
CLEAR lt_mailrecipients .
"""""""""""""""""""""Need to change the table from internal table we want to send in excel format."""""""""""""""""""
lt_packing_list-transf_bin = space.
lt_packing_list-head_start = 1.
lt_packing_list-head_num = 0.
lt_packing_list-body_start = 1.
lt_packing_list-body_num = lines( lt_mailtxt ).
lt_packing_list-doc_type = 'HTM'.
APPEND lt_packing_list. CLEAR lt_packing_list.
lt_packing_list-transf_bin = 'X'.
lt_packing_list-head_start = 1.
lt_packing_list-head_num = 1.
lt_packing_list-body_start = 1.
lt_packing_list-body_num = lines( lt_attachment ).
lt_packing_list-doc_type = 'RAW'." 'XLS' " You can give RAW incase if you want just a txt file.
lt_packing_list-obj_name = 'data.csv'.
lt_packing_list-obj_descr = 'data.csv'.
lt_packing_list-doc_size = lt_packing_list-body_num * 255.
APPEND lt_packing_list. CLEAR lt_packing_list.
lt_mailsubject-obj_name = 'MAILATTCH'.
lt_mailsubject-obj_langu = sy-langu.
lt_mailsubject-obj_descr = 'DDIC Object List'.
lt_mailsubject-sensitivty = 'F'.
gv_cnt = lines( lt_attachment ).
lt_mailsubject-doc_size = ( gv_cnt - 1 ) * 255 + strlen( ls_attachment ).
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = lt_mailsubject
TABLES
packing_list = lt_packing_list
contents_bin = lt_attachment
contents_txt = lt_mailtxt
receivers = lt_mailrecipients
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 EQ 0.
COMMIT WORK.
SUBMIT rsconn01 WITH MODE = 'INT' AND RETURN.
MESSAGE 'Sent' TYPE 'I'.
ENDIF.
Mail:
No comments:
Post a Comment