问题描述
在准备转换为 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.