Buscar..


Bulkificación

Si realiza el procesamiento fila por fila en Salesforce, probablemente alcanzará el límite del gobernador rápidamente. Esto es especialmente cierto con los factores desencadenantes y las cosas que se activan cuando no los espera. Un método documentado de escapar del límite del gobernador es la masificación.

Nota: la siguiente información se basa en los documentos oficiales de Salesforce.

Acumular el código de Apex significa asegurarse de que el código maneja correctamente más de un registro a la vez. Cuando un lote de registros inicia Apex, se ejecuta una sola instancia de ese código de Apex, pero esa instancia necesita manejar todos los registros en ese lote dado.

No Bulkified:

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
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow