Download and install the latest patch, which contains all fixes from previous patches. If you are running an older version, download and install the latest version and then the patch.
When identical phone numbers are included in a constituent update batch, the batch validation checks the new phone numbers against existing ones, and matches up numbers that are the same. If a match is found, that value is treated as an update instead of an insert. So, if a number exists as primary on a constituent record and that number is added to a constituent update batch and not marked as primary, the batch validation will identify the match and attempt to update the phone number to be non-primary. This will trigger the exception, because each constituent must have at least one primary number.
Connect and collaborate with fellow Blackbaud users.