2022 Nov 01 8:49 AM
Hi Experts,
I am embedding a jpg to mail body. So I am using cl_bcs class for sending mail. There is no problem here. But it is translating turkish characters to meaningless chars . So it doesnt accept the turkish chars. How can I fix this ?
IF gv_mr_api IS INITIAL.
gv_mr_api = cl_mime_repository_api=>if_mr_api~get_api( ).
ENDIF.
DATA : ls_user2 LIKE ls_user.
DATA : lv_uname2 LIKE lv_uname.
CALL METHOD gv_mr_api->get
EXPORTING
i_url = '/SAP/PUBLIC/deneme.jpg' "Image path
IMPORTING
e_is_folder = is_folder
e_content = gv_content
e_loio = l_loio
EXCEPTIONS
parameter_missing = 1
error_occured = 2
not_found = 3
permission_failure = 4
OTHERS = 5.
*&Convert Image to Xstring table form
l_obj_len = xstrlen( gv_content ).
lv_graphic_length = xstrlen( gv_content ).
"get whole image
CLEAR gr_xstr.
gr_xstr = gv_content(l_obj_len).
l_offset = 0.
l_length = 255.
CLEAR lt_solix[].
WHILE l_offset < lv_graphic_length.
l_diff = lv_graphic_length - l_offset.
IF l_diff > l_length.
ls_solix-line = gr_xstr+l_offset(l_length).
ELSE.
ls_solix-line = gr_xstr+l_offset(l_diff).
ENDIF.
APPEND ls_solix TO lt_solix.
ADD l_length TO l_offset.
ENDWHILE.
l_filename = 'img_deneme.jpg'.
l_content_id = 'img_deneme.jpg'.
CREATE OBJECT lo_mime_helper.
CALL METHOD lo_mime_helper->add_binary_part
EXPORTING
content = lt_solix "Xstring in table form
filename = l_filename "file name to be given to image
extension = 'JPG' "type of file
description = 'Graphic in JPG format' "description
content_type = 'image/jpg' "content type / Mime type. If mime type not present in system then need to add through tcode : SMW0
length = l_obj_len "length of image
content_id = l_content_id. "content id would be used in html part
REFRESH lt_soli[].
CLEAR ls_soli.
ls_soli = '<body>'.
APPEND ls_soli TO lt_soli.
SELECT * FROM zqm_dof_dprtmn
INTO TABLE @DATA(lt_dp2)
WHERE dep_no = @ls_dprtmn-dep_no
AND dep_kisi LT @ls_dprtmn-dep_kisi.
lv_uname2 = zqm_dof-atanan_kisi.
CALL FUNCTION 'ISR_GET_USER_DETAILS'
EXPORTING
id_user_id = lv_uname2
CHANGING
is_user_data = ls_user2
EXCEPTIONS
user_not_found = 1
OTHERS = 2.
DATA : lv_dmmy TYPE string .
CLEAR ls_soli.
ls_soli = '<html><body>'."lv_dmmy."'<HTML lang = ' && TEXT-m00 && '><BODY>'."<HTML ><BODY>.
APPEND ls_soli TO lt_soli. CLEAR ls_soli.
* ls_soli = TEXT-m01.
* APPEND ls_soli TO lt_soli. CLEAR ls_soli.
ls_soli = ls_user2-fullname.
APPEND ls_soli TO lt_soli. CLEAR ls_soli.
ls_soli = ' Tarafından '.
APPEND ls_soli TO lt_soli. CLEAR ls_soli.
ls_soli = zqm_dof-dof_no .
APPEND ls_soli TO lt_soli. CLEAR ls_soli.
ls_soli = ' Numaralı DÖF Açılmıştır'.
APPEND ls_soli TO lt_soli. CLEAR ls_soli.
ls_soli = '<br><img alt="IMAGE.jpg" src="cid:img_deneme.jpg" /><br>'.
APPEND ls_soli TO lt_soli.
ls_soli = '<br><br>--------'.
APPEND ls_soli TO lt_soli. CLEAR ls_soli.
ls_soli = '</body></html>'.
APPEND ls_soli TO lt_soli. CLEAR ls_soli.
CALL METHOD lo_mime_helper->set_main_html
EXPORTING
content = lt_soli
filename = 'HTM' "filename for HMTL form
description = zqm_dof-dof_no && ' numaralı DÖF'. "Title
l_subject = zqm_dof-dof_no && ' numaralı DÖF'. "subject
lo_doc_bcs = cl_document_bcs=>create_from_multirelated(
i_subject = l_subject
i_multirel_service = lo_mime_helper ).
lo_bcs = cl_bcs=>create_persistent( ).
"Create Document
lo_bcs->set_document( i_document = lo_doc_bcs ).
"create Sender
lo_sender = cl_cam_address_bcs=>create_internet_address( 'denemedeneme' ).
* Set sender
lo_bcs->set_sender(
EXPORTING
i_sender = lo_sender ).
lv_mail = ls_user2-e_mail.
IF lv_mail IS NOT INITIAL.
lo_recipient = cl_cam_address_bcs=>create_internet_address( i_address_string = lv_mail ).
lo_bcs->add_recipient( i_recipient = lo_recipient ).
ENDIF.
LOOP AT lt_dp2 INTO DATA(ls_dp).
CLEAR ls_user.
CALL FUNCTION 'ISR_GET_USER_DETAILS'
EXPORTING
id_user_id = ls_dp-kullanici_adi
CHANGING
is_user_data = ls_user
EXCEPTIONS
user_not_found = 1
OTHERS = 2.
CLEAR lv_mail.
lv_mail = ls_user-e_mail.
lo_recipient = cl_cam_address_bcs=>create_internet_address( i_address_string = lv_mail ).
lo_bcs->add_recipient( i_recipient = lo_recipient ).
ENDLOOP.
"Create Recipient
lo_recipient = cl_cam_address_bcs=>create_internet_address( i_address_string =
'denemedeneme' ).
lo_bcs->add_recipient( i_recipient = lo_recipient ).
lo_bcs->send( ).
COMMIT WORK AND WAIT.
2022 Nov 01 10:25 AM
See here: https://answers.sap.com/questions/849552/send-email-from-bsp----character-settings.html
You need to set the correct code page in transaction SCOT. Business Communication Administration->Settings->SMTP Connection->Outbound Messages->Settings button "Code Page Settings".