使用 ABAP 代码自动发送电子邮件 email

简介: 使用 ABAP 代码自动发送电子邮件 email

核心代码是利用 Function Module SO_DOCUMENT_SEND_API1

*&---------------------------------------------------------------------*
*& Report  ZJERRY_MAIL_TEST1
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT  ZWT_MAIL_TEST1.
DATA: wa_docdata TYPE sodocchgi1,
wa_objpack TYPE sopcklsti1 ,
it_objpack TYPE TABLE OF sopcklsti1,
wa_objtxt TYPE solisti1,
it_objtxt TYPE TABLE OF solisti1,
wa_reclist TYPE somlreci1,
it_reclist TYPE TABLE OF somlreci1.
DATA: tab_lines TYPE i.
PERFORM fill_text.
PERFORM fill_object_details.
*create receiver list
PERFORM create_receivers_list.
*send mail
PERFORM send_mail.
*WRITE: / 'End of Program'.
*---------------------------------------------------------------------*
*Form fill_text
*---------------------------------------------------------------------*
*text
*----------------------------------------------------------------------*
*--> p1 text
*<-- p2 text
*----------------------------------------------------------------------*
FORM fill_text .
wa_objtxt =
'<SPAN style="font-family:arial;font-size:10.5pt;color:blue">'.
APPEND wa_objtxt TO it_objtxt.
wa_objtxt = '<B><U>Test Program for Send Mail.</U></B> <BR>'.
APPEND wa_objtxt TO it_objtxt.
wa_objtxt = '<I>This code is formatted using HTML.</I>'.
APPEND wa_objtxt TO it_objtxt.
wa_objtxt = 'Have a nice day.'.
APPEND wa_objtxt TO it_objtxt.
wa_objtxt = '<SPAN>'.
APPEND wa_objtxt TO it_objtxt.
ENDFORM. " fill_text
*---------------------------------------------------------------------*
*Form fill_object_details
*---------------------------------------------------------------------*
*text
*----------------------------------------------------------------------*
*
*--> p1 text
*<-- p2 text
*----------------------------------------------------------------------*
FORM fill_object_details .
DESCRIBE TABLE it_objtxt LINES tab_lines.
READ TABLE it_objtxt INTO wa_objtxt INDEX tab_lines.
wa_docdata-obj_name = 'TEST_HTML'.
wa_docdata-obj_descr = 'New Task Notification'.
wa_docdata-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( wa_objtxt ).
CLEAR wa_objpack-transf_bin.
wa_objpack-head_start = 1.
wa_objpack-head_num = 0.
wa_objpack-body_start = 1.
wa_objpack-body_num = tab_lines.
wa_objpack-doc_type = 'HTM'.
APPEND wa_objpack TO it_objpack.
ENDFORM. " fill_object_details
*---------------------------------------------------------------------*
*Form create_receivers_list
**---------------------------------------------------------------------*
*
*text
**----------------------------------------------------------------------*
*
*--> p1 text
*<-- p2 text
*----------------------------------------------------------------------*
FORM create_receivers_list .
wa_reclist-receiver = 'jerry@sap.com'.
wa_reclist-rec_type = 'U'.
APPEND wa_reclist TO it_reclist.
ENDFORM. " create_receivers_list
*---------------------------------------------------------------------
*Form send_mail
*---------------------------------------------------------------------\
*text
*----------------------------------------------------------------------
*--> p1 text
*<-- p2 text
*----------------------------------------------------------------------\
FORM send_mail .
CALL FUNCTION 'SO_DOCUMENT_SEND_API1' DESTINATION 'VCUCLNT100'
EXPORTING
document_data = wa_docdata
* PUT_IN_OUTBOX = ' '
*sender_address = 's@sap.com'
*sender_address_type = 'INT'
commit_work = 'X'
*IMPORTING
*SENT_TO_ALL =
*NEW_OBJECT_ID =
*SENDER_ID =
TABLES
packing_list = it_objpack
*OBJECT_HEADER =
*CONTENTS_BIN =
contents_txt = it_objtxt
*CONTENTS_HEX =
*OBJECT_PARA =
*OBJECT_PARB =
receivers = it_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.
  break-point.
*
*MESSAGE ID 'SO' TYPE 'S' NUMBER '023'
*
*WITH wa_docdata-obj_name.
*
*ELSE.
*
*WRITE : / 'Mail sent to', p_rec.
*
ENDIF.
ENDFORM. " send_mail
相关文章
|
5月前
|
前端开发 开发工具 Android开发
小技巧分享 - 使用 Visual Studio Code 查看和修改 ABAP 代码试读版
小技巧分享 - 使用 Visual Studio Code 查看和修改 ABAP 代码试读版
小技巧分享 - 使用 Visual Studio Code 查看和修改 ABAP 代码试读版
|
5月前
|
BI
工具分享 - 将一个 ABAP Function Group 内所有 Function Module 按照代码行数从高到低排序并显示
工具分享 - 将一个 ABAP Function Group 内所有 Function Module 按照代码行数从高到低排序并显示
工具分享 - 将一个 ABAP Function Group 内所有 Function Module 按照代码行数从高到低排序并显示
|
5月前
|
开发者 供应链 BI
SAP ABAP CALL SUBSCREEN 代码解析
SAP ABAP CALL SUBSCREEN 代码解析
|
5月前
|
存储 数据处理 开发者
ABAP 如何把 unicode 代码点转换成字符
ABAP 如何把 unicode 代码点转换成字符
|
5月前
|
存储
使用 ABAP 代码打印出 SAP CRM 系统里所有维护了 Sales Area 的 business partner id
使用 ABAP 代码打印出 SAP CRM 系统里所有维护了 Sales Area 的 business partner id
|
5月前
|
JSON 应用服务中间件 API
使用 ABAP 代码消费 SAP 系统的 OData 服务
使用 ABAP 代码消费 SAP 系统的 OData 服务
|
5月前
|
开发工具 Web App开发 IDE
如何对 SAPGUI 里的 ABAP 代码语法检查功能进行自定义增强配套代码
如何对 SAPGUI 里的 ABAP 代码语法检查功能进行自定义增强配套代码
如何对 SAPGUI 里的 ABAP 代码语法检查功能进行自定义增强配套代码
|
5月前
|
开发者 数据库
使用 SAP ABAP 代码下载一个 note 到本地 ABAP 系统
使用 SAP ABAP 代码下载一个 note 到本地 ABAP 系统
|
5月前
|
BI
工具分享 - 将一个 ABAP Function Group 内所有 Function Module 按照代码行数从高到低排序并显示试读版
工具分享 - 将一个 ABAP Function Group 内所有 Function Module 按照代码行数从高到低排序并显示试读版
|
5月前
|
存储
ABAP 代码从十进制转二进制的方法
ABAP 代码从十进制转二进制的方法

热门文章

最新文章

下一篇
无影云桌面