SAP提供了一个 SPELL_AMOUNT 函数进行大小写转换,但是我不太会用,转换后还要把英文替换成中文,所以就自己写了一个。
FUNCTION Z_DIGITAL_LOWER_TO_UPPER.
*"----------------------------------------------------------------------
*"*"Local interface:
*" IMPORTING
*" VALUE(DIGITALIN) TYPE C
*" EXPORTING
*" VALUE(DIGITALOUT) TYPE C
*"----------------------------------------------------------------------
IF digitalin = '0'.
digitalout = '零'.
ELSEIF digitalin = '1'.
digitalout = '壹'.
ELSEIF digitalin = '2'.
digitalout = '贰'.
ELSEIF digitalin = '3'.
digitalout = '叁'.
ELSEIF digitalin = '4'.
digitalout = '肆'.
ELSEIF digitalin = '5'.
digitalout = '伍'.
ELSEIF digitalin = '6'.
digitalout = '陆'.
ELSEIF digitalin = '7'.
digitalout = '柒'.
ELSEIF digitalin = '8'.
digitalout = '捌'.
ELSEIF digitalin = '9'.
digitalout = '玖'.
ELSE.
digitalout = '×'.
ENDIF.
ENDFUNCTION.
FUNCTION Z_MONEY_LOWER_TO_UPPER.
*"----------------------------------------------------------------------
*"*"Local interface:
*" IMPORTING
*" VALUE(MONEYIN) TYPE P
*" EXPORTING
*" VALUE(MONEYOUT) TYPE C
*" VALUE(MONEYSPLIT) LIKE ZMONEYSPLIT STRUCTURE ZMONEYSPLIT
*"----------------------------------------------------------------------
DATA: ipos TYPE I,
iwan TYPE I,
imod TYPE I,
pin TYPE P DECIMALS 2,
strint TYPE C LENGTH 10,
strdec TYPE C LENGTH 3,
&nbs

本文介绍了如何在SAP中自定义函数转换人民币金额小写到大写,包括个位、十位、百位、千位、万位及小数部分的转换方法,以及对特定字符串的清理优化。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



