Amount in Arabic

Hi All
We have developed a Bi-lingual form (English and Arabic) with arabic as original language.
we need to display a value field(amount) in arabic and english.
We have amount in english like 81,321.50 .
How to display amount in arabic ? Numericals should be in arabic language.
As we didn't find a solution for this , we had created a Z FM to convert this amount into arabic amount.
Now we have issue with comma. Conversion is working fine and in print preview it is displayed properly.
But when we print this form, everything is printed properly as in print preview except COMMA. Comma (,) is printed as a mirror image.
Thanks in advance.
Regards
Sunil

Hello,
You can use function module SPELL_AMOUNT in Arabic.
Check SAP notes 1357190 and 1417027.
Regards,
David

Similar Messages

  • Error whlle translating Amount into Arabic

    Hi,
    I designed SAP SCRIPT for Automatic Payment Transactions (F110).
    this transaction is using standrd driver program RFFOD__T.
    When Im executing into arabic i get the error
    Entry AR H 3 in table T015Z does not have a delimiter (;).
    I have already Checked the table T015Z and it contain entries in arabic but ends with arabic semicolon
    KINDLY HELP

    Hi MAX,
    I have checked and debugged the program and found this :
    in FORM schreiben.
    IF t015z-wort NA ';'.                "Abbruch bei fehlendem Delimiter
        MESSAGE a076 WITH t015z-spras t015z-einh t015z-ziff.
      ELSE.
        spell-word(30) = t015z-wort.
        WHILE spell-word(1) NE ';'.
          SHIFT spell-word CIRCULAR.
        ENDWHILE.                          "Betrag in Worten ist nun ohne
        spell-word(30) = space.            "Delimiter rechtsbündig zugefügt
      ENDIF.
    where as when i checked in Table T015Z for arabic language the semicolon is in arabic form (؛) and not in english (

  • Arabic SubTotals in Adobe Form Page.

    Hi Everyone,
    I have a requirement of printing Subtotals of a table in Arabic as well as English on the same page for all pages in the form.
    FYI i have made a function module to convert english digits into arabic, which i use in my code to convert english amounts to arabic amounts.
    Like -
    CALL FUNCTION 'ZJP_M_ARABIC_NUMERALS'
    EXPORTING ENGLISH = V_AMOUNT
    IMPORTING ARABIC = V_AMOUNT_AR.
    This gives me the arabic amount.
    Now i am printing english subtotals using the javascript code :
    var fields = xfa.layout.pageContent(xfa.layout.page(this)-1, "field", 0);
    var total = 0;
    for (var i=0; i <= fields.length-1; i++) {
    if (fields.item(i).name == "AMOUNT") {
    total = total + fields.item(i).rawValue;
    this.rawValue = total;
    Through this code i am able to get the english subtotal in my offline adobe form.
    My PROBLEM is - how do i use this english subtotal generated via javascript to convert it into arabic subtotal (using the FM)
    for each page.
    Any help is highly appreciated..!!
    Thanks,
    Piyush.

    Hi Piyush,
    Check this below link set locales for a field using java script this might help if you are looking for @ scripting
    /people/raghavendra.prabhu/blog/2010/12/17/currencynumber-formatting-in-hcm-forms
    I have 2 approaches (hopefully both of them will work).
    1)  Have a hidden field with arabic locale, in your loop keep adding values to this field.
    2) have the required field on the form set the locale to arabic, just assign the english value to this field. (if both english and arabic totals are from same records and same values mathematically then only the presentation locale is different but the value sud be the same right).
    If I am wrong understanding your requirement, please explain what is the difference ...?
    Cheers,
    Sai

  • You purchase properties in Arab game (Sultan desert), while the procurement process and the discount amount lost contact wrote the running game has been cooperation from them but the problem!  I can't buy any properties in the game itself and the science

    You purchase properties in Arab game (Sultan desert), while the procurement process and the discount amount lost contact wrote the running game has been cooperation from them but the problem! 
    I can't buy any properties in the game itself and the science I don't use jailbreak and two free jailbreak is there a program hindered the procurement process so that I can buy anything from the store

    Hello milkisoo,
    Wow! Purchasing a new computer and monitor should be a fun and exciting experience, and instead, it sounds like it’s turned into a complete nightmare. I can only imagine your disappointment when you found two charges relating to its purchase on your debit card account, and I’m sorry for any aggravation this caused. 
    As I want to provide you some piece of mind, I pulled up your order number using your email address attached to the forum. After review of its payment information, I found we collected only one payment.  However, when orders are first placed on BestBuy.com, a pending authorization should show up on your bank card to make sure funds are available for the order until it is fulfilled. From there, the authorization should drop off and the collection charge should appear.  This is the case for your one charge of $1,051.69.
    It also sounds like an error may have occurred when you initially attempted to place your order,  resulting in one of your gift cards not registering properly and the order not being completed.  Your card’s issuing bank doesn’t appear to have recognized this and pushed through the pending authorization. This occurred a second time when your account information didn’t quite match up with what we had on file. Please know that we haven’t ordered a collection of these funds and your issuing bank should release the two pending authorizations within 5 to 7 business days.
    Thank you for posting.
    Alex|Social Media Specialist | Best Buy® Corporate
     Private Message

  • My calendar is in arabic langauge,how can i make it english?even the chios amount in my poker game it shows squares not numbers.but my ipad is in english already.

    my calendar is in arabic langauge,how can i make it english?even the chips amount in my poker game it shows squares not numbers.but my ipad is in english already.

    Make sure you have set the REGION to one where English is spoken.

  • Amount in Words using SPELL_Amount in Arabic Smart-forms

    I am facing the difficulty during the step in smartform printing. Client is to have a printout in Bi-lingual (english+arabic), Arabic is printing fine. The maintenance language of smartform is arabic.
    Problem arises:
    I am using the function SPELL_AMOUNT to get the "Amount in Words" of Gross Value. In the print preview and printout, "Amount is words" are appearing as jumbled. for example,
    Gross Value  238,476.00 SAR
    Expected Amount in Words Two Hundred Thirty-Eight Thousand Four hundred Seventy-Six.
    Appearing Amount in Words Seventy-Six Two Hundred Thirty-Eight Thousand Four Hundred.
    Waiting for your valuable inputs.

    Hi,
    Try the below code:
    Pass the amount after Decimal to the Spell amount seperately and then concatenate the two parts of the amount.
    For example : 30.60 USD
    Store the amount in a character string. Split the string at decimal point using a SPLIT statement.
    DATA: amount_total(10),
    round(7),
    dec_part(3).
    DATA: dec(1) TYPE c VALUE '.',
    amount_total = '30.69'.
    SPLIT amount_total AT dec INTO round dec_part.
    First pass variable 'round' to Spell_amount and then in the second call pass variable 'Dec_PART' and concatenate the two results.
    Regards,
    sirisha.

  • Printing date in arabic numerals

    hi
    i am having a project in vs 2005 aspnet and using cr xi r2 . i am exporting to pdf before printing. i am able to get the arabic contents but the numbers i.e the amount and the date are coming in english. i have set   regional settings to arabic - sa and also set the digit substituion to national. The funny thing is that when i run the project from the source then its prints as required the numeral  in arabic but when i puiblish it on the server then i am unable to print it in arabic.. I have installed acrobat 9 pro on the server.
    kindly let me know the settings i need to do on the server side or client side
    Any help will be appreciated

    It could also be a font issue. You may not have the required unicode fonts installed on your server. You should export the report to PDF format on the server and your dev box. Then copy and paste the text from your report into Microsoft Word to see what font is used.
    Other utilities you could use here to investigate what is going on are [modules|https://smpdl.sap-ag.de/~sapidp/012002523100006252802008E/modules.zip] and [Process Monitor|http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx].
    The modules utility will allow you to compare your runtime environments. You may find a difference between development and production.
    The Process Monitor may assist you finding problems your app has accessing key files or registry keys on your production system.

  • I am an iphone4 user from United Arab Emirates with home button/MIC not working during call problems..

    hi, i am an iphone4 user from the United Arab Emirates. I got my phone as a gift last September and it was not bundled with any carriers and was a factory unlocked piece. Within one month of usage the home button started misfunctioning. It started registering double clicks as single, triple clicks, etc. (the usual complaint of many countless users of iphone from the time of the release.) I then kind of ignored this problem and continued using the phone.
    With this problem still continuing, comes another one.
    My friend gave me a call yesterday, and we were talking happily for a minute or so and suddenly without any reason my friend failed to hear me. Five minutes was spent trying to make myself heard to him. I tried and i tried and the only solution i could find was tapping the phone gently,but firmly. Then he was able to hear me but then after sometime it was back to the same problem.
    The only solution i found was to tap in th sides.(please note that this is also a common problem with many who have call problems but no voice memo problems.) I tried adding and registering my device to my account but when i try to put in my iphone's serial number,they say that the device number is invalid.
    Now i want to get a solution to this, but since this was a gift piece i do not have any invoice of any sort. I even checked itunes.com/support and was happy to find i still have warranty till september.
    I am confused as to what to do as I was dissappointed to find even a single apple store in the UAE and do not know what do we get in terms of support. Could someone please help me?

    that is exactly the problem. I have no idea as in where this phone originates from. It was gifted to my Dad from a personnel who he was supplying for in the company. My dad then gifted it to me on my birthday. I asked my dad about the phone but he also does not know a thing. He also said that the other guy must have taken the invoice with him as he did not give anything to my dad.
    I checked it in quite a few places (like SharafDG,eMax,Axiom etc., the local electronics suppliers) to track where this phone was originally purchased from( because these people usually take down the IMEI's of the electronic devices they sell), but they all could not help me.
    Now i have no idea what to do and i do not want to spend huge amounts of cash for this matter as i am already in the warranty period. Anyways,thanks for your help in advance, but it would be helpful if you could try to get this solved for me.

  • Arabic fonts not working in Illustrator CS4 on MacBook Pro

    I have a bunch of Arabic fonts installed on my computer but can't use them on Illustrator.
    For some reason, they are on my dropdown Font list but Illustrator is not letting me use them.
    Arabic letters are meant to be connected to one another to form words and the fonts are not being applied correctly. The letters come out separated instead of connected.
    Do I need to download something to be able to use them?
    Thanks!

    To  be more precise what is required is the Illustrator ME or on of the Suites also the ME version, which is the Middle East version. Adobe designates the version using the intials ME.
    That will work with both Arabic and Hebrew.
    Otherwise you have to one type backwards and use tracking of a negative amount sufficient to have the letters touch and make a character style and apply it to all text you  want arabic.
    Best to have the ME version.

  • I've developed classes to convert amount into it's phrase representation

    Hi everybody!
    Example:
    Number 25 can be converted into the phrase "twenty five"
    or even into "twenty five Canadian Dollars" for english language, Canadian currency
    This functionality can be supplied for major languages like Russian, German,
    Spanish. French, Chinese, Hindi etc. All of these languages might have their
    own specifics.
    In future end-users will to be able to use this functionality via Web-services.
    I also look forward to find reliable web site where We can host this web service and front-end servlet which will show this phrase based on { amount, language, currency } selected. That everybody can recieve it electronically via xml request or just copy result phrase from web page . Please send me a list of companies who potentially interested to host it including detailed info of Company/Persons name and his/her e-mail if possible.
    I'm going to post them at apache.org but for now I've attached source code below
    for your feedbacks and if somebody wants to join to me to implement some languages like french, spanish etc. Currency feature will be ready when I have more languages supporrt.
    Author Igor Artimenko my e-mail is <[email protected]>
    package org.apache.bussinessapi.test;
    import org.apache.bussinessapi.AmountByWord;
    * Test case prototype
    * @author Igor Artimenko <[email protected]>
    * @version 1.0 Initial draft for review
    * Created on Jun 5, 2003
    public class TestAmountByWord
         public TestAmountByWord()
              double array[] = { 123456789777L, -627845, 300.84, 670, 30, -100, -56879, 1008, 37, 205100, 0, 3000.67 };
              AmountByWord amountByWord = new AmountByWord();
              amountByWord.setLanguage( "en" );
              amountByWord.setCurrency( "en" );
              for (int i = 0; i < array.length; i++)
                   System.out.println( array[ i ] );
                   try {
                        System.out.println( amountByWord.getAmountByWord( array[ i ] ) );
                   } catch (Exception e) {
                        e.printStackTrace();
                   System.out.println( "---------------------------------" );               
         public static void main(String[] args)
              TestAmountByWord test = new TestAmountByWord();
    package org.apache.bussinessapi;
    * Usially used class to get string representation of the number
    * in the human-readable format
    * @author Igor Artimenko <[email protected]>
    * @version 1.0 Initial draft for review
    * Created on Jun 5, 2003
    public class AmountByWord implements IAmountByWord
         private String language;
         private String currency;
         private String amountByWord;
         * Constructor AmountByWord
         public AmountByWord()
              super();
         * Method getAmountByWord is the most important method
         * @param amount to be represented in the human-readable format
         * @return String the phrase representation of number
         public String getAmountByWord( double amount ) throws Exception
              StringBuffer resultAmount = new StringBuffer();
              IAmountByWord amountByWord = null;
              //     First, create an appropriate instance
              try
                   if ( language == null )
                        throw new Exception( "Language has not been assigned yet" );                    
                   else if ( currency == null )
                        throw new Exception( "Currency has not been assigned yet" );                    
                   Class cl = Class.forName( "org.apache.bussinessapi.AmountByWord".concat( language ) );
                   try
                        amountByWord = (IAmountByWord) cl.newInstance();
                   catch ( InstantiationException e )
                        throw new Exception( "can not be instantiated" );
                   } // catch
                   catch ( IllegalAccessException e )
                        throw new Exception(
                             "IllegalAccessException arrised during instantiating of " );
                   }     // catch
              } // try
              catch ( ClassNotFoundException e )
                   throw new Exception( "Class could not be found " );
              } // catch
              // for now the number only
              return amountByWord.getAmountByWord( amount );
         * Method getMoneyAmountByWord is the most important method
         * @param amount to be represented in the human-readable format
         * @return String the phrase representation of number
         public String getMoneyAmountByWord( double amount ) throws Exception
              StringBuffer resultAmount = new StringBuffer();
              IAmountByWord amountByWord = null;
              //     First, create an appropriate instance
              try
                   if ( language == null )
                        throw new Exception( "Language has not been assigned yet" );                    
                   else if ( currency == null )
                        throw new Exception( "Currency has not been assigned yet" );                    
                   Class cl = Class.forName( "org.apache.bussinessapi.AmountByWord".concat( language ) );
                   try
                        amountByWord = (IAmountByWord) cl.newInstance();
                   catch ( InstantiationException e )
                        throw new Exception( "can not be instantiated" );
                   } // catch
                   catch ( IllegalAccessException e )
                        throw new Exception(
                             "IllegalAccessException arrised during instantiating of " );
                   }     // catch
              } // try
              catch ( ClassNotFoundException e )
                   throw new Exception( "Class could not be found " );
              } // catch
              // for now the number only
              return amountByWord.getMoneyAmountByWord( amount );
         * getCurrency Method
         * @return To retrieve currency code currently used
         public String getCurrency()
              return currency;
         * getLanguage
         * @return To retrieve Language locale code currently used
         public String getLanguage()
              return language;
         * setCurrency
         * @return To setup Currency locale code to be used
         public void setCurrency( String currency )
              this.currency = currency;
         * setLanguage
         * @return To setup Language locale code to be used
         public void setLanguage( String language )
              this.language = language;
    package org.apache.bussinessapi;
    import java.util.Properties;
    * The purpose is to return string representation on the number
    * in the human-readable format based on English grammar
    * Generally you can use this class as a base for your own language
    * like Russian, German, Spanish, French etc.
    * They must implement IAmountByWord interface
    * @author Igor Artimenko <[email protected]>
    * @version 1.0 Initial draft for review
    * Created on Jun 5, 2003
    public class AmountByWorden implements IAmountByWord
         final private Properties langTokens = new Properties();
         AmountByWorden()
              langTokens.put( "0", "zero" );          
              langTokens.put( "1", "one" );
              langTokens.put( "2", "two" );
              langTokens.put( "3", "three" );
              langTokens.put( "4", "four" );
              langTokens.put( "5", "five" );
              langTokens.put( "6", "six" );
              langTokens.put( "7", "seven" );
              langTokens.put( "8", "eight" );
              langTokens.put( "9", "nine" );
              langTokens.put( "10", "ten" );
              langTokens.put( "11", "eleven" );
              langTokens.put( "12", "twelve" );
              langTokens.put( "13", "thirteen" );
              langTokens.put( "14", "fourteen" );
              langTokens.put( "15", "fifteen" );
              langTokens.put( "16", "sixteen" );
              langTokens.put( "17", "seventeen" );
              langTokens.put( "18", "eighteen" );          
              langTokens.put( "19", "nineteen" );
              langTokens.put( "20", "twenty" );
              langTokens.put( "30", "thirty" );
              langTokens.put( "40", "fourty" );
              langTokens.put( "50", "fifty" );
              langTokens.put( "60", "sixty" );
              langTokens.put( "70", "seventy" );
              langTokens.put( "80", "eighty" );
              langTokens.put( "90", "ninety" );
              langTokens.put( "100", "hundred" );          
              langTokens.put( "1000", "thousand" );
              langTokens.put( "1000000", "million" );
              langTokens.put( "1000000000", "billion" );
              langTokens.put( "1000000000000L", "trillion" );
              langTokens.put( "minus", "minus" );
              langTokens.put( "and", "and" );
              langTokens.put( "point", "point" );
         /* (non-Javadoc)      
         * It does not yet working. Proper implementation coming soon.
         * @see org.apache.bussinessapi.IAmountByWord#getAmountByWord(double)
         public String getAmountByWord( double amount ) throws Exception
              NumberByWord numberByWord = new NumberByWord();
              StringBuffer fullNumber = new StringBuffer();
              numberByWord.setLanguageTokens( langTokens );
              // also should be replaced by full phrase
              fullNumber = fullNumber.append(
                        numberByWord.getNumberByWord( (long) amount ).trim() );
              // for now 2 numbers after .
              int theRest = (int) ( ( amount - (long) amount ) * 100 );
              if ( theRest != 0 )
                   fullNumber.append( " " ). append( langTokens.get( "point" ) ).
                             append( " " ).append(     
                             numberByWord.getNumberByWord( (long) theRest ).trim() );
              return fullNumber.toString();           
         /* (non-Javadoc)      
         * It does not yet working. Proper implementation coming soon.
         * @see org.apache.bussinessapi.IAmountByWord#getMoneyAmountByWord(double)
         public String getMoneyAmountByWord( double amount ) throws Exception
              NumberByWord numberByWord = new NumberByWord();
              StringBuffer fullNumber = new StringBuffer();
              numberByWord.setLanguageTokens( langTokens );
              // also should be replaced by full phrase
              fullNumber = fullNumber.append(
                        numberByWord.getNumberByWord( (long) amount ).trim() );
              // for now 2 numbers after .
              int theRest = (int) ( ( amount - (long) amount ) * 100 );
              if ( theRest != 0 )
                   fullNumber.append( " " ). append( langTokens.get( "point" ) ).
                             append( " " ).append(     
                             numberByWord.getNumberByWord( (long) theRest ).trim() );
              return fullNumber.toString();           
    package org.apache.bussinessapi;
    * Each class created for the purpose of giving back
    * a string representation of the number MUST implement this interface
    * @author Igor Artimenko <[email protected]>
    * @version 1.0 Initial draft for review
    * Created on Jun 5, 2003
    public interface IAmountByWord {
         * getMoneyAmountByWord The purpose of this method is to return
         * string representation on the number in the human-readable format
         * in a regular format ( like 25.78
         * "twenty five point seventy eight" )
         * @param anAmount to be converted into it's string representation
         * @return A string representation of the number
         * @throws Exception if something went wrong
         public String getAmountByWord( double anAmount ) throws Exception;
         * getMoneyAmountByWord The purpose of this method is to return
         * string representation on the number in the human-readable format
         * in a money format like ( 25.78 Can
         * "twenty five Canadian Dollars and seventy eight Cents" )
         * @param anAmount to be converted into it's string representation
         * @return A string representation of the number
         * @throws Exception if something went wrong
         public String getMoneyAmountByWord( double anAmount )
                   throws Exception;
    package org.apache.bussinessapi;
    import java.util.*;
    * This class implements generic algoritm of converting a number into
    * human-readable format.
    * @author Igor Artimenko <[email protected]>
    * @version 1.0 Initial draft for review
    * Created on Jun 5, 2003
    * You can use getNumberByWord method
    * if your language fits into this algorithm or
    * extend from this class and make some transformations in the child
    * method.
    * Don't forget to setup language Tokens
    * via setLanguageTokens method call first
    public class NumberByWord
         private Properties langTokens = new Properties();
         * Constructor for NumberByWord.
         public NumberByWord()
              super();
         * Method getNumberByWord. The most important method.
         * Standard actions are here
         * @param amount Accepts only mathematical integer
         * @return String representation of this phrase
         public String getNumberByWord( long amount )
              StringBuffer strNumberByWord = new StringBuffer( "" );
              SortedMap smallAmounts = new TreeMap();
              String str = new Long( Math.abs( amount ) ).toString();
              int currentPosition = str.length();
              long currentThousand = 1;
              // break by thousands
              while ( currentPosition > 0 )
                   smallAmounts.put( new Long( currentThousand ), new Integer(
                             str.substring( Math.max( 0, currentPosition - 3 ),
                             currentPosition ) ) );               
                   strNumberByWord.insert( 0,
                        getSmallest( (Integer) smallAmounts.get( new Long( currentThousand ) ) ) +
                        ( currentThousand == 1 ? "" : " " +
                   langTokens.getProperty( new Long( currentThousand ).toString() ) ) );
                   currentPosition -= 3;     
                   currentThousand *= 1000;
              if ( amount == 0 ) {
                   strNumberByWord.append( langTokens.getProperty( "0" ) );
              else if ( amount < 0 )
                   strNumberByWord.insert( 0, langTokens.getProperty( "minus" ) );
              return strNumberByWord.toString().trim();
         * @param smallNumber this number must in the range from 0 to 999
         *      inclusive
         * @return String representation of this number
         public StringBuffer getSmallest( Integer smallNumber )
              StringBuffer smallestNumberByWord = new StringBuffer( "" );
              int hundreds = (int) ( smallNumber.intValue() / 100 );
              int dozens = (int)( ( smallNumber.intValue() - hundreds * 100 ) / 10 );
              int rest = smallNumber.intValue() - hundreds * 100 - dozens * 10;
              // using smallNumber create small phrase
              // Let's compund the phrase itself
              if ( hundreds > 0 ) {
                   smallestNumberByWord.append( " " ).append(
                             langTokens.getProperty( new Long( hundreds ).toString() ) ).append( " " ).append(
                             langTokens.getProperty( new Long( 100 ).toString() ) );
              Object obj = langTokens.getProperty( new Long( dozens * 10 + rest ).toString() );
              // is atomic like 15 juust substitute
              if ( dozens * 10 + rest != 0 )
                   if ( obj != null )
                        smallestNumberByWord.append( " " ).append( obj );
                   else
                        smallestNumberByWord.append( " " ).append(
                                  langTokens.getProperty( new Long( dozens * 10 ).toString() ) ).
                                  append( " " ).append(     langTokens.getProperty( new Long( rest ).
                                  toString() ) );
              return smallestNumberByWord;
         * setLanguageTokens Use before making call to getNumberByWord
         * @param langTokens Properties of language token used by
         * particular language
         public void setLanguageTokens( Properties langTokens )
              this.langTokens = langTokens;
    ----------------------------------------------------------------------------------

    Hi Hoos!
    I found a host for that project. It's called valia at sourceforge.net.
    We have already about 7 developers ( English, Russian, French, German, Italian, Arabic, Hindi, Traditional Chinese ). We are looking for guys with Spanish and Japanese.
    Also if you want we can expand our support for Persian you are very welcome to join. It's usially small job, just replace one, two etc by your spoken language plus coding of grammar exceptions.
    Withregard of applicability we are making first version to be working for even small j2me. So you can integrate it to everywhere including cell phones. But major goal is for bussiness apps & web services, possibly entertainements.
    Would you reply to me if you wanted to join at [email protected]
    Have a great day
    Igor Artimenko
    valia, Project Manager

  • Check printing issue when vendor in Arabic and other in english are used

    We are facing a scenario in which when we try to print two checks (one in arabic and the other in english)  , the amount in words for english is creating alignment issue . Like 54647.08 in words would be fifty four thousand six hundred fourty seven  and  eight / hundred of the currency . But it is getting displayed as  'and  eight / hundred of the currency fifty four thousand six hundred fourty seven .This issue is coming only when the english check comes after arabic one and not vice-versa and also when  the amount in words is bigger (not in case of amounts like 70000 )

    Hi
    Try to use CALL FUNCTION 'SPELL_AMOUNT'  Currecny Key = "USD"  irrespective of the  currency  and then based on the country key or langauge  Concatenate the Currency to the SPELL AMOUNT..
    surya

  • Check printing: Amount in words is getting jumbled

    Hi,
    I have a problem in displaying amount in words in check.
    I am getting the amount in words through functuion module SPELL_AMOUNT correctly,i.e,(for example,110,002 ) ONE HUNDRED TEN THOUSAND TWO.
    After getting the amount,i am concatenating the words 'ONLY'  amount  'RIYALS'.In program it is concatenated correctly.Expected output is RIYALS ONE HUNDRED TEN THOUSAND ONLY.
    But when seen on screen,the words are getting jumbled.
    It is getting displayed as TWO RIYALS ONLY ONE HUNDRED TEN THOUSAND.
    (Note: My form is in arabic,since i want to display vendor name in arabic,and rest of the check in english).
    Please help me with some solution.
    Thanks & Regards
    Seshagiri.

    Hi Dishant,
    Sorry for the delay.I am pasting the code below:
    Code in print program:
    Global data:
    data: gv_riyals(6) value 'RIYALS', "RIYALS
          gv_only(4) value 'ONLY',
          gv_halalas(7) value 'HALALAS',
          gv_and(3) value 'AND'.
    Local data:
            data: lw_dummy(25),
                  lw_fraction(2),   "for fraction part of amount in HALALAS
                  lw_integer type i.
            if spell-decimal is initial.
              clear: spell-decimal, dg_100.
            else.
               lw_integer = spell-decimal / 10.
               lw_fraction = lw_integer.
               concatenate '(' lw_fraction '/100)'
                       into lw_dummy.  " SEPARATED BY space.
               condense lw_dummy.
               clear dg_100.
               dg_100 = lw_dummy.
            if  not spell-word is initial.
              condense spell-word.
              gv_spell_word(50) = spell-word.  "Amount in RIYALS
            endif.
         endif.
              call function 'WRITE_FORM'
                exporting
                  window  = 'PAY_DOC'
                  element = 'PAY_DOC'
                exceptions
                  window  = 1
                  element = 2.
              if sy-subrc eq 2 and
                (  err_element-fname ne t042e-zforn
                or err_element-fenst ne 'PAY_DOC'
                or err_element-elemt ne 'PAY_DOC' ).
                err_element-fname = t042e-zforn.
                err_element-fenst = 'PAY_DOC'.
                err_element-elemt = 'PAY_DOC'.
                err_element-text  = text_530.
    *--Code in the script:
    /:  IF &DG_100& EQ ' '
    L1  &gv_only(C)&,,&gv_riyals(C)&,,&spell-word&
    /:  ELSE
    L1  &gv_riyals(C)&,,&gv_spell_word(C)&
    L1  &gv_only(C)&,,&gv_halalas(C)&,,&dg_100(C)&,,&gv_and(C)&
    /:  ENDIF
    Thanks & Regards
    Seshagiri.

  • How to display amount in words in the last page

    Hi,
    I am very new to Oracle Report, but v.good experience in Crystal report.
    How can i display amount in words for an invoice amount total in the last page of the invoice and after total amount. I created a new non repeating frame and put the amount in words inside that, and set the frames diplay property Print on Last Page, but the problem is already there is a repeating frame to print all the invoices item, and the total in figure. But the amount in words frame is not always coming after the total amount,either it should be at the bottom of the last page in fixed position, otherwise it should move just below the total amount.
    I am using Oracle 11g.
    Thanks in advance...
    Fsl

    Hi ,
    Use This function
    create or replace FUNCTION xxg4_zen_conv_words (p_amount IN Number) RETURN Varchar2 IS
    --Creation Date   :  11-DEC-2009
    --Purpose         :  This Function returns amount in words.
    --Parameters      :
    --1) p_amount : Only positive and negative values are allowed.
    Precision can be entered upto 10 digits and only 2 scales
    are allowed e.g 9999999999.99
    -- Index by Tables to store word list
    TYPE typ_word_list IS TABLE OF Varchar2(200) INDEX BY BINARY_INTEGER;
    t_typ_word_list typ_word_list;
    TYPE typ_word_gap IS TABLE OF Varchar2(200) INDEX BY BINARY_INTEGER;
    t_typ_word_gap typ_word_gap;
    -- Local Variables
    v_amount Number := p_amount;
    v_amount_length Number;
    v_words Varchar2(10000);
    v_point_found Varchar2(1) := 'N';
    v_point_value Number;
    BEGIN
    /*Getting value after point if found */
    v_point_value := SUBSTR(v_amount,(INSTR(v_amount,'.',1) + 1),2);
    /*Checking whether amount has any scale value also */
    v_point_found := CASE WHEN (INSTR(v_amount,'.',1)) = 0 THEN 'N'
    WHEN (INSTR(v_amount,'.',1)) > 0 THEN 'Y'
    END;
    /*Converting amount into pure numeric format */
    v_amount := FLOOR(ABS(v_amount));
    v_amount_length := LENGTH(v_amount);
    t_typ_word_gap(2) := 'and Paise';
    t_typ_word_gap(3) := 'Hundred';
    t_typ_word_gap(4) := 'Thousand';
    t_typ_word_gap(6) := 'Lakh';
    t_typ_word_gap(8) := 'Crore';
    t_typ_word_gap(10) := 'Arab';
    FOR i IN 1..99
    LOOP
    t_typ_word_list(i) := To_Char(To_Date(i,'J'),'Jsp');
    END LOOP;
    IF v_amount_length <= 2
    THEN
    /* Conversion 1 to 99 digits */
    v_words := t_typ_word_list(v_amount);
    ELSIF v_amount_length = 3
    THEN
    /* Conversion for 3 digits till 999 */
    v_words := t_typ_word_list(SUBSTR(v_amount,1,1))||' '||t_typ_word_gap(3);
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,2,2));
    ELSIF v_amount_length = 4
    THEN
    /* Conversion for 4 digits till 9999 */
    v_words := t_typ_word_list(SUBSTR(v_amount,1,1))||' '||t_typ_word_gap(4);
    IF SUBSTR(v_amount,2,1) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,2,1))||' '||t_typ_word_gap(3);
    END IF;
    IF SUBSTR(v_amount,3,2) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,3,2));
    END IF;
    ELSIF v_amount_length = 5
    THEN
    /* Conversion for 5 digits till 99999 */
    v_words := t_typ_word_list(SUBSTR(v_amount,1,2))||' '||t_typ_word_gap(4);
    IF SUBSTR(v_amount,3,1) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,3,1))||' '||t_typ_word_gap(3);
    END IF;
    IF SUBSTR(v_amount,4,2) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,4,2));
    END IF;
    ELSIF v_amount_length = 6
    THEN
    /* Conversion for 6 digits till 999999 */
    v_words := t_typ_word_list(SUBSTR(v_amount,1,1))||' '||t_typ_word_gap(6);
    IF SUBSTR(v_amount,2,2) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,2,2))||' '||t_typ_word_gap(4);
    END IF;
    IF SUBSTR(v_amount,4,1) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,4,1))||' '||t_typ_word_gap(3);
    END IF;
    IF SUBSTR(v_amount,5,2) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,5,2));
    END IF;
    ELSIF v_amount_length = 7
    THEN
    /* Conversion for 7 digits till 9999999 */
    v_words := t_typ_word_list(SUBSTR(v_amount,1,2))||' '||t_typ_word_gap(6);
    IF SUBSTR(v_amount,3,2) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,3,2))||' '||t_typ_word_gap(4);
    END IF;
    IF SUBSTR(v_amount,5,1) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,5,1))||' '||t_typ_word_gap(3);
    END IF;
    IF SUBSTR(v_amount,6,2) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,6,2));
    END IF;
    ELSIF v_amount_length = 8
    THEN
    /* Conversion for 8 digits till 99999999 */
    v_words := t_typ_word_list(SUBSTR(v_amount,1,1))||' '||t_typ_word_gap(8);
    IF SUBSTR(v_amount,2,2) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,2,2))||' '||t_typ_word_gap(6);
    END IF;
    IF SUBSTR(v_amount,4,2) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,4,2))||' '||t_typ_word_gap(4);
    END IF;
    IF SUBSTR(v_amount,6,1) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,6,1))||' '||t_typ_word_gap(3);
    END IF;
    IF SUBSTR(v_amount,7,2) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,7,2));
    END IF;
    ELSIF v_amount_length = 9
    THEN
    /* Conversion for 9 digits till 999999999 */
    v_words := t_typ_word_list(SUBSTR(v_amount,1,2))||' '||t_typ_word_gap(8);
    IF SUBSTR(v_amount,3,2) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,3,2))||' '||t_typ_word_gap(6);
    END IF;
    IF SUBSTR(v_amount,5,2) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,5,2))||' '||t_typ_word_gap(4);
    END IF;
    IF SUBSTR(v_amount,7,1) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,7,1))||' '||t_typ_word_gap(3);
    END IF;
    IF SUBSTR(v_amount,8,2) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,8,2));
    END IF;
    ELSIF v_amount_length = 10
    THEN
    /* Conversion for 10 digits till 9999999999 */
    v_words := t_typ_word_list(SUBSTR(v_amount,1,1))||' '||t_typ_word_gap(10);
    IF SUBSTR(v_amount,2,2) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,2,2))||' '||t_typ_word_gap(8);
    END IF;
    IF SUBSTR(v_amount,4,2) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,4,2))||' '||t_typ_word_gap(6);
    END IF;
    IF SUBSTR(v_amount,6,2) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,6,2))||' '||t_typ_word_gap(4);
    END IF;
    IF SUBSTR(v_amount,8,1) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,8,1))||' '||t_typ_word_gap(3);
    END IF;
    IF SUBSTR(v_amount,9,2) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,9,2));
    END IF;
    END IF;
    IF v_point_found = 'Y'
    THEN
    IF v_point_value != 0
    THEN
    v_words := v_words||' '||t_typ_word_gap(2)||' '||t_typ_word_list(CASE WHEN LENGTH(SUBSTR(p_amount,(INSTR(p_amount,'.',1) + 1),2)) = 1 THEN SUBSTR(p_amount,(INSTR(p_amount,'.',1) + 1),2)||'0'
    WHEN LENGTH(SUBSTR(p_amount,(INSTR(p_amount,'.',1) + 1),2)) = 2 THEN SUBSTR(p_amount,(INSTR(p_amount,'.',1) + 1),2)
    END);
    END IF;
    END IF;
    IF p_amount < 0
    THEN
    v_words := 'Minus '||v_words;
    ELSIF p_amount = 0
    THEN
    v_words := 'Zero';
    END IF;
    IF LENGTH(v_amount) > 10
    THEN
    v_words := 'Value larger than specified precision allowed to convert into words. Maximum 10 digits allowed for precision.';
    END IF;
    RETURN (v_words);
    END xxg4_Zen_Conv_Words;
    --Thanks
    SAGAR SANKPAL

  • Arab computers take for operating 250 sa in saudis arabia and my macbook pro anther warranty

    Computer Arabic company valued peace, mercy and blessings of God you my complaint regarding the requested amount of $ 250 due to software weirohza for the first time in my life since 1982 and have not found in all businesses, particularly Apple's mother not to request any amounts and the device under warranty for software and operating systems, if not resolved this problem with me I'll send an email to Apple in America.
    Communication standards on mobile ***** two Mac books Pro 13 inch under aldamam # alcyril Tiger is: C1*******TY4 introduction: Musa Al-Marzouq
    file:///Users/pc/Library/Containers/com.apple.PhotoBooth/Data/Pictures/Photo%20B ooth%20Library/Pictures/Photo%20on%203-17-14%20at%2011.14%20PM.jpg
    gentlemen Apple distinguished respectful world welcome in my heart my complaint on company computers Arabic for taking money on hardware for software and operating systems with the two computers under warranty they have.
    He hopes to speak to this reason because it is the first time you get me with any company dealing with your esteemed company since 1982 and I use Macs or any Apple device I hope follow-up with me < SIM No. *****
    - Musa Al marzooq
    <Edited By Host>

    Hi slimpiggy,
    Sorry to hear of your frustration. Regrettably, your experience is far from the norm but it's definitely not an unheard of story. A family friend experienced a similar issue with her Dell XPS machine (5 units in 33 months). Sometimes it's just a chain reaction of bad luck.
    Out of curiosity, if your computer is such a key component to your income and financial success then why do you have only one? I've worked in a position that has required constant contact to network services and resources and as such one of the first purchases I made was a secondary computer. It was nowhere near as nice as my main unit but it give me a buffer incase there was a situation that my primary machine was unavailable, lost, damaged or required service.
    As far as the lesson, there is none. Misdiagnosed machines or slow turn around times on repairs are never fun but there's not much you can do. Apple does have a department, called Customer Relations that you can speak to regarding your experience. Their number is (or at least was this the last time I called) 800-767-2775.
    Good luck!

  • Error while using Function module SPELL_AMOUNT with arabic language AR

    Hi ,
    When i am trying to convert the number to words, using function module SPELL_AMOUNT with arabic language(AR),following abend message is coming and FM is getting abended.
    Entry AR 0 1 in table T015Z does not have a delimiter (
    Can you please provide me how to overcome this error?
    Thanks & Regards
    Seshagiri.

    Hi Santosh,
    Thanks for quick inputs.
    And amount is not having any delimitors.
    I have checked in table T015Z and it has entries with AR as SPRAS.
    All entries are having ':' at the beginning of the arabic words,and there is no single entry with ';'.
    All entries with EN as SPRAS are having delimiters ';' at the end of the words.
    Numbers are correctly converted to words in english,but abending in arabic.
    Any idea please.
    Thanks & Regards
    Seshagiri.

Maybe you are looking for