There is a function module SPELL_AMOUNT that allow us to spell digit numbers in words, however cannot use it in other language other than english or denmark unless we maintain it.
To maintain it, we simply add data in tcode OBA9 and add the following data
ID
|
0
|
0
|
NOL ;
|
ID
|
0
|
1
|
SATU ;
|
ID
|
0
|
2
|
DUA ;
|
ID
|
0
|
3
|
TIGA ;
|
ID
|
0
|
4
|
EMPAT
;
|
ID
|
0
|
5
|
LIMA ;
|
ID
|
0
|
6
|
ENAM ;
|
ID
|
0
|
7
|
TUJUH
;
|
ID
|
0
|
8
|
DELAPAN
;
|
ID
|
0
|
9
|
SEMBILAN
;
|
ID
|
1
|
0
|
SEPULUH
;
|
ID
|
1
|
1
|
SEBELAS
;
|
ID
|
1
|
2
|
DUA
BELAS ;
|
ID
|
1
|
3
|
TIGA
BELAS ;
|
ID
|
1
|
4
|
EMPAT
BELAS ;
|
ID
|
1
|
5
|
LIMA
BELAS ;
|
ID
|
1
|
6
|
ENAM
BELAS ;
|
ID
|
1
|
7
|
TUJUH
BELAS ;
|
ID
|
1
|
8
|
DELAPAN
BELAS ;
|
ID
|
1
|
9
|
SEMBILAN
BELAS ;
|
ID
|
2
|
0
|
DUA
PULUH ;
|
ID
|
2
|
1
|
DUA
PULUH SATU ;
|
ID
|
2
|
2
|
DUA
PULUH DUA ;
|
ID
|
2
|
3
|
DUA
PULUH TIGA ;
|
ID
|
2
|
4
|
DUA
PULUH EMPAT ;
|
ID
|
2
|
5
|
DUA
PULUH LIMA ;
|
ID
|
2
|
6
|
DUA
PULUH ENAM ;
|
ID
|
2
|
7
|
DUA
PULUH TUJUH ;
|
ID
|
2
|
8
|
DUA
PULUH DELAPAN ;
|
ID
|
2
|
9
|
DUA
PULUH SEMBILAN ;
|
ID
|
3
|
0
|
TIGA
PULUH ;
|
ID
|
3
|
1
|
TIGA
PULUH SATU ;
|
ID
|
3
|
2
|
TIGA
PULUH DUA ;
|
ID
|
3
|
3
|
TIGA
PULUH TIGA ;
|
ID
|
3
|
4
|
TIGA
PULUH EMPAT ;
|
ID
|
3
|
5
|
TIGA
PULUH LIMA ;
|
ID
|
3
|
6
|
TIGA
PULUH ENAM ;
|
ID
|
3
|
7
|
TIGA
PULUH TUJUH ;
|
ID
|
3
|
8
|
TIGA
PULUH DELAPAN ;
|
ID
|
3
|
9
|
TIGA
PULUH SEMBILAN ;
|
ID
|
4
|
0
|
EMPAT
PULUH ;
|
ID
|
4
|
1
|
EMPAT
PULUH SATU ;
|
ID
|
4
|
2
|
EMPAT
PULUH DUA ;
|
ID
|
4
|
3
|
EMPAT
PULUH TIGA ;
|
ID
|
4
|
4
|
EMPAT
PULUH EMPAT ;
|
ID
|
4
|
5
|
EMPAT
PULUH LIMA ;
|
ID
|
4
|
6
|
EMPAT
PULUH ENAM ;
|
ID
|
4
|
7
|
EMPAT
PULUH TUJUH ;
|
ID
|
4
|
8
|
EMPAT
PULUH DELAPAN ;
|
ID
|
4
|
9
|
EMPAT
PULUH SEMBILAN ;
|
ID
|
5
|
0
|
LIMA
PULUH ;
|
ID
|
5
|
1
|
LIMA
PULUH SATU ;
|
ID
|
5
|
2
|
LIMA
PULUH DUA ;
|
ID
|
5
|
3
|
LIMA
PULUH TIGA ;
|
ID
|
5
|
4
|
LIMA
PULUH EMPAT ;
|
ID
|
5
|
5
|
LIMA
PULUH LIMA ;
|
ID
|
5
|
6
|
LIMA
PULUH ENAM ;
|
ID
|
5
|
7
|
LIMA
PULUH TUJUH ;
|
ID
|
5
|
8
|
LIMA
PULUH DELAPAN ;
|
ID
|
5
|
9
|
LIMA
PULUH SEMBILAN ;
|
ID
|
6
|
0
|
ENAM
PULUH ;
|
ID
|
6
|
1
|
ENAM
PULUH SATU ;
|
ID
|
6
|
2
|
ENAM
PULUH DUA ;
|
ID
|
6
|
3
|
ENAM
PULUH TIGA ;
|
ID
|
6
|
4
|
ENAM
PULUH EMPAT ;
|
ID
|
6
|
5
|
ENAM
PULUH LIMA ;
|
ID
|
6
|
6
|
ENAM
PULUH ENAM ;
|
ID
|
6
|
7
|
ENAM
PULUH TUJUH ;
|
ID
|
6
|
8
|
ENAM
PULUH DELAPAN ;
|
ID
|
6
|
9
|
ENAM
PULUH SEMBILAN ;
|
ID
|
7
|
0
|
TUJUH
PULUH ;
|
ID
|
7
|
1
|
TUJUH
PULUH SATU ;
|
ID
|
7
|
2
|
TUJUH
PULUH DUA ;
|
ID
|
7
|
3
|
TUJUH
PULUH TIGA ;
|
ID
|
7
|
4
|
TUJUH
PULUH EMPAT ;
|
ID
|
7
|
5
|
TUJUH
PULUH LIMA ;
|
ID
|
7
|
6
|
TUJUH
PULUH ENAM ;
|
ID
|
7
|
7
|
TUJUH
PULUH TUJUH ;
|
ID
|
7
|
8
|
TUJUH
PULUH DELAPAN ;
|
ID
|
7
|
9
|
TUJUH
PULUH SEMBILAN ;
|
ID
|
8
|
0
|
DELAPAN
PULUH ;
|
ID
|
8
|
1
|
DELAPAN
PULUH SATU ;
|
ID
|
8
|
2
|
DELAPAN
PULUH DUA ;
|
ID
|
8
|
3
|
DELAPAN
PULUH TIGA ;
|
ID
|
8
|
4
|
DELAPAN
PULUH EMPAT ;
|
ID
|
8
|
5
|
DELAPAN
PULUH LIMA ;
|
ID
|
8
|
6
|
DELAPAN
PULUH ENAM ;
|
ID
|
8
|
7
|
DELAPAN
PULUH TUJUH ;
|
ID
|
8
|
8
|
DELAPAN
PULUH DELAPAN ;
|
ID
|
8
|
9
|
DELAPAN
PULUH SEMBILAN ;
|
ID
|
9
|
0
|
SEMBILAN
PULUH ;
|
ID
|
9
|
1
|
SEMBILAN
PULUH SATU ;
|
ID
|
9
|
2
|
SEMBILAN
PULUH DUA ;
|
ID
|
9
|
3
|
SEMBILAN
PULUH TIGA ;
|
ID
|
9
|
4
|
SEMBILAN
PULUH EMPAT ;
|
ID
|
9
|
5
|
SEMBILAN
PULUH LIMA ;
|
ID
|
9
|
6
|
SEMBILAN
PULUH ENAM ;
|
ID
|
9
|
7
|
SEMBILAN
PULUH TUJUH ;
|
ID
|
9
|
8
|
SEMBILAN
PULUH DELAPAN ;
|
ID
|
9
|
9
|
SEMBILAN
PULUH SEMBILAN ;
|
ID
|
H
|
1
|
SERATUS
;
|
ID
|
H
|
2
|
DUA
RATUS ;
|
ID
|
H
|
3
|
TIGA
RATUS ;
|
ID
|
H
|
4
|
EMPAT
RATUS ;
|
ID
|
H
|
5
|
LIMA
RATUS ;
|
ID
|
H
|
6
|
ENAM
RATUS ;
|
ID
|
H
|
7
|
TUJUH
RATUS ;
|
ID
|
H
|
8
|
DELAPAN
RATUS ;
|
ID
|
H
|
9
|
SEMBILAN
RATUS ;
|
ID
|
K
|
1
|
SATU
TRILIUN ;
|
ID
|
K
|
=
|
TRILIUN
;
|
ID
|
K
|
>
|
TRILIUN
;
|
ID
|
L
|
1
|
SATU
MILYAR ;
|
ID
|
L
|
=
|
MILYAR
;
|
ID
|
L
|
>
|
MILYAR
;
|
ID
|
M
|
1
|
SATU
JUTA ;
|
ID
|
M
|
=
|
JUTA ;
|
ID
|
M
|
>
|
JUTA ;
|
ID
|
T
|
1
|
SERIBU
;
|
ID
|
T
|
>
|
RIBU ;
|
Next, we can use the FM to our code.
CALL FUNCTION 'SPELL_AMOUNT'
EXPORTING
amount = gs_0100-total " Amount/Number to Be Spelled Out
currency = 'IDR' " Currency for Amounts, Blank for Numbers
filler = space " Filler for Padding the Output Field
language = 'i' " Language Indicator
IMPORTING
in_words = v_in_words. " Character String with Amount/Number Spelled Out