当 ABAP 程序中使用 ifthenelse 条件时,除法的问题会导致输出为 0 或 1
问题是,第二个参数是 0,这是一个整数,因此输出始终为一个整数,就好像 ifthenelse 从第二个参数中获取数据类型一样。因此,在您的案例中,如果答案小于 .5,它将转换为 0,如果大于 .5,它将转换为 1。您需要对第二个参数使用 cast 将其转换为十进制数据类型,如下所示
ifthenelse(Query.Den= 0, cast(0, 'Decimal(16, 02)'), Query.Num / Query.Den)
广告