批导的时候,数值类型的数据会自动变大,把批导结构中的数值字段定义为字符型,解决了这个问题。但是在做计算的时候要转换回数值类型。
用到以下函数:
DATA: LV_DCPFM TYPE USR01-DCPFM.
DATA: LV_STR TYPE C LENGTH 18.
DATA: LV_OUT TYPE P DECIMALS 2.
SELECT SINGLE DCPFM
INTO LV_DCPFM
FROM USR01
WHERE BNAME EQ SY-UNAME.
CALL FUNCTION 'UNITS_STRING_CONVERT'
EXPORTING
UNITS_STRING = LV_STR "字符类型的数值数据
DCPFM = LV_DCPFM "USR01表中当前用户的配置
* MLLN = 'M'
* TSND = 'T'
IMPORTING
UNITS = LV_OUT "数值类型的字段
EXCEPTIONS
INVALID_TYPE = 1
OTHERS = 2.
OVER……