DATA: lt_receivers LIKE somlreci1 OCCURS 1 WITH HEADER LINE,lw_doc_data LIKE sodocchgi1 OCCURS 0 WITH HEADER LINE,
lt_object_content LIKE solisti1 OCCURS 1 WITH HEADER LINE.
FIELD-SYMBOLS: <fs_docnr> like gt_docnr .
CLEAR lt_receivers.
REFRESH lt_receivers.
" lt_receivers-receiver = 'XIONGFENGXXH1@HIKVISION.COM.CN'.
lt_receivers-receiver = 'CHENYAFENG@SINA.COM.CN'.
lt_receivers-rec_type = 'U'.
lt_receivers-com_type = 'INT'.
lt_receivers-notif_del = 'X'.
lt_receivers-notif_ndel = 'X'.
* t_receivers-express = 'X'.
APPEND lt_receivers.
lw_doc_data-obj_descr = '文档更改记录统计' .
CONCATENATE lw_doc_data-obj_descr '_' sy-datum into lw_doc_data-obj_descr.
check not gt_docnr[] is INITIAL .
lt_object_content = '<html><header></header><body>' .
append lt_object_content .
CONCATENATE '<table border="1"><tr><th> 对象价值 </th>'
'<th> 文档类型 </th> '
'<th> 文档 </th>'
'<th> 文档版本 </th> '
'<th> 文档分卷号 </th> '
'<th> 文档变更编号 </th>'
'<th> 日期 </th>'
'<th> 时间 </th>'
'<th> 字段名 </th>'
'<th> 新值 </th>'
'<th> 旧值 </th></tr>' into lt_object_content .
append lt_object_content .
data:lc_time_format TYPE c LENGTH 10.
data:lc_date_format type c LENGTH 10.
data:lc_doknr type c LENGTH 30 .
LOOP AT gt_docnr ASSIGNING <fs_docnr>.
clear lc_doknr .
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = <fs_docnr>-doknr
IMPORTING
OUTPUT = lc_doknr.
clear lc_date_Format .
CALL FUNCTION 'CONVERT_DATE_TO_EXTERNAL'
EXPORTING
DATE_INTERNAL = <fs_docnr>-udate
IMPORTING
DATE_EXTERNAL = lc_date_format
EXCEPTIONS
DATE_INTERNAL_IS_INVALID = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
clear lc_time_format .
write:<fs_docnr>-utime to lc_time_format USING EDIT MASK '__:__:__' .
CONCATENATE '<tr><td>' <fs_docnr>-objectid '</td>'
'<td>' <fs_docnr>-dokar '</td>'
'<td>' lc_doknr '</td>'
'<td>' <fs_docnr>-dokvr '</td>'
'<td>' <fs_docnr>-doktl '</td>'
'<td>' <fs_docnr>-changenr '</td>'
'<td>' lc_date_format '</td>'
'<td>' lc_time_format '</td>'
'<td>' <fs_docnr>-fname '</td>'
'<td>' <fs_docnr>-value_new '</td>'
'<td>' <fs_docnr>-value_old '</td></tr>' into lt_object_content .
append lt_object_content .
at last .
lt_object_content = '</table>'.
ENDAT .
ENDLOOP .
lt_object_content = '<p><br><strong>此邮件由系统自动生成,请不要直接回复。</strong></br></p></body></html>'.
APPEND lt_object_content.
CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'
EXPORTING
document_data = lw_doc_data
DOCUMENT_TYPE = 'HTM'
put_in_outbox = 'X'
commit_work = 'X'
* IMPORTING
* SENT_TO_ALL =
* NEW_OBJECT_ID =
TABLES
* OBJECT_HEADER =
object_content = lt_object_content
* CONTENTS_HEX =
* OBJECT_PARA =
* OBJECT_PARB =
receivers = lt_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
.
IF sy-subrc eq 0.
submit rsconn01
with mode eq 'INT'
and return.
write:'发送成功' .
else.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.