At Pitney Bowes we have hit many of the governor limits that Salesforce have (hence the bingo card analogy). Yet we continue to be caused challenges by them, overcome those and then find the next limit. It felt like a good topic to ask the community about. So a few questions to get you thinking...
What Limits have you hit?
How do you overcome them?
What do you do to prevent hitting limits?
What are your top 3 limits that you hit?
Do you hit different limits during a Salesforce performance degradation?
Example limits are SOQL 101, Apex CPU Timeout, 5 concurrent apex batch jobs, 10,000 DML Statements, 50,000 SOQL record limit.
For a list of the published limits see this link https://resources.docs.salesforce.com/214/latest/en-us/sfdc/pdf/salesforce_app_limits_cheatsheet.pdf
Thanks in advance for your insights.
Michael Majerus, Rob van Waveren, Adam Cooper, Brenden Burkinshaw, Casey Palmer, Hans van Mil, Dan Schiess, John Welisevich, Russell Jacobs, Nick Sauer, Sonia Genesse, Scott Willis, Alex Langston, Mark Taylor, Mark Varley, Ralf Fickert
I have at mentioned the top community collaborators to kick start the conversation.
Hello, we recently had an issue with the available number of Workflow Rules being defined as 50 in our Org. After raising a support ticket we got this quickly increased to 100. As we use ServiceMax in 10 countries it meant the limit being 50 was a mere 5 per country, which was too little. Usually to consider the limits you need to remove any logs etc. which create daily (for example PM plan creates a log daily, which if you have a lot of PM plans eventually end up a lot of records). Its about clearing out unnecessary records of past Apex job completions etc. our philosophy is; if we didn't have any errors on the Apex, then we need not keep the Apex Job Logs. If you use the SPM functionality, the limit to SPM Logs is 1000 records, but depending on the number of technicians this doesn't take a long time to reach, and when reached SPM stops collecting information. We have built an automatic job via Workbench which will automatically delete them daily to maintain within the 1000 record limit.
Hi Mark Varley, thanks a lot for your reply!.
I am interested in your comment about you only having 5 workflows per country. Do you have country specific workflow rules? Are you using these for email notifications or field updates etc?
It also sounds like the SPM functionality is missing functionality, if it has a limit of 100 should it not include functionality to clear out old records? Sounds like an idea may be useful for this.
Hi Richard Lewis
We do have some country specific work flow rules - for example when the office dispatch a work order, it triggers an email to the engineer to advise him so he can resync his device to get the data. We also have specific rules per country based on the information the engineer puts into the WO - certain escalation steps which trigger notifications.
We have standard workflow rules (for all countries) to change the WO status depending on the data input by the engineer - i.e. Job Complete = N, Parts Required = Y, rule to update field of status to be "Pending Part Approval" which triggers back office to process etc. So whilst we have a single rule for this type of thing, as its standard, the escalation rules vary by country so they have their own rules.
Agree with you about the SPM - the limit is 1000 records, but they don't auto delete - so eventually SPM stops running because there are >1000 - so we have to manually set up something via Workbench to auto delete them daily... perhaps should be an idea to auto delete within the SPM functionality.
Hope this helps clarify.
HI Mark, there is a reason that Salesforce limit this (performance) so if I were you I would look for ways to reduce the number of rules you have. Maybe sending email notifications to a shared mailbox and having forwarding rules on that? There are many benefits to standard global processes and this includes notifications. The exception are legal or regulatory needs. As an example, your testing is reduced, as well as your change cost each time you need to change one of them.
I also advise against field update workflow rules as that can cause your code to trigger more than once which takes you towards a number of limits including SOQL 101.
Can you put in an idea for the SPM auto delete please? And link to it here.
Hi Mark, navigate to the idea, copy the url, paste the url in to a reply to a post and the magic will happen.
Since Work Orders are the main focus when it comes to service, I've hit limits on this Object due to Object references. Needed to start looking at this differently and begin using/consolidating Apex, VF and/or Triggers.
I also did have this limit increased from 10 to 15, though that didn't long but allotted more time to implement a different approach.
I've also encountered Query Cursor limits and batch size limits in my integration to our ERP system. Some of this was addressed within the integration itself to control batch size and using caching methods.
It's also wise to have your daily API limit increased when doing large imports as you're likely to surpass your rolling 24 hr. limit, but I guess that goes without saying.