CDS视图中的算术运算问题。

2020-08-19 12:50发布

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

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


嗨,

我正在尝试在另一个CDS视图中添加一个CDS视图的两个字段。 如果任何操作数为零,我将得到零作为输出。

在第一个CDS中,我将求和字段的SUM作为

 @DefaultAggregation:#SUM
  sum(total.tmp_count)作为总数,
  @DefaultAggregation:#SUM
  sum(blank.tmp_count)为空白,
  @DefaultAggregation:#SUM
  sum(error.tmp_count)作为错误

在第二个CDS中,我将字段Total和error添加为

总计,
 错误,
 总计+错误为Total_error
 

,输出为

因此,如果任何操作数(错误/总计)为零,我的输出(总计错误)将为零。

我也尝试了以下情况

  1. 将第一个CDS中的SUM值转换为整数。
  2. 添加前铸造错误和总计为整数。
  3. 将case语句放入错误以检查其是否为零,如果为零,则应仅显示总数,否则显示总数+错误。
  4. 在case语句中,它不接受NULL或'0'。

在所有这些情况下,我都得到相同的输出。

任何输入都会受到赞赏。

(3.6 kB)

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

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


嗨,

我正在尝试在另一个CDS视图中添加一个CDS视图的两个字段。 如果任何操作数为零,我将得到零作为输出。

在第一个CDS中,我将求和字段的SUM作为

 @DefaultAggregation:#SUM
  sum(total.tmp_count)作为总数,
  @DefaultAggregation:#SUM
  sum(blank.tmp_count)为空白,
  @DefaultAggregation:#SUM
  sum(error.tmp_count)作为错误

在第二个CDS中,我将字段Total和error添加为

总计,
 错误,
 总计+错误为Total_error
 

,输出为

因此,如果任何操作数(错误/总计)为零,我的输出(总计错误)将为零。

我也尝试了以下情况

  1. 将第一个CDS中的SUM值转换为整数。
  2. 添加前铸造错误和总计为整数。
  3. 将case语句放入错误以检查其是否为零,如果为零,则应仅显示总数,否则显示总数+错误。
  4. 在case语句中,它不接受NULL或'0'。

在所有这些情况下,我都得到相同的输出。

任何输入都会受到赞赏。

(3.6 kB)
付费偷看设置
发送
10条回答
四川大学会员
1楼-- · 2020-08-19 13:11

我怀疑您是从左外部联接获取"错误"列? 如果是这样,则在未找到满足记录的记录时,结果为NULL。 ANY VALUE + NULL =零的计算。 这就是在这种情况下"总错误"列为零的原因。

更改算术运算
总计+错误为Total_error 

当错误不为null时,则总计+错误

 否则总计结束为Total_error 

希望有帮助。

灬番茄
2楼-- · 2020-08-19 13:09

您能告诉我们您选择的查询吗?

代楠1984
3楼-- · 2020-08-19 13:13

亲爱的保罗,

请尝试以下操作,

(cast(如果total不为null则total否则为0结尾为abap.dec(25,2))+

cast(如果error不为null的情况,则error否则0结尾为abap.dec(25,2)))作为total_error。

致谢

拉加夫

SC_Yao
4楼-- · 2020-08-19 13:25

这类作品。 有其他解决方法吗?

在上面的示例中,他尝试添加2个字段。 但是对于我的情况,我需要添加4个字段。

使用这种方法,我需要创建一个嵌套的案例,这种情况很难理解。

三十六小时_GS
5楼-- · 2020-08-19 13:06

即使我现在也面临着同样的问题。 有解决方案吗?

天桥码农
6楼-- · 2020-08-19 13:30

可能您必须发布整个代码以让我们有更多的想法.....

一周热门 更多>