Hi,
Did a small test:
Created a file with text editor and put in the message text .
Code:
FORM mail_1_prep_1 .
DATA: bin_data TYPE string .
DATA: mess TYPE string .
OPEN DATASET p_file FOR INPUT IN LEGACY BINARY MODE CODE PAGE '1800' MESSAGE mess.
CHECK sy-subrc EQ 0 .
READ DATASET p_file INTO bin_data .
CHECK sy-subrc EQ 0 .
CLOSE DATASET p_file .
CHECK sy-subrc EQ 0 .
DATA: ob_document_bcs TYPE REF TO cl_document_bcs .
DATA: message_text TYPE string .
message_text = bin_data .
REPLACE ALL OCCURRENCES OF cl_abap_char_utilities=>cr_lf
IN message_text WITH '<BR><BR>' .
BREAK-POINT .
DATA: it_soli TYPE soli_tab .
CALL METHOD cl_bcs_convert=>string_to_soli
EXPORTING
iv_string = message_text
RECEIVING
et_soli = it_soli.
CALL METHOD cl_document_bcs=>create_document
EXPORTING
i_type = 'HTM'
i_subject = p_sbjct
i_text = it_soli
* i_hex = it_solix
RECEIVING
result = ob_document_bcs.
DATA: ob_bcs TYPE REF TO cl_bcs.
DATA: ob_sapuser_bcs TYPE REF TO cl_sapuser_bcs.
DATA: ob_recipient_bcs TYPE REF TO if_recipient_bcs.
DATA: ob_cam_address_bcs TYPE REF TO cl_cam_address_bcs .
ob_bcs = cl_bcs=>create_persistent( ).
CALL METHOD ob_bcs->set_document( ob_document_bcs ).
ob_sapuser_bcs = cl_sapuser_bcs=>create( sy-uname ).
CALL METHOD ob_bcs->set_sender
EXPORTING
i_sender = ob_sapuser_bcs.
ob_cam_address_bcs = cl_cam_address_bcs=>create_internet_address( p_rcpn_1 ).
CALL METHOD ob_bcs->add_recipient
EXPORTING
i_recipient = ob_cam_address_bcs.
DATA: result TYPE abap_bool .
CALL METHOD ob_bcs->send
EXPORTING
i_with_error_screen = abap_true
RECEIVING
result = result.
COMMIT WORK .
ENDFORM . "mail_1_prep_1
Debug: