Я изучаю объекты ABAP.Я хотел бы иметь метод объекта, возвращающий упакованный тип числа.Я наконец-то заработал, но я не знаю, правильный ли это путь, и мне нужно еще какое-то объяснение, которое я не могу найти в Интернете.
Для целых чисел это работает нормально:
METHODS: getamount RETURNING VALUE(r) TYPE i,
Для упакованного номера это не так:
METHODS: getamount RETURNING VALUE(r) TYPE p,
Ошибка: тип параметра RETURNING должен быть полностью указан
METHODS: getamount RETURNING VALUE(r) TYPE p LENGTH 10 DECIMALS 3,
Ошибка: тип параметра RETURNING должен быть полностью указан
(1) Есть ли способ заставить его работать с типом p
?
Я заставил его работатьиспользуя dec5_2
:
getamount RETURNING VALUE(r) TYPE dec5_2
(2) Это правильная альтернатива?Есть ли список похожих типов?
Также я нашел это решение , но оно у меня не работает:
CLASS lcl_rowinvoice DEFINITION.
PUBLIC SECTION.
METHODS:
getamount RETURNING VALUE(r) TYPE typeprice,
PRIVATE SECTION.
TYPES:
typeprice TYPE p LENGTH 10 DECIMALS 2,
Неизвестный тип"TYPEPRICE".
(3) Есть ли способ заставить это решение работать?