Seleziona la tua lingua

  • Davide Gammone

            

Davide Gammone.com
Come risolvere l'errore "Duplicate id in list" in Salesforce

Nel linguaggio di programmazione Apex di Salesforce, le Liste possono conservare valori duplicati ma, se contengono sObject IDs duplicati e si prova ad effettuare un update o una delete, si otterrà l'errore: "System.ListException: Duplicate id in list".

E' possibile risolvere tale problema in modo semplice:

  1. Creare una mappa di <id,sobject>
  2. Convertire la lista in mappa così da rimuovere gli IDs duplicati.
  3. Effettuare l'Update o la Delete dei valori contenuti nella mappa.

Esempio:

// pick up any id from your salesforce org, in this sample it is account id. 
Id aid = '0017F000002WkkdQAC';

List<Account> al = new List<Account>();

for(account a : [select id from account where id ='0017F000002WkkdQAC']){
	Account acc = new Account(id = aid);
	al.add(a);
	al.add(acc);
}
//create a map that will hold the values of the list 
Map<id,account> accmap = new Map<id,account>();

//put all the values from the list to map. 
accmap.putall(al);
if(accmap.size()>0){
	update accmap.values();
}

GDPR Alert

Questo sito utilizza cookie, anche di terze parti, per offrirti servizi in linea con le tue preferenze. Chiudendo questo banner, scorrendo questa pagina o cliccando qualunque suo elemento acconsenti all'uso dei cookie. Se vuoi saperne di più o negare il consenso a tutti o ad alcuni cookie, clicca su Privacy Policy...

Privacy Policy