[SalesForce] How to replace the pick list values in existing records for a particular record type

I have a picklist field 'Priority' on the Account object with the values 'A+, A, B+, B, C+' and also I have the record types 'Test, Test1, Test2' on the Account object. I have around 1M records in Account object,

My current need is to replace all my Priority field values as,

A+ -> High Priority
A  -> Priority
B+ -> Medium Priority
B  -> Low Priority
C  -> Low Priority

only for the Record Type 'Test'.

I can simply add the new picklist values to the field priority and can select only the record type 'Test'. But I need to replace the existing record priority values with the new values for the record type 'Test'. I don't think we can replace the values by clicking the replace button since it will update all the records instead of only the records that Record Type 'Test'.

Am I correct or can we do it by clicking the replace button for a specific record type?

If not,

What is the best way?

Data loader with bulk API?

Best Answer

You're correct.

Using replace will replace the picklist value completely across all record types.

Data Loader with bulk API is your best bet. You'll just have to analyze if there's any workflows or logic you might trigger in an update that you'd want to avoid, otherwise you listed the steps.

  1. Create your new picklist value
  2. Query/Pull the necessary records types into a CSV Search and replace the old values for the new
  3. Set your dataloader settings to use bulk API and a batch size of 10,000
  4. Run your CSV through dataloader in an update
Related Topic