金额字段长度扩展:代码改编2 位小数 / 3 位小数

问题描述

在准备转换为 S/4HANA 时,我们的自定义代码检查会产生以下错误消息:

旧算术类型冲突(类型 DMBTR,注:0002610650)P(13,3)

我在一个简单的演示程序中重现了这个问题。

DATA: punit TYPE dmbtr,"curr(23,2)
      two   TYPE dmbtr VALUE '12.55',2)
      three TYPE menge_d VALUE '5.123'. "quan(13,3)
CATCH SYSTEM-EXCEPTIONS arithmetic_errors = 4.
  punit = two / three.
ENDCATCH.
WRITE (26) punit.

错误在行punit = two / three.

我已经查看了 SAP Note 2610650,但在其中找不到任何有用的信息。希望你能帮助我。

解决方法

使用新数据类型 dmbtr_cs 时效果很好。 (请参阅 SAP 注释 2628040

DATA: punit TYPE dmbtr_cs,two   TYPE dmbtr_cs VALUE '12.55',three TYPE menge_d VALUE '5.123'.

CATCH SYSTEM-EXCEPTIONS arithmetic_errors = 4.
  punit = two / three.
ENDCATCH.

WRITE (26) punit.

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...