原创 无峰 [ ABAP 技巧与实战 ](javascript:void\(0\);)
一
前言
动态报表D-Query 是一个用于取代标准QUERY的程序.使用动态报表无需写代码,非开发人员也可生成专业的报表程序.
> 详见动态报表简介 无峰,公众号:ABAP 技巧与实战 [ 动态报表D-Query简介
> ](http://mp.weixin.qq.com/s?__biz=Mzg4MjA1MjE4NQ==&mid=2247486429&idx=1&sn=8cbab08040255baa4c7495e6e106230d&chksm=cf5dd6ebf82a5ffdf6cd2cca5ef3b3a298dcb7e3aac2b4cae5073af9c6720bf57b5544c57a49#rd)
**本文主要介绍动态报表中的字段描述调整及多语言支持**
二
标准字段描述调整
改变数据元素是调整字段描述最好的办法. 新增的动态报表会自动获取调整后的描述.
如果是自定义字段,通过数据元素维护字段的描述. 通过翻译功能实现字段的多语言描述
> 详见快速翻译 无峰,公众号:ABAP 技巧与实战 [ SAP开发框架系列之 快速翻译功能
> ](http://mp.weixin.qq.com/s?__biz=Mzg4MjA1MjE4NQ==&mid=2247484821&idx=1&sn=33c30a82c2cfc70d740662938061466b&chksm=cf5dd8a3f82a51b5dfd8befe5a1c52d3a8893c903a06c90674b04c6a3b149c824a32088dedb6#rd)
如果尝试修改标准字段的描述. 则可以使用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(三)
> ](http://mp.weixin.qq.com/s?__biz=Mzg4MjA1MjE4NQ==&mid=2247485310&idx=1&sn=553de71b38de7b5ced176b766ccb67ad&chksm=cf5dda48f82a535eb1a46435f08ec10410d7a0c8a0357117442a5e363f56e27894b464003307#rd)
五
动态报表多语言支持
使用其它语言登录并执行动态报表时, 会根据登录语言获取字段描述,同时也会访问ZTBC_ALV中的表/字段的特定语言描述,修正最终显示的描述.
六
总结
在不同项目中对动态报表的应用,会触发更多的调整需求. 期待这些调整能让它更加好用吧.
** THE **
** END **
**约定**
如果你对这篇文章感兴趣,请帮忙点赞,在看,分享.
( **如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程.
越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.** )
**公众号 : syjf1976_abap**
**ABAP开发技巧**
**微信号 : 392077**
syjf1976
sharry_xlp
Yannick_Duan
申请进入公众号讨论群提问或者参与话题讨论