airmigjr

Database.Result - Insert com lógica

Jul 29th, 2025
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.52 KB | None | 0 0
  1. Account z = new Account(Name=null);
  2. List<Account> contas = new List<Account>{new Account(Name='VolksWagen'),
  3.                                          new Account(Name='Fiat'),
  4.                                          z,
  5.                                          new Account(Name='Jeep'),
  6.                                          new Account(Name=null)};
  7. try{
  8.     Database.SaveResult[] resultado = Database.insert(contas, false);
  9.     List<Database.SaveResult> listaDBSR = new List<Database.SaveResult>();
  10.     for(Database.SaveResult dsr:resultado){
  11.         listaDBSR.add(dsr);
  12.     }
  13.     List<Database.SaveResult> success = new List<Database.SaveResult>();
  14.     List<DataBase.Error> errors = new List <DataBase.Error>();
  15.     Integer errorsIndexCount = 0;
  16.     Map<Integer,List<DataBase.Error>> mapaErros = new Map<Integer,List<DataBase.Error>>();
  17.     for(Database.SaveResult datasr:listaDBSR){
  18.         if(datasr.isSuccess()){
  19.             success.add(datasr);
  20.         }else{
  21.             errors = datasr.getErrors();
  22.             mapaErros.put(errorsIndexCount, errors);
  23.         }
  24.         errorsIndexCount++;
  25.     }
  26.     System.debug('Registros com sucesso: ');
  27.     for(Database.SaveResult s:success){
  28.         System.debug(s.Id);
  29.     }
  30.     System.debug('Registros com erros: '+mapaErros.size()+' registros');
  31.     for(Integer i:mapaErros.keySet()){
  32.         System.debug('Registro nº '+i);
  33.         for(Database.Error de:mapaErros.get(i)){
  34.             System.debug(de.getMessage());
  35.             System.debug(de.getStatusCode());
  36.             System.debug(de.getFields());
  37.         }
  38.     }
  39. }catch(DMLException d){
  40.     System.debug(d.getMessage());
  41. }
Advertisement
Add Comment
Please, Sign In to add comment