动态报表D-Query-新增数量金额字段(从今天起,我有名字了,D-Query
前言:
刚开始设计动态报表程序时,只是打算作为表/视图的呈现工具. 没有考虑更多的报表计算逻辑(反正可以通过CDS视图计算,CDS视图是SAP在ABAP层面提供的一个高级视图工具,可以实现各种功能复杂的视图),但是自己使用一段时间后发现:仅仅为了一个简单的计算逻辑, 还需要去创建一个CDS视图. 这也太麻烦了. 处于偷懒人的惯性思维,决定给动态报表添加一个计算功能(以便以后可以偷懒
开始之前先给字段定义一下:
主键字段: 表或视图的关键字(浅蓝色标记),没有勾选输出会自动带入明细查询(有个开关关闭自动带入明细功能)
关键字段: 非数字/金额的字段,(无色标记-如图的绿色是GUI的背景色)
指标字段: 数量/金额类型的字段(浅红色标记)
备注:通过字段的内在属性自动分类的.无需人工干预
下面开始今天的正文: 怎么添加新的字段并赋予计算逻辑
1. 勾选参照的字段,点击按钮添加新字段(没有行选中,多行选中,如果勾选的字段不是指标字段,都会报错)
2. 在弹窗中输入字段名称
3. 确认后就会增加一个字段
4.和新增指标字段计算逻辑相关属性有两个: 数量/金额的特殊处理 ,字段的SQL表达式(下图是SQL表达式的帮助,用于帮助用户输入正确的SQL表达式)
5.输入SQL表达式后 比如: ZTTS_I~KWMENG * ZTTS_I~KZWI1 就能看到效果了.
6.保存查询,输入退货标记识别字段
7.为指标字段添加特殊功能
8.可以看到,统计结果发生了变化
9.进入明细,可以看出,对于有退货标记的行, 设置指标字段为负数
总结:
1 新增指标字段功能还是很方便的解决了一些需求: 比如通过(数量*单价)计算金额. 或者通过(售价-成本)计算利润等一些相对简单的计算需求
2 如果用户需要一些复杂的计算功能. 还是推荐使用CDS视图.可以实现更多复杂的计算.
该功能放在了新的版本中.