我正在学习 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) 有没有办法使这个解决方案起作用?