OY04 - Currency Decimals

Hi Experts,
We recently made a client copy of our production system to our quality system. In our production client all our values in the transactions display correctly, but in our quality client the values are not being displayed correctly. I checked transaction OY04, and noticed that in quality our currency AED is having 3 decimal places, whereas in production there is no record for the same currency. Is it advisable to remove this record from quality. There are a lot of warnings displayed by SAP when the transaction is being called. Please advise on the best practice to correct this issue. As this issue is hampering in development of layouts and reports as the value in the database is being stored in a different way.
I can use
write: value currency 'AED'.
but I feel this is not the best way to go about this issue as there will be a lot of layouts to change. And since the issue is not in production, there will be some work around.
Regards,
Abdullah Ismail

Hello,
You can use another currency which has the same number of decimals as 'AED' and is consistent across systems . This will make the layout come out correct across all systems .
Cheers

Similar Messages

  • Currency Decimals in workflow inbox

    In my workflow, after the user enter the incoming invoice (MIRO) will send out a email with PO number, amount, currency to manager inbox, the manager will approve it.
    Right now, it not worked for non decimal currencies, such JPY, KRW. for example, the amount is 1000JPY will display as 100.00 JPY in manger inbox.
    I know i can use 'FWOS_CURRENCY_DECIMALS_READ' to get local currency decimal , or use write amount to field with currecny to process it in the report, but now i do not know how to process it in workflow inbox, where  should i put my codes to display the amount with right currency decimals?
    Thanks!

    Please check the Task container If it is appearing properly there it will surely appear in Task Description. If everything in binding is fine then I think you have to refres Buffer(SWU_OBUF) Logout and Login and test. If after also it does not work have a coffee at ur coffee corner and come a little bit later to test.:)))
    Thanks
    Arghadip

  • Currency/decimals.tutorial

    I'm having difficulty understanding how to format currency/decimals. Anyone know of a good tutorial

    Take a look at the methods under Configuring the Format of Currency in the NSNumberFormatter reference. Then see if the example code at either of these links is helpful:
    [http://mac-objective-c.blogspot.com/2009/04/nsnumberformatter-some-examples.htm l]
    [http://www.mugginsoft.com/content/very-simple-nsnumberformatter-currency-subcla ss]
    Search the web on keys like "NSNumberFormatter example currency" for more discussions and examples.
    \- Ray

  • Country based currency & decimals issue

    Hi All,
    Can any one help me here, I need to decide the decimal places for particular currency of a country accordingly I need to add the decimal places.
    Example: JPY: Japan yens dont have a decimal place
                   INR will have 2 decimal places. like this way.
    thanks.
    Kalyan.

    Hi,
    Ustry the following code.
            DATA:
                  lv_decimals      type     tcurx-currdec,
                  lv_amount         type    char30.
            CALL FUNCTION 'G_DECIMAL_PLACES_GET'
              EXPORTING
                currency       =    lv_waers  (currency key)
              IMPORTING
                decimal_places = lv_decimals.
            IF NOT lv_decimals IS INITIAL.
              WRITE: lv_wrbtr TO lv_amount DECIMALS lv_decimals.
          endif.
    thanks
    kasturi

  • Currency decimals

    Hi frnds,
         I want to know from which table we can get the number of decimal places for a particular currency type.
       Eg: USD has 2 decimals
             JPY has 0 decimals
         Please help me.
    Thanks in advance

    Hi,
    Check the table TCURX.
    Based on user profile you can get the currency format from USR01.
    USE THIS CODE: IT TAKES CARE OF DECIMAL NOTATION BASED ON USER PROFILE.
    WHAT EVER MAY BE THE USER PROFILE FOR DECIMAL NOTATION.
    FIELD_NUM = 1,233.50
    OR
    FIELD_NUM = 1.233,50
    OR
    FIELD_NUM = 1 233,50
    SELECT SINGLE DCPFM FROM USR01
    INTO VAR_DCPFM WHERE BNAME EQ SY-UNAME.
    IF VAR_DCPFM EQ 'X'.
    REPLACE ALL OCCURRENCES OF ',' IN: FIELD_NUM WITH ''.
    TRANSLATE FIELD_NUM USING ','.
    ELSEIF VAR_DCPFM EQ ''.
    REPLACE ALL OCCURRENCES OF '.' IN: FIELD_NUM WITH ''.
    TRANSLATE FIELD_NUM USING '.'.
    TRANSLATE FIELD_NUM USING ',.'.
    ELSEIF VAR_DCPFM EQ 'Y'.
    TRANSLATE FIELD_NUM USING ',.'.
    ENDIF.
    THIS CODE WILL WILL RESULT INTO :
    FIELD_NUM = 1233.50
    Regards,
    Raj.

  • JPY Currency decimals in SQ01 output

    Hi Sap Gurus,
    My SQ01 query output has JPY values with decimals.  In normal report, we can get appropriate values thru function module BAPI_CURRENCY_CONV_TO_EXTERNAL.  But how to achieve this result in ABAP Query?
    Thanks in advance...
    Best regards,
    Madhu

    I've introduced an additional field and added code as below
        CALL FUNCTION 'BAPI_CURRENCY_CONV_TO_EXTERNAL'
          EXPORTING
            currency        = bkpf-HWAER
            amount_internal = faglflexa-hsl
          IMPORTING
            AMOUNT_EXTERNAL = zhsl.
    It worked.

  • Smartforms Currency decimals 3

    Hi,
    I have a problem with the element KBETR, in vf03 i have 1,769- %.
    In the table KONV, the field kbetr have 17,69-.
    How can i convert the field in percentage please?
    Do you know a data element with currency and decimals 3? when i divide by 10 i have 1,77- and not 1,769-.
    I repeat that im work with smartforms.
    They are not an other solution that create a data element?
    Thanks.
    Edited by: Spawn rad on Jul 21, 2008 5:36 PM
    <MOVED BY MODERATOR TO THE CORRECT FORUM>
    Edited by: Alvaro Tejada Galindo on Jul 21, 2008 12:19 PM

    try this
    &symbol(.N)& Display upto N decimal places.
    other options:
    &symbol(Z)& Omit Leading Zeros
    &symbol(S)& Omit Leading Sign
    &symbol(<)& Display Leading Sign to the Left
    &symbol(>)& Display Leading Sign to the Right
    &symbol(C)& Compress Spaces
    &symbol(.N)& Display upto N decimal places
    &symbol(T)& Omit thousands separator
    &symbol(R)& Right justified
    &symbol(I)& Suppress output of the initial value
    u can use various combinations of these options.
    Example:
    &SFSY-FORMPAGES(3ZC)&---outputlen,c-condense,z-
    Reward if helpful

  • Use SpryValidationTextField to check Currency Decimals

    I have a SpryValidationTextField widget defined in my form to
    see whether a currency field has a certain minimum value. It works
    fine as lomg as I integer values as minimum values. As soon as I
    use decimals the valuation starts going horrorably wrong; the
    system will allow any value to pass really, as long as they have
    the correct format.
    I assume this is a bug of the validation function.
    Can an Adobe member of the forum please suggest an
    appropriate fix or point out what I am doing wrong.
    <span id="sprytextfield1">
    <input type="text" name="cost" id="cost" value="0.00"
    size="32" />
    <span class="textfieldRequiredMsg">A value is
    required.</span><span
    class="textfieldInvalidFormatMsg">Invalid
    format.</span><span class="textfieldMinValueMsg">The
    entered value is less than the minimum
    required.</span><span class="textfieldMaxValueMsg">The
    entered value is greater than the maximum
    allowed.</span></span>
    <script type="text/javascript">
    <!--
    var sprytextfield1 = new
    Spry.Widget.ValidationTextField("sprytextfield1", "currency",
    {validateOn:["blur"], minValue:0.5, maxValue:1000,
    useCharacterMasking:true, hint:"Cost in account currency"});
    //-->
    </script>

    This looks like it may be a bug in the
    SpryValidationTextField code. You can work around the problem by
    quoting your min and max values and if you are going to specify a
    digit after the decimal point, make sure there are 2 digits. So in
    your example, change:
    minValue: 0.5
    to
    minValue: "0.50"
    --== Kin ==--

  • Change currency decimals

    hi,
    I am using the currency code XOF for my transactions and but the issue is the curreny coversion is happening without the decimals. therefore all my reports give incorrect picture. I want to transaction value to be displayed in four decimals. how can i change this?
    Thanks
    Edited by: gayani premawardena on Sep 6, 2010 1:19 PM
    Moderator: Please, search SDN

    Hi,
    OSS note 783877 for more details on the impact of changing the decimal places in a currency.
    Regards,
    Gaurav

  • Currency with 3 decimals

    Hi !
    i need to manage prices with 3 decimals and not 2 only. So i think i will set customising (set decimal places for currencies) in order to change all currencies decimal defined on 2 decimals.
    Is there a risk to change this customising ?
    Thanks
    Jak

    hi,
        i do not think there will be any problem when change the currency decimals from 2 to 3.
    however if there is problem then ucreate ANOTHER KEYFIGURE AND WITH THREE DECIMALS PLACES.AND USE IT
    REGARDS

  • Document currency Problem

    Hi all,
    I have created an Import PO with rate 62500 JPY (decimal places are are not allowed in PO),
    But in table level the rate is stored as 625.00 (with 2 decimal)
    due to which during GR goods are validated for 625.00 instead of 62500.
    Kindly reply
    Rgds
    Srini

    hi
    check following
    go to OY04 and try changing decimals to 2
    http://www.sap-img.com/financial/currency-decimals-default-and-places-in-sapr3.htm
    regards
    Ki
    Edited by: SAP Learner on Feb 6, 2009 6:27 AM

  • Change 2 decimal to 3 decimal in OY04

    Hi All,
    After transactional data, I have changed in T-code OY04 currency (JOD) decimal 2 to 3.
    i have done PO & checked its showing three decimal value its ok, i assigned taxcode 4% but its shown only 2 decimal places.
    second thing i have checked table EKPO the field NETWR value shows 2 decimal places.
    example in PO NETWR is 100.234 & in Table showing 1002.34 so i am not getting correct answer, also tax calculate on NETWR so its wrong calculation.
    please guide me, if any config related please suggest me.
    Thanks
    Best Regards
    Sachin

    Hi,
    It is not recommended that when postings have already been made, that a change in the currency be done, as amounts posted can become invalid or incorrect as a result (ie INR 100->1.00), which is most critical in production environment (as per note 137626).  Any assistance for data repair will need to be reverted to Consulting Services. When you made changes via OY04, you have likewise changed the values as per currency table TCURX, the effect of which is across all clients. To change the number of decimal places for a currency already in use, you must convert all the tables in the R/3 System that contain currency
    fields, so that the data integrity remains. This cannot, however, for both organizational reasons and under the runtime aspect, in a
    productive system.
    In case you really decide to use decimals you may consider to use SAP conversion services for them to convert all documents aready posted as explained in note 434349. Please mind that this would be a billable service.
    Additional inforamtion:
    Note No.  137626 - FAQ: Decimal places for currency codes
               126857 - Display of amts with correct decimal places in SE16
                53206 - Processing of currency fields
                 9574 - Currency fields on selection screens
    Regards
    Ravinagh Boni

  • Prices in 3 decimals

    Hi All,
    I have been trying to set 3 decimal places in prices in sales documents. I got the reference to Note # 38881.
    This is what I did:
    1. Create a new currency US$ and set the decimal places to 3
    2. Maintained the prices using VK11.
    3. Changed the customers' sales area currency to US$
    But when I created the sales order although the system determined the prices in 3 decimals i got the following information message which keeps on showing during the entire sales order creation:
    Pricing error: Mandatory condition ZMAC is missing
    Message no. V1801
    Details are as below:
    The obligatory condition ZMAC does not exist. The document is therefore considered to be incomplete from the point of view of pricing.
    The cause can be, for example, that a condition record does not exist for condition ZMAC or that a field overflow has occurred when the condition rate was calculated.
    Procedure
    Check why the condition could not be found. Use the pricing analysis function on the pricing screen to do this. If necessary, add the missing condition manually to the document.
    I believe I am missing some configuration that should be done in pricing, not sure what. As this question has been flagged answered, hope someone would be able to help me.
    Thanks & Regards,
    Rajesh Singh

    Hi rajesh
    I hope you have consulted your MM and FI colleagues before changing the currency decimals ,as it has very big impact on all the important financial and MM data .All the values in balance sheet ,inventory valuation everything gets reset on changing the currency table values. and its very difficult to revert.
    So no coming to your second condition type issue,have u checked pricing analysis in transaction for ZMAC.
    also check pricing procedure which is been triggeredin the sales transaction ,how the Pricing procedure and condition type has been configured.
    In pricing analysis check the part :value in the document and then check in VK13 whether u have cond record for the same combination for condition type ZMAC u r referring.
    Maintian condtion record and trigger pricing update again.
    Hope this helps,
    Regards
    Mandar

  • Currency conversion - translation rates

    Hi,
    The amount shall be converted from currency "GBP" to "AUD".
    Therefore we have maintained:
    - an exchange rate type (which contains "EUR" as the reference currency)
    - the translation ratios for the combinations GBP-EUR, EUR-GBP, AUD-EUR, EUR-AUD 
    - the rates: GBP->EUR, EUR->AUD
    Afterwards we used the function module "CONVERT_TO_LOCAL_CURRENCY";
    however the result was returncode 3 - meaning "NO_FACTORS_FOUND"
    However,if we maintain the translation ratio GBP-AUD,it works. 
    For me this seems to be not really logic:
    The "cross rates" are determined in table tcurr but the "cross ratios" are not.
    Is this true or what is/might be the error?
    Thanks for your help, Kora

    hi KORA ,
    just check this code ,,
    hope this gives u some help.
    regards,
    vijay
    data: w_dec1 like tcurx-currdec,
          w_amt  like ekpo-netwr,
          w_rate like tcurr-ukurs,
          w_fact1 like tcurr-ffact,
          w_fact2 like tcurr-ffact.
    parameters:
      p_curr1 like tcurc-waers default 'JPY',
      p_amt1  like ekpo-netwr  default '7895',
      p_curr2 like tcurc-waers default 'SGD',
      pdate   like sy-datum    default '20061011'.
    end-of-selection.
      write:
        / 'Entered:',
        / ' from currency:', p_amt1 currency p_curr1, p_curr1, '<-', p_amt1,
        / ' to currency  :', p_curr2,
        / ' on           :', pdate.
      CALL FUNCTION 'FWOS_CURRENCY_DECIMALS_READ'
        EXPORTING
          I_CURRENCY               = p_curr1
        IMPORTING
          E_DECIMALS               = w_dec1
        EXCEPTIONS
          I_CURRENCY_INITIAL       = 1
          OTHERS                   = 2.
      IF SY-SUBRC <> 0.
        w_dec1 = 2.
      ENDIF.
      p_amt1 = p_amt1 * 10 ** ( w_dec1 - 2 ).
      write:
        / 'after adjusting using currency decimals:',
        / ' from currency', p_amt1 currency p_curr1, p_curr1,
          '<-', p_amt1, '(', w_dec1, ')'.
      CALL FUNCTION 'CONVERT_TO_FOREIGN_CURRENCY'
        EXPORTING
        CLIENT                  = SY-MANDT
          DATE                    = pdate
          FOREIGN_CURRENCY        = p_curr2
          LOCAL_AMOUNT            = p_amt1
          LOCAL_CURRENCY          = p_curr1
        RATE                    = 0
        TYPE_OF_RATE            = 'M'
        READ_TCURR              = 'X'
        IMPORTING
          EXCHANGE_RATE           = w_rate
          FOREIGN_AMOUNT          = w_amt
          FOREIGN_FACTOR          = w_fact1
          LOCAL_FACTOR            = w_fact2
        EXCHANGE_RATEX          =
        DERIVED_RATE_TYPE       =
        FIXED_RATE              =
        EXCEPTIONS
          NO_RATE_FOUND           = 1
          OVERFLOW                = 2
          NO_FACTORS_FOUND        = 3
          NO_SPREAD_FOUND         = 4
          DERIVED_2_TIMES         = 5
          OTHERS                  = 6.
      IF SY-SUBRC <> 0.
        write: / 'Conversion to for.curr. failed:',
                  p_curr1, '->', p_curr2, 'err.code=', sy-subrc.
      ELSE.
        write: / 'to For.curr:', p_amt1 currency p_curr1, p_curr1, '->',
               w_amt currency p_curr2, p_curr2,
               '(', w_rate, ')', w_fact1, w_fact2.
      ENDIF.
      CALL FUNCTION 'CONVERT_TO_LOCAL_CURRENCY'
        EXPORTING
        CLIENT                  = SY-MANDT
          DATE                    = pdate
          FOREIGN_AMOUNT          = p_amt1
          FOREIGN_CURRENCY        = p_curr1
          LOCAL_CURRENCY          = p_curr2
        RATE                    = 0
        TYPE_OF_RATE            = 'M'
        READ_TCURR              = 'X'
        IMPORTING
          EXCHANGE_RATE           = w_rate
          FOREIGN_FACTOR          = w_fact1
          LOCAL_AMOUNT            = w_amt
          LOCAL_FACTOR            = w_fact2
        EXCHANGE_RATEX          =
        FIXED_RATE              =
        DERIVED_RATE_TYPE       =
        EXCEPTIONS
          NO_RATE_FOUND           = 1
          OVERFLOW                = 2
          NO_FACTORS_FOUND        = 3
          NO_SPREAD_FOUND         = 4
          DERIVED_2_TIMES         = 5
          OTHERS                  = 6.
      IF SY-SUBRC <> 0.
        write: / 'Conversion to loc.curr. failed:',
                 p_curr1, '->', p_curr2, 'err.code=', sy-subrc.
      ELSE.
        write: / 'to Loc.curr:', p_amt1 currency p_curr1, p_curr1, '->',
               w_amt currency p_curr2, p_curr2,
               '(', w_rate, ')', w_fact1, w_fact2.
      ENDIF.

  • Precautions for Changing Currency Decimal Places

    Hi Gurus,
    I am having a requirement to change currency decimal place, which is set wrong at the time of golive.I wanted to know what are the precautions i need to take for changing the currency decimal places. As per the note at the time of changing currency decimal places, we need to check is there any transactions posted in this currency. I have checked BKPF table and no transactions are posted.
    1. what are all the other tables i need to check for ensuring there is no transaction posted in that currency?
    2. Is there any other place we need to do this change?
    Thanks in Advance
    Regards,
    Giri

    Dear!
    We also faced this problem,But I recommend
    Please do check following befor chaning the currency decimals
    1- transaaction data
    2-Project profile currecnt setting ( OPS9)
    3- Internal order budget profile setting ( OKOB)
    3- funds management profile setting ( OF12)
    4- All other proifle.
    5-Als0 consult with other Module  team/HR
    Thanks
    Message was edited by:
            MS

Maybe you are looking for