发送内部表作为HTML附件,分配问题

2020-08-21 15:33发布

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

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


我编写了以下代码,以将内部表转换为HTML。 但是,当我打开电子邮件中的html附件时,某些记录(并非全部)的分配是错误的,一些条目已放置在顶部,并且某些条目的字体颜色为紫色。 请帮忙。

我的代码:

SPAN {font-family:" Courier New"; 字体大小:10pt; 颜色:#000000; 背景:#FFFFFF; } .L0S31 {font-style:italic; 颜色:#808080; } .L0S32 {color:#3399FF; } .L0S33 {color:#4DA619; } .L0S52 {color:#0000FF; } .L0S55 {color:#800080; } .L0S70 {color:#808080; }

形成itab_to_html2表t_gr
使用p_gr类型char30。


数据:
lt_header类型w3head的标准表头,带标题行,"
lt_fields类型w3fields的标准表头 标题行,"
lfs_header类型w3head,
lw_head类型w3head。

数据:t_fcat类型lvc_t_fcat,"
wa_fcat类似t_fcat的行。

*-填充字段目录

刷新t_fcat。清除wa_fcat。
wa_fcat-coltext ='SN编号'。
APPEND wa_fcat到t_fcat。
wa_fcat-coltext ='CA编号'。
APPEND wa_fcat到 t_fcat。
wa_fcat-coltext ='客户名称'。
APPEND wa_fcat TO t_fcat。

wa_fcat-coltext ='SR类型'。
APPEND wa_fcat TO t_fcat。
wa_fcat- coltext ='SR类别'。
APPEND wa_fcat TO t_fcat。
wa_fcat-coltext ='移动性指示器'。
APPEND wa_fcat TO t_fcat。

wa_fcat-coltext ='SR状态'。
APPEND wa_fcat TO t_fcat。
wa_fcat-coltext ='Group Resp ID'。

APPEND wa_fcat TO t_fcat。
wa_fcat-coltext ='服务组织'。
APPEND wa_fcat TO t_fca t。
wa_fcat-coltext ='电压水平'。
APPEND wa_fcat TO t_fcat。

wa_fcat-coltext ='Planning Dt'。
APPEND wa_fcat TO t_fcat。
wa_fcat- coltext ='Cons Comp Dt'。
APPEND wa_fcat TO t_fcat。
wa_fcat-coltext ='KIV'。
APPEND wa_fcat TO t_fcat。

wa_fcat-coltext ='工作类型'。
APPEND wa_fcat TO t_fcat。
wa_fcat-coltext ='极数'。
APPEND wa_fcat TO t_fcat。
wa_fcat-coltext ='project no'。
APPEND wa_fcat TO t_fcat。< br>
wa_fcat-coltext ='contract strt dt'。
APPEND wa_fcat TO t_fcat。
wa_fcat-coltext ='SN否'。
APPEND wa_fcat TO t_fcat。
wa_fcat-coltext = 'KIV(meter)'。
APPEND wa_fcat TO t_fcat。

APPEND wa_fcat-coltext ='SO comp dt'。
APPEND wa_fcat TO t_fcat。
wa_fcat-coltext ='CC付费dt '。
APPEND wa_fcat TO t_fcat。
wa_fcat-coltext ='SD付费dt'。
APPEND wa_fcat TO t_fcat。

wa_fcat-coltext ='状态天数'。
追加wa_fcat到t_fcat。

"填写列标题和属性

在t_fca处循环 t INTO wa_fcat。
lw_head-text = wa_fcat-coltext。

呼叫功能'WWW_ITAB_TO_HTML_HEADERS'
导出
field_nr = sy-tabix
text = lw_head-text fgcolor ='黑色'
bgcolor ='灰色'
TABLES
标题= lt_header。

*-填充列属性
呼叫功能'WWW_ITAB_TO_HTML_LAYOUT'
导出
field_nr = sy-tabix
justified ='justify' color ='black' size ='1'
TABLES
fields = lt_fields。
ENDLOOP。

刷新t_fcat []。

*-显示标题
lfs_header-text'组负责的FRONTLINER'
lfs_header-font ='Arial'。
lfs_header-size ='2'。


*-从内部表中准备HTML
刷新gt_html。


CALL FUNCTION'WWW_ITAB_TO_HTML'
导出
table_header = lfs_header
TABLES
html = gt_html
fields = lt_fields
row_header = lt_header
itable = t_gr。

清除lfs_header。

在gt_html INTO gwa_htmlline上循环播放。
< br> CONCATENATE gv_tmp_str gwa_htmlline INTO gv_tmp_str。
ENDLOOP。

刷新gt_html []。

如果gv_tmp_str不是INITIAL,则
CALL FUNCTION'SSFH_STRING_TO_TABUTFPORT8' > cstr_input_data = gv_tmp_str
代码页='4110'
*导入
* OSTR_INPUT_DATA_L =
TABLES
ostr_input_data = gt_table
EXCEPTIONS
conversion_error = 1
内部错误= 2 < br> OTHERS =3。

如果sy-subrc <> 0.
*消息ID SY-MSGID类型SY-MSGTY编号SY-MSGNO
*带SY-MSGV1 SY-MSGV2 SY- MSGV3 SY-MSGV4。
ENDIF。

gt_attachment [] = gt_table []。
REFRESH:gt_table []。
清除gv_tmp_str。
ENDIF。


ENDFORM。

(134.0 kB)

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

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


我编写了以下代码,以将内部表转换为HTML。 但是,当我打开电子邮件中的html附件时,某些记录(并非全部)的分配是错误的,一些条目已放置在顶部,并且某些条目的字体颜色为紫色。 请帮忙。

我的代码:

SPAN {font-family:" Courier New"; 字体大小:10pt; 颜色:#000000; 背景:#FFFFFF; } .L0S31 {font-style:italic; 颜色:#808080; } .L0S32 {color:#3399FF; } .L0S33 {color:#4DA619; } .L0S52 {color:#0000FF; } .L0S55 {color:#800080; } .L0S70 {color:#808080; }

形成itab_to_html2表t_gr
使用p_gr类型char30。


数据:
lt_header类型w3head的标准表头,带标题行,"
lt_fields类型w3fields的标准表头 标题行,"
lfs_header类型w3head,
lw_head类型w3head。

数据:t_fcat类型lvc_t_fcat,"
wa_fcat类似t_fcat的行。

*-填充字段目录

刷新t_fcat。清除wa_fcat。
wa_fcat-coltext ='SN编号'。
APPEND wa_fcat到t_fcat。
wa_fcat-coltext ='CA编号'。
APPEND wa_fcat到 t_fcat。
wa_fcat-coltext ='客户名称'。
APPEND wa_fcat TO t_fcat。

wa_fcat-coltext ='SR类型'。
APPEND wa_fcat TO t_fcat。
wa_fcat- coltext ='SR类别'。
APPEND wa_fcat TO t_fcat。
wa_fcat-coltext ='移动性指示器'。
APPEND wa_fcat TO t_fcat。

wa_fcat-coltext ='SR状态'。
APPEND wa_fcat TO t_fcat。
wa_fcat-coltext ='Group Resp ID'。

APPEND wa_fcat TO t_fcat。
wa_fcat-coltext ='服务组织'。
APPEND wa_fcat TO t_fca t。
wa_fcat-coltext ='电压水平'。
APPEND wa_fcat TO t_fcat。

wa_fcat-coltext ='Planning Dt'。
APPEND wa_fcat TO t_fcat。
wa_fcat- coltext ='Cons Comp Dt'。
APPEND wa_fcat TO t_fcat。
wa_fcat-coltext ='KIV'。
APPEND wa_fcat TO t_fcat。

wa_fcat-coltext ='工作类型'。
APPEND wa_fcat TO t_fcat。
wa_fcat-coltext ='极数'。
APPEND wa_fcat TO t_fcat。
wa_fcat-coltext ='project no'。
APPEND wa_fcat TO t_fcat。< br>
wa_fcat-coltext ='contract strt dt'。
APPEND wa_fcat TO t_fcat。
wa_fcat-coltext ='SN否'。
APPEND wa_fcat TO t_fcat。
wa_fcat-coltext = 'KIV(meter)'。
APPEND wa_fcat TO t_fcat。

APPEND wa_fcat-coltext ='SO comp dt'。
APPEND wa_fcat TO t_fcat。
wa_fcat-coltext ='CC付费dt '。
APPEND wa_fcat TO t_fcat。
wa_fcat-coltext ='SD付费dt'。
APPEND wa_fcat TO t_fcat。

wa_fcat-coltext ='状态天数'。
追加wa_fcat到t_fcat。

"填写列标题和属性

在t_fca处循环 t INTO wa_fcat。
lw_head-text = wa_fcat-coltext。

呼叫功能'WWW_ITAB_TO_HTML_HEADERS'
导出
field_nr = sy-tabix
text = lw_head-text fgcolor ='黑色'
bgcolor ='灰色'
TABLES
标题= lt_header。

*-填充列属性
呼叫功能'WWW_ITAB_TO_HTML_LAYOUT'
导出
field_nr = sy-tabix
justified ='justify' color ='black' size ='1'
TABLES
fields = lt_fields。
ENDLOOP。

刷新t_fcat []。

*-显示标题
lfs_header-text'组负责的FRONTLINER'
lfs_header-font ='Arial'。
lfs_header-size ='2'。


*-从内部表中准备HTML
刷新gt_html。


CALL FUNCTION'WWW_ITAB_TO_HTML'
导出
table_header = lfs_header
TABLES
html = gt_html
fields = lt_fields
row_header = lt_header
itable = t_gr。

清除lfs_header。

在gt_html INTO gwa_htmlline上循环播放。
< br> CONCATENATE gv_tmp_str gwa_htmlline INTO gv_tmp_str。
ENDLOOP。

刷新gt_html []。

如果gv_tmp_str不是INITIAL,则
CALL FUNCTION'SSFH_STRING_TO_TABUTFPORT8' > cstr_input_data = gv_tmp_str
代码页='4110'
*导入
* OSTR_INPUT_DATA_L =
TABLES
ostr_input_data = gt_table
EXCEPTIONS
conversion_error = 1
内部错误= 2 < br> OTHERS =3。

如果sy-subrc <> 0.
*消息ID SY-MSGID类型SY-MSGTY编号SY-MSGNO
*带SY-MSGV1 SY-MSGV2 SY- MSGV3 SY-MSGV4。
ENDIF。

gt_attachment [] = gt_table []。
REFRESH:gt_table []。
清除gv_tmp_str。
ENDIF。


ENDFORM。

(134.0 kB)
付费偷看设置
发送
4条回答
南山jay
1楼 · 2020-08-21 15:36.采纳回答

WWW_ITAB_TO_HTML返回包含255个字符的行的HTML表。 如果要将其传输到STRING变量,则必须通过串联并保留所有行的结尾空格来完成它。

因此,关于此行的一个明显问题是:

 CONCATENATE gv_tmp_str gwa_htmlline INTO gv_tmp_str。

必须将其替换为:

 CONCATENATE gv_tmp_str gwa_htmlline INTO gv_tmp_str空格。

请注意:您使用未发布的功能模块SSFH_STRING_TO_TABUTF8进行代码页转换,而使用CL_ABAP_CODEPAGE类(在ABAP官方文档中有说明)。 p>

SAP小菜
2楼-- · 2020-08-21 15:40

谢谢! 这个解决方案解决了我的问题!

hengyuye
3楼-- · 2020-08-21 15:46

感谢这个解决方案,它对我非常有帮助。 经过1周的标准调试,我找到了此解决方案,并在10秒内解决了问题。 谢谢你!!

黑丝骑士
4楼-- · 2020-08-21 15:42

Sandra规则!!! 一定要遵循!

一周热门 更多>