0

I am trying to update a field to show 4 decimal places. The field is a custom field and is a Formula(Currency). Other fields like this I went in changed it from 2 decimals to 4 with no problem. This last field is giving me this error

[There were custom validation error(s) encountered while saving the affected record(s). The first validation error encountered was "One of the objects selected for your roll-up summary uses dated exchange rates and the other object does not. Roll-up summary fields can only summarize values of currency fields if both objects convert values or both objects do not.".]

The formula in the field is IF(Contract_Term__c = 0,0,Amount / ROUND(Contract_Term__c,0) )

1) Not sure why it is talking about dated exchange rates we only have a single one active and no historical ones entered.
2) Not sure why it is talking about a Roll-up it is just a calculated field
3) I can't find any Roll-ups that even reference this field.

4
  • Just to shed a bit of light dated exchange rates is something you can request Salesforce to turn on. It basically allows you specify an exchange for a given period meaning if you want to change the exchange it doesn't change your data from like 2 years ago or whatever. I think it only applies to standard fields on some standard objects. Presumably you guys have this switched on.... but I don't know the answer to your question, sorry :)
    – Force Hero
    Commented Jan 30, 2015 at 19:28
  • We do have it turned on, but nothing in it is in use. I've come into working on this instance that is 8 years old, so I don't want to turn things off in fears it breaks something else.
    – Dan
    Commented Jan 30, 2015 at 19:38
  • Sure, but the fact you have it turned on (even though you're not really using it) is why the error is referring to it. It sounds like the formula is referenced by a roll-up - maybe its used as a filter for a roll-up? Have you tried getting ALL the meta data using Eclipse and then searching for the formula field name to see where it used?
    – Force Hero
    Commented Jan 30, 2015 at 20:29
  • Nope, pretty new to this SFDC gig. Will look into Eclipse and pulling a large dataset to look through.
    – Dan
    Commented Jan 30, 2015 at 21:46

1 Answer 1

2

I'm going to hypothesize that

  • The parent object is Opportunity as the field amount is referenced
  • There are some RSF fields on Opportunity
  • The child detail object is not OpportunityLineItem but some custom object

Once dated exchange rates are enabled, they apply to the Opportunity, OpportunityLineItem, and a handful of other objects. They do not apply to custom objects. See doc

Dated exchange rates are used for opportunities, opportunity products, opportunity product schedules, campaign opportunity fields, opportunity splits, and reports related to these objects and fields. Dated exchange rates are not used in forecasting, currency fields in other objects, or currency fields in other types of reports.

Hence, the RSF on Opportunity against some child Detail object will fail with the error you noted

Also from the doc:

Organizations with advanced currency management support roll-up summary fields between two advanced currency management objects. For example, roll-up summary fields are supported from an opportunity line object to its opportunity object, because both are advanced currency management enabled. However, if you enable advanced currency management, you can’t create roll-up summary fields that calculate currency on the opportunity object rolling up to the account object, and you can’t filter on the opportunity currency field on the account object. All existing currency-related roll-up summary fields on the opportunity object are disabled and their values are no longer calculated. If your organization enables advanced currency management, you should delete any currency roll-up summary fields using opportunities and accounts or opportunities and custom objects.

Dated exchange rates are very useful on Opportunities but only if you have more than one currency enabled.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .