Hello Team, Thank you for all your valuable help. Thank you Sifiso. Thank you Sangamesh, that exactly is the help I wanted and expected. I was reading about MySQL functions of converting number to word & You have understood my query. I am gonna implement it now and let you know the result mate.
Regards, Abiy A. On Mon, Feb 4, 2019 at 2:29 PM sangamesh n <sangameshc...@gmail.com> wrote: > Dear Abiy, > > Please find the attached screen shot. > > Thanks, > > On Fri, Feb 8, 2019 at 4:48 PM sangamesh n <sangameshc...@gmail.com> > wrote: > >> Hello Abiy, >> >> Que - What I understand is that you want to fetch the Numbers and convert >> it into Words automatically using Pentaho, right? >> Ans - Not sure if Penatho can convert numbers into words.But you could >> convert it through mysql stored routines/functions and fetch result into >> pentaho. To do that, Please follow steps as mentioned below:- >> >> *Step 1* - Go to Heidisql tool, Select database then right click on that >> and click on *Create new* - *Stored routine*. >> Then update the values as mentioned below: >> >> *a) Under Options:- * >> Name - number_to_word >> Definer - root@localhost >> Type - Function (returns as result) >> Data access - Contains SQL >> Returns - text >> SQL security - Definer >> >> *b) Under Routine body:- *Copy and replace below content >> BEGIN >> -- This function returns the string representation of a number. >> -- It's just an example... I'll restrict it to hundreds, but >> -- it can be extended easily. >> -- The idea is: >> -- For each digit you need a position, >> -- For each position, you assign a string >> declare ans varchar(500); >> declare dig1, dig2, dig3, dig4, dig5, dig6 int; >> >> set ans = ''; >> >> set dig6 = CAST(RIGHT(CAST(floor(n / 100000) as CHAR(8)), 1) as SIGNED); >> set dig5 = CAST(RIGHT(CAST(floor(n / 10000) as CHAR(8)), 1) as SIGNED); >> set dig4 = CAST(RIGHT(CAST(floor(n / 1000) as CHAR(8)), 1) as SIGNED); >> set dig3 = CAST(RIGHT(CAST(floor(n / 100) as CHAR(8)), 1) as SIGNED); >> set dig2 = CAST(RIGHT(CAST(floor(n / 10) as CHAR(8)), 1) as SIGNED); >> set dig1 = CAST(RIGHT(floor(n), 1) as SIGNED); >> >> if dig6 > 0 then >> case >> when dig6=1 then set ans=concat(ans, 'one lakh'); >> when dig6=2 then set ans=concat(ans, 'two lakh'); >> when dig6=3 then set ans=concat(ans, 'three lakh'); >> when dig6=4 then set ans=concat(ans, 'four lakh'); >> when dig6=5 then set ans=concat(ans, 'five lakh'); >> when dig6=6 then set ans=concat(ans, 'six lakh'); >> when dig6=7 then set ans=concat(ans, 'seven lakh'); >> when dig6=8 then set ans=concat(ans, 'eight lakh'); >> when dig6=9 then set ans=concat(ans, 'nine lakh'); >> else set ans = ans; >> end case; >> end if; >> >> if dig5 = 1 then >> case >> when (dig5*10 + dig4) = 10 then set ans=concat(ans, ' ten >> thousand '); >> when (dig5*10 + dig4) = 11 then set ans=concat(ans, ' eleven >> thousand '); >> when (dig5*10 + dig4) = 12 then set ans=concat(ans, ' twelve >> thousand '); >> when (dig5*10 + dig4) = 13 then set ans=concat(ans, ' thirteen >> thousand '); >> when (dig5*10 + dig4) = 14 then set ans=concat(ans, ' fourteen >> thousand '); >> when (dig5*10 + dig4) = 15 then set ans=concat(ans, ' fifteen >> thousand '); >> when (dig5*10 + dig4) = 16 then set ans=concat(ans, ' sixteen >> thousand '); >> when (dig5*10 + dig4) = 17 then set ans=concat(ans, ' seventeen >> thousand '); >> when (dig5*10 + dig4) = 18 then set ans=concat(ans, ' eighteen >> thousand '); >> when (dig5*10 + dig4) = 19 then set ans=concat(ans, ' nineteen >> thousand '); >> else set ans=ans; >> end case; >> else >> if dig5 > 0 then >> case >> when dig5=2 then set ans=concat(ans, ' twenty'); >> when dig5=3 then set ans=concat(ans, ' thirty'); >> when dig5=4 then set ans=concat(ans, ' fourty'); >> when dig5=5 then set ans=concat(ans, ' fifty'); >> when dig5=6 then set ans=concat(ans, ' sixty'); >> when dig5=7 then set ans=concat(ans, ' seventy'); >> when dig5=8 then set ans=concat(ans, ' eighty'); >> when dig5=9 then set ans=concat(ans, ' ninety'); >> else set ans=ans; >> end case; >> end if; >> if dig4 > 0 then >> case >> when dig4=1 then set ans=concat(ans, ' one thousand '); >> when dig4=2 then set ans=concat(ans, ' two thousand '); >> when dig4=3 then set ans=concat(ans, ' three thousand '); >> when dig4=4 then set ans=concat(ans, ' four thousand '); >> when dig4=5 then set ans=concat(ans, ' five thousand '); >> when dig4=6 then set ans=concat(ans, ' six thousand '); >> when dig4=7 then set ans=concat(ans, ' seven thousand '); >> when dig4=8 then set ans=concat(ans, ' eight thousand '); >> when dig4=9 then set ans=concat(ans, ' nine thousand '); >> else set ans=ans; >> end case; >> end if; >> if dig4 = 0 AND (dig5 != 0 || dig6 != 0) then >> set ans=concat(ans, ' thousand '); >> end if; >> end if; >> >> if dig3 > 0 then >> case >> when dig3=1 then set ans=concat(ans, 'one hundred'); >> when dig3=2 then set ans=concat(ans, 'two hundred'); >> when dig3=3 then set ans=concat(ans, 'three hundred'); >> when dig3=4 then set ans=concat(ans, 'four hundred'); >> when dig3=5 then set ans=concat(ans, 'five hundred'); >> when dig3=6 then set ans=concat(ans, 'six hundred'); >> when dig3=7 then set ans=concat(ans, 'seven hundred'); >> when dig3=8 then set ans=concat(ans, 'eight hundred'); >> when dig3=9 then set ans=concat(ans, 'nine hundred'); >> else set ans = ans; >> end case; >> end if; >> >> if dig2 = 1 then >> case >> when (dig2*10 + dig1) = 10 then set ans=concat(ans, ' ten'); >> when (dig2*10 + dig1) = 11 then set ans=concat(ans, ' eleven'); >> when (dig2*10 + dig1) = 12 then set ans=concat(ans, ' twelve'); >> when (dig2*10 + dig1) = 13 then set ans=concat(ans, ' thirteen'); >> when (dig2*10 + dig1) = 14 then set ans=concat(ans, ' fourteen'); >> when (dig2*10 + dig1) = 15 then set ans=concat(ans, ' fifteen'); >> when (dig2*10 + dig1) = 16 then set ans=concat(ans, ' sixteen'); >> when (dig2*10 + dig1) = 17 then set ans=concat(ans, ' seventeen'); >> when (dig2*10 + dig1) = 18 then set ans=concat(ans, ' eighteen'); >> when (dig2*10 + dig1) = 19 then set ans=concat(ans, ' nineteen'); >> else set ans=ans; >> end case; >> else >> if dig2 > 0 then >> case >> when dig2=2 then set ans=concat(ans, ' twenty'); >> when dig2=3 then set ans=concat(ans, ' thirty'); >> when dig2=4 then set ans=concat(ans, ' fourty'); >> when dig2=5 then set ans=concat(ans, ' fifty'); >> when dig2=6 then set ans=concat(ans, ' sixty'); >> when dig2=7 then set ans=concat(ans, ' seventy'); >> when dig2=8 then set ans=concat(ans, ' eighty'); >> when dig2=9 then set ans=concat(ans, ' ninety'); >> else set ans=ans; >> end case; >> end if; >> if dig1 > 0 then >> case >> when dig1=1 then set ans=concat(ans, ' one'); >> when dig1=2 then set ans=concat(ans, ' two'); >> when dig1=3 then set ans=concat(ans, ' three'); >> when dig1=4 then set ans=concat(ans, ' four'); >> when dig1=5 then set ans=concat(ans, ' five'); >> when dig1=6 then set ans=concat(ans, ' six'); >> when dig1=7 then set ans=concat(ans, ' seven'); >> when dig1=8 then set ans=concat(ans, ' eight'); >> when dig1=9 then set ans=concat(ans, ' nine'); >> else set ans=ans; >> end case; >> end if; >> end if; >> >> return trim(ans); >> END >> >> *c)Under Parameter:- * >> Click on Add button and type n >> >> d) Click on *Save *button. >> >> *Step 2 *- Test if the value in number converts into word by using >> select query:- >> *select number_to_word(round(x.principal_amount)) from m_loan x where >> x.id <http://x.id>=5* >> >> Output will show in words for example- >> *fifty thousand. * >> >> *Step 3-* Now you could write your sql query and use that in pentaho >> designer and generate pentaho report. >> >> Thanks, >> Sangamesh.Nadagoudar >> Skype - sangamesh.n >> >> >> On Mon, Feb 4, 2019 at 2:47 PM A A <abiy...@gmail.com> wrote: >> >>> Dear All, >>> >>> I am having difficulties in converting the numbers to words in document >>> outputs. Which I need to use for printing receipts. How can I do this? Any >>> ideas? >>> >>> Regards, >>> Abiy A. >>> >>> Mifos-developer mailing list >>> mifos-develo...@lists.sourceforge.net >>> Unsubscribe or change settings at: >>> https://lists.sourceforge.net/lists/listinfo/mifos-developer >> >> Mifos-developer mailing list > mifos-develo...@lists.sourceforge.net > Unsubscribe or change settings at: > https://lists.sourceforge.net/lists/listinfo/mifos-developer
_______________________________________________ Mifos-users mailing list Mifos-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mifos-users