спасибо за совет где копать! получилось! однако, посчитать размер файла для бинарника оказалось не так просто. выкладываю кусок кода, который считает объем вложения.
DATA: l_size_attachment TYPE sood-objlen. " рзамер вложенного файла DATA: tab_lines LIKE sy-tabix. DATA: ls_binary_content LIKE LINE OF binary_content. DATA: ls_binary_content_char(255) TYPE c. DATA: l_chars TYPE i. DATA: l_chars_all TYPE i.
DATA: convin TYPE REF TO cl_abap_conv_in_ce.
CLEAR: ls_binary_content, l_size_attachment, tab_lines, ls_binary_content_char.
DESCRIBE TABLE binary_content LINES tab_lines. READ TABLE binary_content INTO ls_binary_content INDEX tab_lines.
CALL METHOD cl_abap_conv_in_ce=>create EXPORTING input = ls_binary_content-line " pass Raw data RECEIVING conv = convin.
CALL METHOD convin->read IMPORTING data = ls_binary_content_char. " Converted data
CLEAR: l_chars, l_chars_all.
" определяем длину отступа строки для размера файла l_chars_all = STRLEN( ls_binary_content_char ).
SHIFT ls_binary_content_char LEFT DELETING LEADING space. l_chars = STRLEN( ls_binary_content_char ).
l_chars = l_chars_all - l_chars + 1.
l_size_attachment = ( tab_lines - 1 ) * 255 + l_chars.
|
|