主要运用了 SPELL_AMOUNT函数,但是这个函数无法识别小数点,只好手动将金额字段拆解为整数部分和小数部分,然后分别调用函数。
SPLIT LV_NU AT '.' INTO LV_ZHENS LV_XIAOS .
CALL FUNCTION 'SPELL_AMOUNT'
EXPORTING
AMOUNT = LV_ZHENS
* CURRENCY = ' '
* FILLER = ' '
LANGUAGE = 'E'
IMPORTING
IN_WORDS = LV_EN
EXCEPTIONS
NOT_FOUND = 1
TOO_LARGE = 2
OTHERS = 3
.
IF SY-SUBRC <> 0.
MESSAGE '错误' TYPE 'S' DISPLAY LIKE 'E'.
ENDIF.
CONCATENATE 'US DOLLAR ' LV_EN-WORD INTO LV_DAXIE.
CALL FUNCTION 'SPELL_AMOUNT'
EXPORTING
AMOUNT = LV_XIAOS
* CURRENCY = ' '
* FILLER =
LANGUAGE = 'E'
IMPORTING
IN_WORDS = LV_EN
EXCEPTIONS
NOT_FOUND = 1
TOO_LARGE = 2
OTHERS = 3
.
IF SY-SUBRC <> 0.
MESSAGE '错误' TYPE 'S' DISPLAY LIKE 'E'.
ENDIF.
CONCATENATE ' POINT' LV_EN-DIG02 LV_EN-DIG01 'ONLY' INTO LV_EN-WORD SEPARATED BY ' '.
CONCATENATE LV_DAXIE LV_EN-WORD INTO LV_DAXIE.
SAP ABAP 将数字金额转换为英文
猜你喜欢
转载自blog.csdn.net/Qunending/article/details/107001690
今日推荐
周排行