Может быть сначала необходимо выгрузить файл куда-нибудь, а уже потом его прицепить к письму?
Я делал следующим образом: выгружал файл на сервер, а потом подгружал его как вложение в файл...
Code:
*Вложение файла
* clear some stuffs
CLEAR objpack.
CLEAR objhead.
CLEAR v_tab_lines.
CLEAR objbin.
sfile = filename.
OPEN DATASET sfile FOR INPUT IN BINARY MODE.
DATA s TYPE string.
READ DATASET sfile INTO s.
* copy file content to the objbin table
DATA doc_size TYPE i.
doc_size = strlen( s ).
do.
objbin = s.
append objbin.
v_tab_lines = v_tab_lines + 1.
SHIFT s BY 255 PLACES.
data i type i.
i = strlen( s ).
if i < 255.
objbin = s.
append objbin.
v_tab_lines = v_tab_lines + 1.
exit.
endif.
enddo.
* closing file
CLOSE DATASET sfile.
objhead = sfile. " Attachment Name
APPEND objhead.
* Creation of the entry for the attachment
objpack-transf_bin = 'X'.
objpack-head_start = 1.
objpack-head_num = 0.
objpack-body_start = shift.
objpack-body_num = v_tab_lines.
objpack-doc_type = 'txt'.
objpack-obj_name = sfile. "attach_name.
objpack-obj_descr = sfile.
objpack-doc_size = doc_size.
APPEND objpack.
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = doc_chng
put_in_outbox = outbox
TABLES
packing_list = objpack
object_header = objhead
contents_bin = objbin
contents_txt = objtxt
receivers = reclist
EXCEPTIONS
too_many_receivers = 1
document_not_sent = 2
operation_no_authorization = 4
OTHERS = 99.
Файл передается в бинарном виде, поэтому без разницы pdf это или txt.