电子邮件中的Excel附件已损坏

2020-09-09 16:50发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我正在开发一个报告,...

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

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


大家好,

我正在开发一个报告,其中我会向同一用户发送多封带有附件的电子邮件。

我的问题是某些excel附件可以正确打开而没有任何错误,而其他excel附件在下面遇到错误。

请帮助我。 任何帮助将不胜感激。

谢谢。

此致

Katherine Darunday

(9.6 kB)
6条回答
DafaDDDa
2020-09-09 17:28

嗨,

我正在使用该代码发送电子邮件。

     方法send_email。



       数据:

         lt_body TYPE bcsy_text,

         lv_subject TYPE so_obj_des,

         lv_filename TYPE so_obj_des。



       明确:

         lt_body [],

         lv_subject,

         lv_filename。



 *- 发电子邮件

       环聊s_email

         INTO DATA(ls_email)。



         尝试。

 * –创建持久发送请求

           go_send_request = cl_bcs => create_persistent()。



 * –创建并设置带有附件的文档

 *使用文本从内部表创建文档对象

           如果sy-subrc EQ 0。



             go_pgrp_mrp-> build_email_body(

               输入

                 ex_t_text = lt_body)。



             合并sy-datum + 4(2)c_slash

                         sy-datum + 6(2)c_斜杠

                         sy-datum + 0(4)放入数据(lv_date)。



             CONCATENATE text-005

                         lv_date

                         gv_system

               INTO lv_subject

               按空格分隔。



             合并sy-datum + 4(2)c_period

                         sy-datum + 6(2)c_period

                         sy-datum + 0(4)插入数据(lv_date_2)。



             CONCATENATE文字006

                         lv_date_2

               INTO lv_文件名

               按空格分隔。



             自由:

               lv_date,

               lv_date_2。



           万一。



           go_document = cl_document_bcs => create_document(

             i_type = c_obj_tp_htm

             i_text = lt_body

             i_subject = lv_subject)。



 * –将电子表格作为附件添加到文档对象

           go_document-> add_attachment(

             i_attachment_type = c_file_ext

             i_attachment_subject = lv_filename

             i_attachment_size = gv_size

             i_att_content_hex = gs_binary_content)。



 * –添加文档对象以发送请求

           go_send_request-> set_document(go_document)。



 * –添加收件人(电子邮件地址)

 *创建收件人对象

           gv_mailto = ls_email-low。

           go_recipient = cl_cam_address_bcs => create_internet_address(gv_mailto)。



 * –添加收件人对象以发送请求

           go_send_request-> add_recipient(go_recipient)。



 * –设置立即发送标志

           go_send_request-> set_send_immediately(abap_true)。



 * –发送文件

           gv_sent_to_all = go_send_request-> send(i_with_error_screen = abap_true)。

           提交工作。



           如果gv_sent_to_all是INITIAL。

             使用gv_mailto发送i500(sbcoms)消息。

           其他。

             MESSAGE text-014 TYPE c_success。

           万一。

 *- 异常处理

           捕捉cx_bcs INTO go_bcs_exception。

             使用go_bcs_exception-> error_type的消息i865(so)。

         ENDTRY。

         明确:

           ls_email。

       结局。



       自由:

         lt_body [],

         lv_subject,

         lv_filename。



     终结法。  "发电子邮件
 

一周热门 更多>