Расширение длины поля суммы: адаптация кода (2 десятичных знака / 3 десятичных знака)

При подготовке к преобразованию в S/4HANA наша пользовательская проверка кода выдает следующее сообщение об ошибке:

Конфликт старого арифметического типа (тип DMBTR, примечание: 0002610650) P(13,3)

Я воссоздал проблему в простой демонстрационной программе.

DATA: punit TYPE dmbtr,                 "curr(23,2)
      two   TYPE dmbtr VALUE '12.55',   "curr(23,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-ноту 2610650, но не могу найти никакой полезной информации. в этом. Надеюсь, вы можете мне помочь.


person schmelto    schedule 12.01.2021    source источник


Ответы (1)


С новым типом данных 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.
person schmelto    schedule 12.01.2021