修改CL_DOCUMENT_BCS邮件内容

2020-08-19 17:42发布

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

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


嗨,

在创建对象cl_document_bcs之后,有什么方法可以修改邮件的内容? 我有一些在循环内处理的附件。 根据附件进行某些检查后,我需要修改邮件正文内容。 有可能吗?

它是一种动态处理和验证,无法根据需要修改的邮件正文附加文件之前完成。

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

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


嗨,

在创建对象cl_document_bcs之后,有什么方法可以修改邮件的内容? 我有一些在循环内处理的附件。 根据附件进行某些检查后,我需要修改邮件正文内容。 有可能吗?

它是一种动态处理和验证,无法根据需要修改的邮件正文附加文件之前完成。

付费偷看设置
发送
4条回答
哎,真难
1楼 · 2020-08-19 18:41.采纳回答

您可以使用类似IF_DOCUMENT_BCS〜GET_BODY_PART_CONTENT的方法来获取内容。 然后再次调用:

email_body = cl_document_bcs => create_document ...(

send_request-> set_document(email_body)。

将替换旧内容。

me_for_i
2楼-- · 2020-08-19 18:28

嗨,

非常感谢Matthew。 有效。 我只是添加了这样的代码。

p_counter =>附件数

lv_part =>零件号,据我了解,电子邮件内容为1,附件为2,3 ...

IF p_counter GT 1."如果附件数量大于1(程序逻辑)

ls_content-line ='测试'。

附加ls_content至lt_content。

*尝试。

*调用方法cl_document_bcs => create_document

*导出i_type ='HTM'

* i_subject ="测试"

* i_text = lt_content接收结果= lr_document。

lv_part =2。p_counter = p_counter +1。"因为1是用于邮件内容的,所以递增支票p_counter TIMES。

"用于添加附件的循环CLEAR ls_bcsdoc。

*尝试。

*呼叫方法p_lr_document-> if_document_bcs〜get_body_part_content

*导出im_part = lv_part

*接收re_content = ls_bcsdoc。

* CATCH cx_document_bcs。

* ENDTRY。 *尝试。

调用方法lr_document-> add_attachment

导出

i_attachment_type ='PDF'

i_attachment_subject ='测试'

i_att_content_hex = ls_bcsdoc-cont_hex。

*捕获cx_document_bcs。

*尝试。

如果lv_part = p_counter。 "如果所有附件都附上

退出。

ENDIF。

lv_part = lv_part + 1."下一个附件ENDDO。ENDIF的计数器增量。

消息的编辑者:Matthew Billingham-固定格式

太Q了
3楼-- · 2020-08-19 18:23

我今天遇到了类似的情况,但是发现来自马修·比林汉姆(a Billingham)实际上不是我的情况的答案。

我创建了ref_bcs_document,然后向其中添加了几个附件。 再次调用send_request-> set_document(xxx)后,所有附件都丢失了,因为实际上我们是在send_request中设置一个新对象,而不是带有附件的原始对象。

代码段:

send_request = cl_bcs => create_persistent()。

ref_bcs_document = cl_document_bcs => create_document(xxx)。

send_request-> set_document(ref_bcs_document)

在ttt循环。

ref_bcs_document-> add_attachment(xxx)。

endloop。

//根据附件内容更改电子邮件内容。

email_body = cl_document_bcs => create_document(xxx)。

send_request-> set_document(email_body)。 <--- email_body是一个新对象!

任何人都可以更改电子邮件内容吗?

槿木_熙
4楼-- · 2020-08-19 18:36

您真的应该将此问题作为新问题发布,并带有指向该问题的链接。

一周热门 更多>