Zoeken…


Bulkification

Als u rij voor rij verwerking uitvoert in Salesforce, zult u waarschijnlijk snel de limiet van de beheerder bereiken. Dit geldt met name voor triggers en dingen die afgaan als je ze niet verwacht. Een gedocumenteerde methode om te ontsnappen aan de gouverneurslimiet is bulking.

Opmerking: de volgende informatie is gebaseerd op de officiële Salesforce-documenten.

Bulking Apex-code betekent ervoor zorgen dat de code meer dan één record tegelijk goed verwerkt. Wanneer een batch records Apex initieert, wordt een enkele instantie van die Apex-code uitgevoerd, maar die instantie moet alle records in die gegeven batch verwerken.

Niet bulk:

trigger accountTestTrggr on Account (before insert, before update) 
{

   //This only handles the first record in the Trigger.new collection
   //But if more than 1 Account initiated this trigger, those additional records
   //will not be processed
   Account acct = Trigger.new[0];
   List<Contact> contacts = [select id, salutation, firstname, lastname, email 
              from Contact where accountId =&nbsp;:acct.Id];
   
}

Bulkified:

trigger accountTestTrggr on Account (before insert, before update) 
{
    List<String> accountNames = new List<String>{};
   //Loop through all records in the Trigger.new collection
   for(Account a: Trigger.new){
      //Concatenate the Name and billingState into the Description field
      a.Description = a.Name + ':' + a.BillingState
   }
}


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow