Here is a workaround for a problem I had with SAPscript.
I had a requirement to express a large currency amount in words in SAPscript. I wrote a function module where I tried to use the function Z_CIN_SPELL_AMOUNT, but I found out that this function requires a currency field. So I could not pass a currency field directly into a function module from SAPscript.
I tried to remedy this by using the function C14W_CHAR_NUMBER_CONVERSION to convert my text into numbers. But I found out that this function has a limitation of six digits, i.e., it cannot convert a number above six digits. The reason is, it uses the data type ESECOMPAVG, which is based on domain ESDDEC6_4, which is six digits with four decimals. (It also throws an exception if the input exceeds six digits.)
I solved it by defining a data type called ZZDEC10_4, with 10 digits plus four decimals, and created another function using this data type instead.