Aug 27, 2021

System.TypeException: Cannot have more than 10 chunks in a single operation. Please rearrange the data to reduce chunking.

 System.TypeException: Cannot have more than 10 chunks in a single operation. Please rearrange the data to reduce chunking.

Cause:   
If  we are doing DML operation on collection of sobject in single operation.
1. More the 10 Sobjects 
List<Sobject> dmlList = new List<Sobject>();
dmlList.add(New Account (Name='Test'));
dmlList.add(New Contact (LastName='Test'));
dmlList.add(New Lead (Name='Test'));
dmlList.add(New opportunity (Name='Test'));
dmlList.add(New custom1__c (Name='Test'));
dmlList.add(New custom2__c (Name='Test'));
.
.
.
dmlList.add(New custom11__c (Name='Test'));
insert dmlList;
        2. Less than 10 Sobjects and  records in not in order
List<Sobject> dmlList = new List<Sobject>();
dmlList.add(New Account (Name='Test'));
dmlList.add(New Contact (LastName='Test'));
dmlList.add(New Lead (Name='Test'));
dmlList.add(New Account (Name='Test'));
dmlList.add(New Contact (LastName='Test'));
dmlList.add(New Lead (Name='Test'));
.
.
.
dmlList.add(New Account (Name='Test'));
dmlList.add(New Contact (LastName='Test'));
dmlList.add(New Lead (Name='Test'));
insert dmlList;
Solution:
SImply Use SORT() method
dmlList.sort();
insert dmlList;
(OR)
List<Sobject> dmlList = new List<Sobject>();
dmlList.add(New Account (Name='Test1'));
dmlList.add(New Account (Name='Test2'));
.
.
dmlList.add(New Account (Name='Test11'));
dmlList.add(New Lead (Name='Test1'));
dmlList.add(New Lead (Name='Test2'));
.
.
dmlList.add(New Lead (Name='Test11'));
dmlList.add(New Contact (LastName='Test1'));
dmlList.add(New Contact (LastName='Test2'));
..
..
dmlList.add(New Contact (LastName='Test11'));
insert dmlList;

No comments:

Post a Comment