2020-08-23 08:59发布
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 是否有任何功能模块... 显示全部
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
是否有任何功能模块可以从ABAP程序发送邮件。
我的要求是运行报告并以邮件形式发送内部表的内容。
预先感谢
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
致谢
最多设置5个标签!
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
致谢
一周热门 更多>