В любом языке неявные преобразования типов всегда были особыми песнями. И у ABAP есть пара фенечек.
И вот пример лесенки:
1. Есть Excel, в котором в ячейке невооружённым взглядом написано:
0
2. Если посмотреть на ячейку вооружённым взглядом, то вместо нуля уже виднеется значение:
-0.0299854666809551
3. Если это значение считывать в ABAP в текстовую переменную, то уже получается:
-2.99854666809551E-02
Предполагаю, что Excel строит из себя умного, и намекает, что числа с таким количеством знаков после запятой следует хранить только с экспонентой
Если присваивать это значение напрямую к типу P, то возникнет ошибка преобразования.
4. Это текстовое значение мы сначала присваиваем типу F и получаем:
-2,9985466680955100E-02
5. А затем уже присваиваем его типу P и получаем
0,03-