• Sheila McEvoy 3
  • NEWBIE
  • 0 Points
  • Member since 2017

  • Chatter
    Feed
  • 0
    Best Answers
  • 1
    Likes Received
  • 0
    Likes Given
  • 1
    Questions
  • 2
    Replies
Logged a ticket with SFDC and they indicate that after the update, if your Process Builder triggers a Flow, that it will error out after updating 12 records.  Is that true?  This sounds like Salesforce doesn't want us to use Flows.

Here is the response from Salesforce: 
Salesforce Support February 1 at 2:01 PM EST
This is to keep it simple:

Consider an auto launched Flow (say Flow1) that takes an AccountId as input variable - Has only one RecordUpdate element in it that updates the Account.Description matching the AccountId with string "Case Created".
Consider a Process (say Process1) on Case object that gets triggered on Case create/edit - with "No criteria—just execute the actions!" and has an immediate action that calls this auto launched flow Flow1 with argument Case.AccountId

Now create 20 cases in bulk - with same accountId as follows
-----------------------------
List<Case> caseList = new List<Case>();

for(Integer i=0;i<20;i++){

Case c = new Case();

c.Status = 'New';

c.AccountId = '0014100000pINGZ';

caseList.add(c);

}

insert caseList;
-----------------------------

When 20 Cases are created, it creates 20 interviews of the Process1. Now each Process creates an interview of Flow1 - So 20 interviews of Flow1 are created and submitted for execution in one transaction and it fails on the 13th one.

Now, this should answer your questions:

1.Can you define what is "duplicated update"? Are we talking about duplicated parent or child Id or something else?
>In above scenario, every case record would update same Account (flow being on Account), so it fails after the 12th case record.

2.What about inner loop? Let's say I have 2 contacts and each has 10 tasks. When I loop through those contacts and update those tasks OUTSIDE the loops after storing them as a collection variables, would I still hit the limit?
>To be precise, in one transaction if the count at one bulk DML action is greater than 12 records it errors out.

3.Hitting the limit means when I have the DML inside the loop or outside the loop or both? If both, does it mean that even though I add all the tasks to be updated in the collection sobject variable and update them at one shot, as long as there are more than 12 tasks needs to be updated, I will hit the limit?
>Irrespective of the DML inside the loop or outside the loop or both or bulk DML from API/ REST or any bulk DML and you add all the tasks to be updated in the collection sobject variable and update them at one shot it fails with count >12.


4.How to determine what is the parents and what is the child in the flow? If I query multiple unrelated objects in the same flow and update them separately within the same flow, would I ever hit the limit?
>This is tricky to answer as it depends if they're all being updated in the same transaction at once.


5.At last, you still haven't tell us how to refactor our flow to avoid hitting the limit if we really have more than 12 tasks in a contact.
>Unfortunately, we do not have any workaround.

 
Logged a ticket with SFDC and they indicate that after the update, if your Process Builder triggers a Flow, that it will error out after updating 12 records.  Is that true?  This sounds like Salesforce doesn't want us to use Flows.

Here is the response from Salesforce: 
Salesforce Support February 1 at 2:01 PM EST
This is to keep it simple:

Consider an auto launched Flow (say Flow1) that takes an AccountId as input variable - Has only one RecordUpdate element in it that updates the Account.Description matching the AccountId with string "Case Created".
Consider a Process (say Process1) on Case object that gets triggered on Case create/edit - with "No criteria—just execute the actions!" and has an immediate action that calls this auto launched flow Flow1 with argument Case.AccountId

Now create 20 cases in bulk - with same accountId as follows
-----------------------------
List<Case> caseList = new List<Case>();

for(Integer i=0;i<20;i++){

Case c = new Case();

c.Status = 'New';

c.AccountId = '0014100000pINGZ';

caseList.add(c);

}

insert caseList;
-----------------------------

When 20 Cases are created, it creates 20 interviews of the Process1. Now each Process creates an interview of Flow1 - So 20 interviews of Flow1 are created and submitted for execution in one transaction and it fails on the 13th one.

Now, this should answer your questions:

1.Can you define what is "duplicated update"? Are we talking about duplicated parent or child Id or something else?
>In above scenario, every case record would update same Account (flow being on Account), so it fails after the 12th case record.

2.What about inner loop? Let's say I have 2 contacts and each has 10 tasks. When I loop through those contacts and update those tasks OUTSIDE the loops after storing them as a collection variables, would I still hit the limit?
>To be precise, in one transaction if the count at one bulk DML action is greater than 12 records it errors out.

3.Hitting the limit means when I have the DML inside the loop or outside the loop or both? If both, does it mean that even though I add all the tasks to be updated in the collection sobject variable and update them at one shot, as long as there are more than 12 tasks needs to be updated, I will hit the limit?
>Irrespective of the DML inside the loop or outside the loop or both or bulk DML from API/ REST or any bulk DML and you add all the tasks to be updated in the collection sobject variable and update them at one shot it fails with count >12.


4.How to determine what is the parents and what is the child in the flow? If I query multiple unrelated objects in the same flow and update them separately within the same flow, would I ever hit the limit?
>This is tricky to answer as it depends if they're all being updated in the same transaction at once.


5.At last, you still haven't tell us how to refactor our flow to avoid hitting the limit if we really have more than 12 tasks in a contact.
>Unfortunately, we do not have any workaround.

 

While Deploying components from one salesforce org(Sandbox) to another salesforce org(Sandbox) using migration tool, I am getting below errors,
1. package.xml (settings/LeadConvert.settings) -- Error: settings/LeadConvert.settings is not a valid metadata object. Check the name and casing of the file.
2. objects/Event.object -- Error: SaveEdit is not a standard action and cannot be overridden.
3. objects/Order.object -- Error: Activate is not a standard action and cannot be overridden.

Note : I am getting this errors while deploying components using migration tool (Bamboo) from one sandbox to other sandboxes. fortunately, I am able to deploy component from sandbox to production org, so one possible reason could be the recent update of a sandbox with Spring ’17 Release. 

Any response would be graciously appreciated!

Thank you.



 

  • January 11, 2017
  • Like
  • 3