IF g_benfile IS NOT INITIAL.
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY' EXPORTING
buffer = g_benfile IMPORTING
output_length = g_len_in TABLES
binary_tab = gt_record. ENDIF.
REFRESH:gt_reclist,gt_objtxt,gt_objbin,gt_objpack. CLEAR: wa_doc_chng.
\将转换后的文件添加到邮件附件
APPEND LINES OF gt_record TO gt_objbin.
\添加邮件正文 gt_objtxt = ' '. APPEND gt_objtxt.
gt_objtxt = 'TIANCZ测试邮件,附件PDF!'. APPEND gt_objtxt.
gt_objtxt = ' '. APPEND gt_objtxt.
gt_objtxt = ' 本邮件由系统自动发出,请勿直接回复!'. APPEND gt_objtxt.
\邮件正文行数
DESCRIBE TABLE gt_objtxt LINES g_lines_txt.
g_object = '测试邮件!'. pdf_name = '测试.pdf'.
**** Mail Attribute
wa_doc_chng-obj_langu = sy-langu. wa_doc_chng-obj_name = 'Email'.
wa_doc_chng-expiry_dat = sy-datum + 10.
wa_doc_chng-obj_descr = g_object . \邮件主题 wa_doc_chng-sensitivty = 'F'.
wa_doc_chng-doc_size = g_lines_txt * 255 + g_len_in. wa_doc_chng-priority = '1'.
* Main Text
CLEAR gt_objpack-transf_bin. gt_objpack-head_start = 1. gt_objpack-head_num = 0. gt_objpack-body_start = 1.
gt_objpack-body_num = g_lines_txt. gt_objpack-doc_type = 'RAW'. APPEND gt_objpack.
* Attachment (pdf-Attachment) CLEAR :g_lines_bin.
gt_objpack-transf_bin = 'X'. gt_objpack-head_start = 1. gt_objpack-head_num = 1. gt_objpack-body_start = 1.
DESCRIBE TABLE gt_record LINES g_lines_bin.
\此处附件大小应该按照SCMS_XSTRING_TO_BINARY返回值赋值,如果按照g_lines_bin*225计算,可能出现文件损坏情况 gt_objpack-doc_size = g_len_in . gt_objpack-body_num = g_lines_bin. gt_objpack-doc_type = 'PDF'. gt_objpack-obj_name = 'PO'.
gt_objpack-obj_descr = pdf_name. APPEND gt_objpack.
gt_reclist-receiver = '124801949@qq.com'. gt_reclist-rec_type = 'U'. APPEND gt_reclist.
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1' EXPORTING
document_data = wa_doc_chng \邮件属性 put_in_outbox = '' commit_work = 'X' TABLES
packing_list = gt_objpack \邮件内容
contents_bin = gt_objbin \附件内容(二进制) contents_txt = gt_objtxt \邮件内容(直接填入) receivers = gt_reclist \收件箱地址 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.
IF sy-subrc = 0.
MESSAGE 'send mail successful!' TYPE 'S'. ELSE.
MESSAGE 'send mail failed!' TYPE 'S'. ENDIF.
ENDFORM. \
相关推荐: