一
前言
动态报表D-Query 是一个用于取代标准QUERY的程序.使用动态报表无需写代码,非开发人员也可生成专业的报表程序.
详见动态报表简介
无峰,公众号:ABAP 技巧与实战动态报表D-Query简介
本文主要介绍怎么优化显示动态报表设计中的字段选择
二
字频
如果动态报表关联了几个表比如 EKKO / EKPO /EKET . 这三个标准表都有很多字段. 这样在动态报表的设计界面就会有很多字段,如下图, 需要滚动很多屏幕,才能看完所有的字段.
之前考虑了一个表并非所有字段都有用, 遂引入了一个字频概念, 统计每个表的字频,仅显示存在字频的字段.
详见链接
无峰,公众号:ABAP 技巧与实战动态报表D-Query 通过字频优化字段选择
三
新的问题及解决
但在设计好的动态报表中,因为字段太多. 很难看出究竟哪些字段参与了整个设计. (当然通过执行报表可以根据执行结果看出哪些字段参与了报表设计.但这样似乎挺麻烦,没有一目了然所有配置,并且会漏掉一些特殊设置 ). 所以考虑了新增一组过滤按钮. 可以按照字段是否参与了配置来过滤掉没有参与配置的字段, 这样. 可以通过该过滤按钮直观的看出该动态报表的设计.
如下图,
<<使用>> 按钮可以用来仅显示参与了报表设计的字段. 因为报表的设计由很多配置点组成. 所以需要对所有配置点检查是否设置. 从而确定是否显示该字段.
<<取消字段过滤>>则切换回显示所有字段
四
解决方式
借用了FLAGDEL字段. 首先判断字段的配置点是否存在内容, 如果存在,则设置 FLAGDEL = ‘A’. 后续使用ALV的标准过滤器对FLAGDEL过滤. 这样可以简单的切换过滤和不过滤状态
五
总结
字频过滤及使用过滤优化了动态报表的设计, 让设计者无需面对太多无用的字段. 可以直观的呈现出所需字段或设计好的字段. 方便后续调整.
当然,也可以使用ALV的标准过滤器对某个设计点(比如输出复选框)进行过滤,查看所有输出的字段.