使用CL_BCS的电子邮件正文中HTML格式的表格

2020-09-10 22:27发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 好像我错过了一些东西...

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

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


大家好,

好像我错过了一些东西。 我正在使用类获取HTML格式的电子邮件,但仅获得第一列,其中填充了所有字段的数据。 有人能帮我吗。 以下是我的代码段。

此外,电子邮件主题仅接受50个字符的文本。 我的文字比那更长。 请帮忙。

类型:lty_rec_email的开头,
              收件人TYPE ad_smtpadr,
            结束于lty_rec_email,
            lty_i_rec_email lty_rec_email的类型标准表。

     数据:li_text TYPE soli_tab,
            lw_text TYPE soli,
            l_subject TYPE so_obj_des,
            l_emailid TYPE adr6-smtp_addr,
            li_rec_email类型lty_i_rec_email,
            lw_rec_email类型lty_rec_email。

     将TEXT-010移动到lw_text-line。  " 
     附加lw_text到li_text。

     将TEXT-011移动到lw_text-line。  " 
     附加lw_text到li_text。

     将TEXT-010移动到lw_text-line。  " 
     附加lw_text到li_text。

 *内容标题
     将TEXT-018移动到lw_text-line。  " 

附加lw_text到li_text。 将TEXT-008移动到lw_text-line。 "此记录由于数据错误而失败 附加lw_text到li_text。 将TEXT-018移动到lw_text-line。 "

附加lw_text到li_text。 *表格标题 将TEXT-019移动到lw_text-line。 " 附加lw_text到li_text。 将TEXT-020移动到lw_text-line。 " 附加lw_text到li_text。 *表格行 * 供应商编号 将TEXT-021移动到lw_text-line。 " 附加lw_text到li_text。 *地址 将TEXT-021移动到lw_text-line。 " 附加lw_text到li_text。 * Idoc编号 将TEXT-021移动到lw_text-line。 " 附加lw_text到li_text。 * Idoc状态 将TEXT-021移动到lw_text-line。 " 附加lw_text到li_text。 *错误文字 将TEXT-021移动到lw_text-line。 " 附加lw_text到li_text。 将TEXT-030移动到lw_text-line。 " 附加lw_text到li_text。 *添加内容 将TEXT-020移动到lw_text-line。 " 附加lw_text到li_text。 将TEXT-031移动到lw_text-line。 " 附加lw_text到li_text。 将TEXT-030移动到lw_text-line。 " 附加lw_text到li_text。 将TEXT-033移动到lw_text-line。 "
附加lw_text到li_text。 将TEXT-022移动到lw_text-line。 " 附加lw_text到li_text。 将TEXT-023移动到lw_text-line。 "供应商 附加lw_text到li_text。 将TEXT-024移动到lw_text-line。 " 附加lw_text到li_text。 将TEXT-025移动到lw_text-line。 " 附加lw_text到li_text。 将TEXT-022移动到lw_text-line。 " 附加lw_text到li_text。 将TEXT-026移动到lw_text-line。 "地址号码 附加lw_text到li_text。 将TEXT-024移动到lw_text-line。 " 附加lw_text到li_text。 将TEXT-025移动到lw_text-line。 " 附加lw_text到li_text。 将TEXT-022移动到lw_text-line。 " 附加lw_text到li_text。 将TEXT-027移动到lw_text-line。 " Idoc号 附加lw_text到li_text。 将TEXT-024移动到lw_text-line。 " 附加lw_text到li_text。 将TEXT-025移动到lw_text-line。 " 附加lw_text到li_text。 将TEXT-022移动到lw_text-line。 " 附加lw_text到li_text。 将TEXT-028移动到lw_text-line。 " Idoc状态 附加lw_text到li_text。 将TEXT-024移动到lw_text-line。 " 附加lw_text到li_text。 将TEXT-025移动到lw_text-line。 " 附加lw_text到li_text。 将TEXT-022移动到lw_text-line。 " 附加lw_text到li_text。 将TEXT-029移动到lw_text-line。 "错误文字 附加lw_text到li_text。 将TEXT-024移动到lw_text-line。 " 附加lw_text到li_text。 将TEXT-025移动到lw_text-line。 "
附加lw_text到li_text。 将TEXT-032移动到lw_text-line。 " 附加lw_text到li_text。 *内部表数据 循环至i_idoc_error_list INTO lw_idoc_error_list。 合并lw_idoc_error_list-lifnr lw_idoc_error_list-adrnr lw_idoc_error_list-docnum lw_idoc_error_list-状态 lw_idoc_error_list-error_text INTO lw_text-line。 附加lw_text到li_text。 结局。 将TEXT-024移动到lw_text-line。 " 附加lw_text到li_text。 将TEXT-025移动到lw_text-line。 "
附加lw_text到li_text。 *填写电子邮件主题行 连接sy-mandt'-'sy-datum'-'sy-uzeit'-' "数据错误/IDOC错误–这是接口错误"(006) INTO l_subject。 尝试。 *创建新的发送请求 lo_bcs = cl_bcs => create_persistent()。 尝试。 *使用HTML格式的主题行和正文内容创建电子邮件文档 呼叫方法cl_document_bcs => create_document 出口 i_type ='HTM'" c_htm i_subject = l_subject i_text = li_text 接收 结果= lo_bcs_doc。 *设置电子邮件文档以发送请求 调用方法lo_bcs-> set_document(lo_bcs_doc)。 尝试。 *收件人 *从TVARVC表获取电子邮件地址 选择低从 tvarvc INTO 表li_rec_email 名称= c_idoc_error_email。 如果sy-subrc = 0。 环聊li_rec_email INTO lw_rec_email。 l_emailid = lw_rec_email-收件人。 *为收据创建互联网地址 呼叫方法cl_cam_address_bcs => create_internet_address 出口 i_address_string = l_emailid 接收 结果= lo_recipient。 *将收件人添加到发送请求 呼叫方法lo_bcs-> add_recipient 出口 i_recipient = lo_recipient。 结局。 万一。 如果不是lo_bcs是INITIAL的话。 *将发送标志立即设置为" X" lo_bcs-> set_send_immediately(abap_true)。 * 发电子邮件 呼叫方法lo_bcs->发送 接收 结果= l_email_sent。 万一。 *捕获异常 捕捉cx_address_bcs INTO lo_cx_address_bcs。 " #EC NO_HANDLER ENDTRY。 捕获cx_document_bcs INTO lo_cx_doc_bcs。 " #EC NO_HANDLER ENDTRY。 捕捉cx_send_req_bcs INTO lo_cx_send_req_bcs。 " #EC NO_HANDLER ENDTRY。