使用函数CSAP_MAT_BOM_READ读取物料BOM的时候,传出参数的数量是字符格式,如果直接赋值给数字格式的字段,就会导致系统dump
因此,在赋值前要转化数量的格式,转化成数字格式才行。
以下代码用于数量字符格式到数字格式的转化,请指教。
DATA: LV_DCPFM TYPE USR01-DCPFM.
SELECT SINGLE DCPFM
FROM USR01
INTO LV_DCPFM
WHERE BNAME = SY-UNAME.
PERFORM FRM_UNIT_CONVERT USING LS_STPO-COMP_QTY
LV_DCPFM
CHANGING LV_MENGE.
FORM FRM_UNIT_CONVERT USING PV_QUAN
PV_DCPFM
CHANGING PV_MENGE.
DATA: LV_MENGE TYPE STPO-MENGE.
CLEAR: LV_MENGE,PV_MENGE.
IF PV_QUAN IS NOT INITIAL.
CALL FUNCTION 'UNITS_STRING_CONVERT'
EXPORTING
UNITS_STRING = PV_QUAN
DCPFM = PV_DCPFM
IMPORTING
UNITS = LV_MENGE
EXCEPTIONS
INVALID_TYPE = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ELSE.
PV_MENGE = LV_MENGE.
ENDIF.
ENDIF.
ENDFORM. " FRM_UNIT_CONVERT