anchor.diff:              sourcefld := sourceFieldsMap.Find(Uppercase(aTable.SourceKeyFields.Strings[q])) as TField;
               if not Assigned(sourcefld) then
               begin
  -              logger.Error('Field "' + aTable.SourceKeyFields.Strings[q] + '" not found in source query');
  -              raise Exception.Create('Field "' + aTable.SourceKeyFields.Strings[q] + '" not found in source query');
  +              msg := 'Field "' + aTable.SourceKeyFields.Strings[q] + '" not found in source query';
  +              logger.Error(msg);
  +              if Assigned(aResults) then
  +                aResults.AddError(msg);
  +              raise Exception.Create(msg);
               end;
               SQLBuilderDestination.ParamByName(aTable.SourceKeyFields.Strings[q]).Assign(sourcefld);
             end;
  
positive.code: {$I mDefines.inc}
  
  uses
    DB, Classes,
    mDatabaseConnection, mDatabaseConnectionClasses,
    mProgress, mThreads,
    mDataPumpConfiguration;
  
  type
  
  
negative.code:               except
                  on e : Exception do
                  begin
                    msg := 'Error in query ' + tmpsql;
                    logger.Error(msg);
                    logger.Error(e.Message);
                    if Assigned(aResults) then
                    begin
                      aResults.AddError(msg);
                      aResults.AddError(e.Message);
                    end;
                    raise;
                  end;
                end;
  