Documente Academic
Documente Profesional
Documente Cultură
DATA: send_request
TYPE REF TO cl_bcs.
DATA: document
TYPE REF TO cl_document_bcs.
DATA: sender
TYPE REF TO cl_sapuser_bcs.
DATA: recipient
TYPE REF TO if_recipient_bcs.
DATA: exception_info
TYPE REF TO if_os_exception_info,
bcs_exception
TYPE REF TO cx_bcs,
v_subj(50),
t_hex TYPE solix_tab,
html_string TYPE string,
xhtml_string TYPE xstring,
v_message(100),
v_mail TYPE sza5_d0700-smtp_addr.
v_subj = 'Subject. This is an Email with HTML'.
CONCATENATE '<html><strong>Example Html</strong><br/><br/>'
'<table style="background-color: #CDCDCD; border: 1px solid black;">'
'<tr><th style="color:red;">Id Sales Order</th>'
'<th style="color:red;">Type</th><th style="color:red">Message</th></tr>'
INTO html_string .
LOOP AT t_htmldata. "some html data
CONCATENATE html_string '<tr><td style="border-right: 1px solid red;">'
t_htmldata-field1 '</td><td style="border-right: 1px solid red;">'
t_htmldata-field2 '</td><td>' t_htmldata-field3
'</td></tr>'
INTO html_string.
ENDLOOP.
CONCATENATE html_string '</table></html>' INTO html_string.
TRY.
*Create persistent send request
send_request = cl_bcs=>create_persistent( ).
CALL FUNCTION 'SCMS_STRING_TO_XSTRING'
EXPORTING
text
= html_string
*
MIMETYPE
= ' '
*
ENCODING
=
IMPORTING
buffer
= xhtml_string
EXCEPTIONS
failed
= 1
OTHERS
= 2.
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
EXPORTING
buffer
= xhtml_string
*
APPEND_TO_TABLE
= ' '
* IMPORTING
*
OUTPUT_LENGTH
=
TABLES
binary_tab
= t_hex.
document = cl_document_bcs=>create_document(
i_type
= 'HTM'
i_hex
= t_hex
i_subject = v_subj ).
* Add document to send request
DATA:
i_receivers
CLEAR:w_receivers.
"Function module to send mail to Recipients
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data
= w_document_data
put_in_outbox
= 'X'
commit_work
= 'X'
IMPORTING
sent_to_all
= g_sent_to_all
TABLES
packing_list
= i_packing_list
contents_txt
= i_body_msg
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.
IF sy-subrc = 0 .
MESSAGE i303(me) WITH 'Mail has been Successfully Sent.'.
ELSE.
WAIT UP TO 2 SECONDS.
SUBMIT rsconn01 WITH mode = 'INT' WITH output = 'X' AND RETURN.
ENDIF.