Lo scenario è: Abbiamo introdotto un nuovo campo nell’oggetto ma questo non è valorizzato. Tutti i record devono avere valorizzato questo campo.
La soluzione è una bonifica. La bonifica consiste nel valorizzare il campo che ci si aspetta sia valorizzato.
Come procedere ad una bonifica dati in Salesforce?
Le soluzioni sono:
- Data loader
- Excell connector
- Apex
Come aggiornare un campo su tutti i record di un oggetto
//1. ottengo tutti i wo che non hanno il campo Company__c valorizzato
List <WorkOrder> lwo = [SELECT id,
AccountId,
ParentWorkOrderId,
Master_Company__c
FROM WorkOrder
where Company__c = null];
System.Debug('Lista WO: '+lwo);
// creo la nuova lista dove inserirò il valore aggiornato della Company_c
List <WorkOrder> updateLwo = new List <WorkOrder>();
for(WorkOrder itemWo : lwo){
updateLwoMaster.add(new WorkOrder(
Company__c = itemWo.AccountId
));
}
System.debug('Nuovo Lista da: ' + updateLwo);
// DML
update updateLwoMaster;