发送邮件功能模块

2020-08-23 08:59发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 是否有任何功能模块...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

是否有任何功能模块可以从ABAP程序发送邮件。

我的要求是运行报告并以邮件形式发送内部表的内容。

预先感谢

6条回答
我是小鹏鹏啊
2020-08-23 09:06

hI,

这是示例程序

&----


*&报告ZSENDEMAIL *

*&*

&----


*&通过SAPCONNECT发送外部电子邮件的示例*

*&*

&----


报告zsendemail。

参数:psubject(40)类型c默认为" Hello",

p_email(40)输入c默认值'test@sapdev.co.uk '。

数据:类似于sopcklsti1的it_packing_list在标题行出现0,

类似于solisti1的it_contents在标题行出现0,

类似于somlreci1的it_receivers在标题行出现0,

it_attachment像solisti1一样在标题行出现0,

gd_cnt类型i,

gd_sent_all(1)类型c,

gd_doc_data类似于sodocchgi1,

gd_error类型为sy-subrc。

数据:SOLISTI1初始大小0的it_message类型标准表

带有标题行。

*************************************************** ************************

*开始选择。

开始选择。

执行populate_message_table。

*发送电子邮件,尽管直到邮件发送后才从SAP发送

*程序已执行(rsconn01)

执行send_email_message。

*指示用于SAPCONNECT的邮件发送程序发送电子邮件(rsconn01)

执行initial_mail_execute_program。

&----


*&表格POPULATE_MESSAGE_TABLE

&----


  • 将文本添加到电子邮件文本表

----


表格populate_message_table。

将"电子邮件第1行"附加到it_message。

将"电子邮件第2行"附加到it_message。

将"电子邮件第3行"附加到it_message。

将"电子邮件第4行"追加到it_message。

endform。 " POPULATE_MESSAGE_TABLE

&----


*&表格SEND_EMAIL_MESSAGE

&----


  • 发送电子邮件

----


表单send_email_message。

  • 填写文档数据。

gd_doc_data-doc_size = 1。

  • 填充主题/通用消息属性

gd_doc_data-obj_langu = sy-langu。

gd_doc_data-obj_name ='SAPRPT'。

gd_doc_data-obj_descr = psubject。

gd_doc_data-sensitiveivty ='F'。

  • 描述消息的正文

清除it_packing_list。

刷新it_packing_list。

it_packing_list-transf_bin =空间。

it_packing_list-head_start = 1。

it_packing_list-head_num = 0。

it_packing_list-body_start = 1。

描述表it_message行it_packing_list-body_num。

it_packing_list-doc_type ='RAW'。

附加it_packing_list。

  • 添加收件人的电子邮件地址

清除it_receivers。

刷新it_receivers。

it_receivers-receiver = p_email。

it_receivers-rec_type ='U'。

it_receivers-com_type ='INT'。

it_receivers-notif_del ='X'。

it_receivers-notif_ndel ='X'。

附加it_receivers。

  • 呼叫FM将消息发布到SAPMAIL

调用函数" SO_NEW_DOCUMENT_ATT_SEND_API1"

导出

document_data = gd_doc_data

put_in_outbox ='X'

导入

sent_to_all = gd_sent_all

表格

packing_list = it_packing_list

contents_txt = it_message

接收者= it_receivers

例外

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

其他= 8。

  • 存储功能模块返回代码

gd_error = sy-subrc。

  • 获取it_receivers返回代码

在it_receivers循环。

endloop。

endform。 " SEND_EMAIL_MESSAGE

&----


*&INITIATE_MAIL_EXECUTE_PROGRAM表格

&----


  • 指示邮件发送程序以供SAPCONNECT发送电子邮件。

----


从表格initiate_mail_execute_program开始。

等待最多2秒钟。

如果gd_error等于0。

以模式='INT'提交rsconn01

输出='X'

然后返回。

endif。

endform。 " INITIATE_MAIL_EXECUTE_PROGRAM

致谢

一周热门 更多>