I came acros the below limit, Can I know because of what it is giving this limit. Also, Please let me know, Can we increase the limit after logging a case in SFDC support and Is this limit Edition specific(like Unlimited Edition)?. If Yes, Please enlighten.PFA
I can see below links as reference. https://success.salesforce.com/answers?id=90630000000hAxGAAU https://success.salesforce.com/answers?id=90630000000hO53AAE
- I've downvoted because the answer to your question appears to be answered in the links you provided as reference.Derek F– Derek F2016-01-27 14:55:09 +00:00Commented Jan 27, 2016 at 14:55
1 Answer
Your answer lies in following the links you've provided. Your first link has an answer, which links to a blog, which links to an Idea on the Idea Exchange.
From the product owner that responded to the idea (Link to idea)
This limit may be increased to a maximum of 15 through Salesforce support. However, it cannot be increased beyond that at this time, and increasing it above 10 may impact performance in formula fields, reports and page views. Due to the performance implications and the development and testing involved, it is not on our roadmap for the next year to raise the hard limit of 15.
That was around 4 years ago. Since then, this was merged into another idea. The max limit was supposed to be increased in Winter '15, but is apparently still in the development backlog (at time of writing, we're in the preview for Spring '16).
As for getting the increase from 10 to 15, I stumbled across this help article detailing the process. From that article, both the limit and the increase appear to be available in the following editions:
Available in: Contact Manager, Group, Professional, Enterprise, Performance, Unlimited, Developer, and Database.com Editions
As to why you're running into this limit, it's pretty self-explanatory. The object you're working on already has a number of object references, the formula field you're trying to save uses at least 2 new object references, and saving this formula would put you over the limit of 10.
Now, what is an object reference? From the product owner on the first idea:
The object references (aka "spanning relationship") limit is based on the number of unique relationships referenced in formulas on an object: formula fields, workflow rules, validation rules, assignment rules, escalation rules, and auto-response rules. It doesn't include lookup filters, and it's not related to lookup fields. If you click the "Show references" link in the error message, it shows a list of the components that are contributing to the count.
Each relationship traversal is one unique relationship. For example, from the Case object, Parent.CaseNumber would be one unique relationship (Case-Case). Account.CreatedBy.LastName would be two unique relationships (Case-Account-User). Account.LastModifiedBy.LastName on the same Case object would be one additional traversal (the relationship to Account already exists). Global merge variables (e.g. $User.ProfileID) don't count towards the limit.
Unfortunately, there's no way to see how many object references a given object currently has except for running into the limit, or going through your object and tracking and counting the references by hand.
From the look of it, your formula field Is_Sub_A_B__c is consuming a lot of the available object references for whichever object you're working on.
From the help article on how to increase the object references limit
Hitting the limit of 10 is a warning sign that the logic is getting too complex for the formula engine. We allow the increase to a hard coded maximum of 15 so that you aren't blocked, but it's an indication it's time to start considering programmatic logic.
You may be better served by putting the work done by that formula field into a trigger, or making a new custom object to remove (most of) the complexity from your current object.
- Thanks for the reply. I have one more question, as we are delivering as managed package will the limit accounts differently according to package..?Arun SFDC– Arun SFDC2016-01-28 05:23:09 +00:00Commented Jan 28, 2016 at 5:23
- My guess would be no, but I have no experience with making packages (managed or unmanaged). That's deserving of a separate question (perhaps that question has already been asked). You might also find that answer in the Salesforce documentation.Derek F– Derek F2016-01-28 13:27:48 +00:00Commented Jan 28, 2016 at 13:27
- "Unfortunately, there's no way to see how many object references a given object currently has except for running into the limit." One easyish way to see the object references table: make a formula field that'd put you over the limit. For example, a formula field with the formula "CreatedBy.Manager.Manager.Manager.Manager.Manager.Manager.Manager.Manager.ManagerId" will fail to save and provoke an error, unless you have 10 spare object references lying around).Ezra Kenigsberg– Ezra Kenigsberg2021-07-26 19:17:49 +00:00Commented Jul 26, 2021 at 19:17