report zrich_0002.
data: maildata likesodocchgi1.
data: mailtxt like solisti1 occurs 10 with header line.
data: mailrec like somlrec90 occurs 0 with header line.
start-of-selection.
clear: maildata, mailtxt, mailrec.
refresh: mailtxt,mailrec.
maildata-obj_name = 'TEST'.
maildata-obj_descr = 'Test Subject'.
mailtxt = '<html>'.
append mailtxt.
mailtxt = '<body>'.
append mailtxt.
mailtxt = '<b>This isSAP</b>'.
append mailtxt.
mailtxt = '<a href="#"target="_blank">SAPHyperlink</a> '.
append mailtxt.
mailtxt = '</body>'.
append mailtxt.
mailtxt = '</html>'.
append mailtxt.
mailrec-receiver = '[email protected]'.
mailrec-rec_type ='U'.
append mailrec.
call function 'SO_NEW_DOCUMENT_SEND_API1'
exporting
document_data = maildata
document_type = 'HTM'
put_in_outbox = 'X'
tables
object_header = mailtxt
object_content = mailtxt
receivers = mailrec
exceptions
too_many_receivers = 1
document_not_sent = 2
document_type_not_exist = 3
operation_no_authorization = 4
parameter_error = 5
x_error = 6
enqueue_error = 7
others = 8.
---------------------------------------------------------------------------------------------
REPORT zsendmail.
DATA:lv_title TYPE so_obj_des,
send_request TYPE REF TOCL_BCS,
document TYPE REF TO CL_DOCUMENT_BCS,
conlengths TYPE so_obj_len,
html TYPE STANDARD TABLE OF w3html,
wa_html TYPEw3html,
sender_id TYPE REF TO IF_SENDER_BCS,
recipient TYPE REF TO IF_RECIPIENT_BCS,
sent_to_all TYPE os_boolean,
bcs_exception TYPE REF TO cx_bcs,
bcs_message TYPE string.
lv_title = 'This is the title'.
wa_html-line ='<html><body>'.
APPEND wa_html TO html.
...
wa_html-line ='</body></html>'.
APPEND wa_html TO html.
TRY.
CLEARsend_request.
send_request =cl_bcs=>create_persistent().
CLEARdocument .
document= cl_document_bcs=>create_document(
i_type = 'HTM'
i_text= html
i_length = conlengths
i_subject = lv_title ).
* Add document to sendrequest
CALL METHODsend_request->set_document(document ).
* Construct sender andreceiver
CLEAR:sender_id , recipient .
sender_id =cl_cam_address_bcs=>create_internet_address('[email protected]' ).
recipient =cl_cam_address_bcs=>create_internet_address('[email protected]' ).
* Set sender
CALL METHODsend_request->set_sender
EXPORTING
i_sender = sender_id.
* Add recipient with itsrespective attributes to send request
CALL METHODsend_request->add_recipient
EXPORTING
i_recipient = recipient
i_express = 'X'.
* Set E-mail sendingoptions
CALL METHODsend_request->set_status_attributes
EXPORTING
i_requested_status = 'E'
i_status_mail = 'E'.
CALL METHODsend_request->set_send_immediately( 'X' ).
* Send document
CALL METHODsend_request->send(
EXPORTING
i_with_error_screen = 'X'
RECEIVING
result = sent_to_all ).
IFsent_to_all = 'X'.
MESSAGE 'Mail sent successfully ' TYPE 'S'.
ENDIF.
COMMITWORK.
CATCH cx_bcs INTO bcs_exception.
bcs_message= bcs_exception->get_text( ).
MESSAGEbcs_exception TYPE 'E'.
EXIT.
ENDTRY.
******************************************
*get sender email address.
CALL FUNCTION 'SUSR_USER_ADDRESS_READ'
EXPORTING
USER_NAME = LV_BNAME
* READ_DB_DIRECTLY = ' '
IMPORTING
USER_ADDRESS = FS_ADDR
USER_USR03 = FS_USR03
EXCEPTIONS
USER_ADDRESS_NOT_FOUND = 1
OTHERS = 2.