例子1.
http://blog.chinaunix.net/u1/44070/showart_1069899.html
例子2.
http://jgtang82.iteye.com/blog/186430
demo 3
http://www.sapdev.co.uk/reporting/email/email_sapmail.htm
demo4
http://blog.chinaunix.net/u1/40527/showart_453984.html
我在程序中使用的send email 的 function
call function 'SO_NEW_DOCUMENT_SEND_API1'
exporting
document_data = ls_docdata
document_type = 'RAW'
put_in_outbox = 'X'
commit_work = 'X'
tables
object_content = lt_objcont
receivers = lt_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.
2.15 例子 为了是在email中保持格式 使用html来显示
由于wa_html-line 一行只能255字符
我在sap 界面设置中开启了 70个字符换行 造成wa_html-line一遍遍添加到html表中
最后用于传输
*&---------------------------------------------------------------------*
*& Report ZTEST_EMAIL1
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZTEST_EMAIL1.
DATA: lv_title TYPE so_obj_des,
send_request TYPE REF TO CL_BCS,
document TYPE REF TO CL_DOCUMENT_BCS,
conlengths TYPE so_obj_len,
* html TYPE STANDARD TABLE OF w3html,
html TYPE STANDARD TABLE OF solisti1,
* wa_html TYPE w3html,
wa_html TYPE solisti1,
sender_id TYPE REF TO IF_SENDER_BCS,
recipient TYPE REF TO IF_RECIPIENT_BCS,
sent_to_all TYPE os_boolean,
bcs_exception TYPE REF TO cx_bcs,
bcs_message TYPE string.
lv_title = 'This is the title'.
*wa_html-line = '<html><body>'.
*APPEND wa_html TO html.
wa_html-line = '<table border=14 borderColor=#cccccc width=100%>'.
APPEND wa_html to html.
CLEAR wa_html.
wa_html-line = '<tr><td> 序号</td>' .
APPEND wa_html to html.
wa_html-line = '<td> 员工号</td>'.
APPEND wa_html to html.
wa_html-line = '<td> 员工姓名</td>'.
APPEND wa_html to html.
wa_html-line = '<td> 工具编码</td>'.
APPEND wa_html to html.
wa_html-line = '<td> 序列号</td>'.
APPEND wa_html to html.
wa_html-line = '<td> 工具描述</td>'.
APPEND wa_html to html.
wa_html-line = '<td> 规格型号</td>'.
APPEND wa_html to html.
wa_html-line = '<td> 数量</td>'.
APPEND wa_html to html.
wa_html-line = '<td> 工厂</td>'.
APPEND wa_html to html.
wa_html-line = '<td> 仓库</td>'.
APPEND wa_html to html.
wa_html-line = '<td> 应归还日期</td>'.
APPEND wa_html to html.
wa_html-line = '<td> 提醒次数</td>'.
APPEND wa_html to html.
wa_html-line = '<td> 部门</td>'.
APPEND wa_html to html.
wa_html-line = '<td> 所属专业</td>'.
APPEND wa_html to html.
wa_html-line = '</tr></table>'.
append wa_html to html.
*wa_html-line = '</body></html>'.
*APPEND wa_html TO html.
TRY.
CLEAR send_request.
send_request = cl_bcs=>create_persistent( ).
CLEAR document .
document = cl_document_bcs=>create_document(
i_type = 'HTM'
i_text = html
i_length = conlengths
i_subject = lv_title ).
* Add document to send request
CALL METHOD send_request->set_document( document ).
* Construct sender and receiver
CLEAR: sender_id , recipient .
sender_id = cl_cam_address_bcs=>create_internet_address(
'*****@****.com.cn' ).
recipient = cl_cam_address_bcs=>create_internet_address(
'*****@*****.com.cn' ).
* Set sender
CALL METHOD send_request->set_sender
EXPORTING
i_sender = sender_id.
* Add recipient with its respective attributes to send request
CALL METHOD send_request->add_recipient
EXPORTING
i_recipient = recipient
i_express = 'X'.
* Set E-mail sending options
CALL METHOD send_request->set_status_attributes
EXPORTING
i_requested_status = 'E'
i_status_mail = 'E'.
CALL METHOD send_request->set_send_immediately( 'X' ).
* Send document
CALL METHOD send_request->send(
EXPORTING
i_with_error_screen = 'X'
RECEIVING
result = sent_to_all ).
IF sent_to_all = 'X'.
MESSAGE 'Mail sent successfully ' TYPE 'S'.
ENDIF.
COMMIT WORK.
CATCH cx_bcs INTO bcs_exception.
bcs_message = bcs_exception->get_text( ).
MESSAGE bcs_exception TYPE 'E'.
EXIT.
ENDTRY.
******************************************
* get sender email address.
*
* CALL FUNCTION 'SUSR_USER_ADDRESS_READ'
* EXPORTING
* USER_NAME = 'fuwuqi'
** READ_DB_DIRECTLY = ' '
** IMPORTING
** USER_ADDRESS = FS_ADDR
** USER_USR03 = FS_USR03
* EXCEPTIONS
* USER_ADDRESS_NOT_FOUND = 1
* OTHERS = 2.
2011.04.22 PS:在运行functions后面加上这句 可以立即处理邮件 是邮件快速发送 减少处理的延时
TCODE:SCOT 可以查看系统是否挤压邮件
if sy-subrc = 0.
commit work and wait.
"send immediatly
submit rsconn01 with mode = 'INT' and return.
1633

被折叠的 条评论
为什么被折叠?



