一
前言
动态报表D-Query 是一个用于取代标准QUERY的程序.使用动态报表无需写代码,非开发人员也可生成专业的报表程序.
详见动态报表简介
无峰,公众号:ABAP 技巧与实战动态报表D-Query简介
本文主要介绍动态报表中的字段描述调整及多语言支持
二
标准字段描述调整
改变数据元素是调整字段描述最好的办法. 新增的动态报表会自动获取调整后的描述.
如果是自定义字段,通过数据元素维护字段的描述. 通过翻译功能实现字段的多语言描述
详见快速翻译
无峰,公众号:ABAP 技巧与实战SAP开发框架系列之 快速翻译功能
如果尝试修改标准字段的描述. 则可以使用CMOD中的文本增强
比如CMOD中的字段项目, 如果想调整 增强项目, 可以通过如下步骤
01
检查
检查想调整的屏幕中,字段描述来源必须是数据字典,且未经过修改. 可以通过帮助功能双击屏幕编号进入. 描述信息项目并非来自数据字典,所以无法通过这种方式调整描述.
02
获取数据元素
通过帮助功能获取数据元素
03
调整数据元素文本
通过下图菜单路径进入文本增强,调整文本内容. 保存即可.保存时会自动记录到传输请求
04
效果
改动后. 可以发现界面未变化(原因在检查步骤已经说明,有些字段界面会跟随变化).但是F1帮助内容已经变化
三
动态报表字段描述调整
动态报表字段描述调整有两种方式
界面直接调整
调整配置表ZTBC_ALV
这两种模式本质是一致的. 作用原理都是通过改变ZTBC_ALV中的对于表/字段的描述(支持多语言). 在动态报表设计/执行阶段读取ZTBC_ALV中特定表/字段的描述.改变后续输出的字段描述内容. 差别在于界面调整的在写入ZTBC_ALV时,会自动附带标记 BY_ZDQ(该标记控制了只有动态报表使用该描述,其它地方不使用.(因为ZTBC_ALV的读取整合在标准函数LVC_FIELDCATALOG_MERGE中,其它地方也会通过该函数读取字段描述)
01
表ZTBC_ALV结构
其中FIELDTEXT_L 会写入字段的tooltip .鼠标移到到字段名时,会显示详细的字段描述信息
字段的tooltip
表ZTBC_ALV
ZTBC_ALV内容
02
动态报表更新描述
调整字段描述后, 点击刷新字段描述功能.
数据会写入ZTBC_ALV,并带有动态报表设计更新标记.
03
字段描述获取
读取表的字段描述时, 通过增强函数LVC_FIELDCATALOG_MERGE 获取ZTBC_ALV中记录的描述信息调整ALV要呈现内容的字段信息 FIELDCAT.
四
对CDS视图的支持
CDS创建的视图,对于通过计算功能或函数获取的字段名. 暂时无法通过备注的方式给字段名设置描述. 可以通过CAST( FIELDNAME,<数据元素>)的方式给字段描述. 这需要先创建一个数据元素, 然后强制类型转换到这个数据元素. ZTBC_ALV提供了另外一种方式. 就是在ZTBC_ALV中维护视图/字段名的描述. 因为整合在了底层字段描述获取逻辑中. SE16N或相关程序会自行获取字段描述
相关信息详见链接
无峰,公众号:ABAP 技巧与实战SAP小技巧之 改造SE16N(三)
五
动态报表多语言支持
使用其它语言登录并执行动态报表时, 会根据登录语言获取字段描述,同时也会访问ZTBC_ALV中的表/字段的特定语言描述,修正最终显示的描述.
六
总结
在不同项目中对动态报表的应用,会触发更多的调整需求. 期待这些调整能让它更加好用吧.
THE
END
约定
如果你对这篇文章感兴趣,请帮忙点赞,在看,分享.
(如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程. 越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.)
公众号 : syjf1976_abap
ABAP开发技巧
微信号 : 392077
请微信联系管理员:
syjf1976
sharry_xlp
Yannick_Duan
申请进入公众号讨论群提问或者参与话题讨论