功能模块SPELL_AMOUNT如何将数字转换为字符串变量?

时间:2018-12-28 22:04:51

标签: sap abap

我试图了解SAP中功能模块SPELL_AMOUNT的源代码,该模块将数字,金额或货币表示形式转换为字母。例如,“ 568”将转换为五百六十八。

但是,当我使用SE37读取FM的源代码时,找不到一段表明数字已转换为字符串的代码。例如,IF int_decimal = 10. APPEND "TEN" INTO in_word

请说明您是否有权访问ABAP源代码

谢谢。

1 个答案:

答案 0 :(得分:4)

功能模块使用存储在数据库表T015Z 中的值(“数字和单词数字”)。
在那里,将不同单位的数字映射到不同语言的单词。 enter image description here

请参见包含LF017F01,格式为ziffern_in_worten(德语为“单词中的数字”)。
该表以FORM t015z_lesen读取到同名(t015z)内部表中。
提取此数据后,将对其进行处理以获取完整数字/金额的文本。 请参阅以下三个子例程调用:

  PERFORM ziffern_in_worten.   "Get data from the database, convert numbers to words
  PERFORM betrag_in_worten.    "Get amount in words
  PERFORM nachkomma_in_worten. "Get decimal part in words

enter image description here