Code: Alles auswählen.
DATA: e_document_data LIKE sodocchgi1.
DATA: t_packing_list LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE.
DATA: t_receivers LIKE somlreci1 OCCURS 0 WITH HEADER LINE.
DATA: t_object_header LIKE solisti1 OCCURS 0 WITH HEADER LINE.
DATA: t_contents_txt LIKE solisti1 OCCURS 0 WITH HEADER LINE.
DATA: t_contents_bin LIKE solisti1 OCCURS 0 WITH HEADER LINE.
DATA: tab_lines LIKE sy-tabix.
DATA: cr_lf TYPE string.
cr_lf = cl_abap_char_utilities=>cr_lf.
* Daten für Mail
e_document_data-obj_name = 'Test'.
e_document_data-obj_descr = betreff.
* t_contents_txt = 'Hallo, usw'.
* APPEND t_contents_txt.
DESCRIBE TABLE t_contents_txt LINES tab_lines.
READ TABLE t_contents_txt INDEX tab_lines.
* e_document_data-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( t_contents_txt ).
t_packing_list-head_start = 1.
t_packing_list-head_num = 0.
t_packing_list-body_start = 1.
t_packing_list-body_num = tab_lines.
t_packing_list-doc_type = 'TXT'.
APPEND t_packing_list.
* Daten für Anhang
LOOP AT it_tab INTO wa_tab.
DATA it_wert TYPE string.
it_wert = wa_tab-wert.
CLEAR t_contents_bin.
CONCATENATE spalten aus der internen tabelle cr_lf INTO t_contents_bin SEPARATED BY ';'.
APPEND t_contents_bin.
ENDLOOP.
DESCRIBE TABLE t_contents_bin LINES tab_lines.
t_packing_list-transf_bin = 'X'.
t_packing_list-head_start = 1.
t_packing_list-head_num = 0.
t_packing_list-body_start = 1.
t_packing_list-body_num = tab_lines.
t_packing_list-doc_type = 'TXT'.
t_packing_list-obj_name = 'ANLAGE'.
* t_packing_list-doc_size = tab_lines * 255.
t_packing_list-obj_descr = dateiname.
APPEND t_packing_list.
t_receivers-receiver = 'e-mail'.
t_receivers-rec_type = 'U'.
APPEND t_receivers.
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = e_document_data
commit_work = 'X'
TABLES
packing_list = t_packing_list
object_header = t_object_header
contents_bin = t_contents_bin
contents_txt = t_contents_txt
receivers = t_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.