Wednesday, December 6, 2017

Spell Digit Numbers in Indonesia

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


No comments:

Post a Comment