The Record Type node contains certain picklist fields and their corresponding picklist values that are assigned to Record Type.
As per the behavior of Salesforce, if a user likes to retrieve a certain picklist field along with the Record type, only those picklist values in the Record Type Node get retrieved.
- RecordTypes PicklistValues configuration as Replace: For every EZ-Commit operation, if the Record Type has no picklist values, it will override the Record Type node in the version control even it has more than one picklist field value.
- RecordTypes PicklistValues configuration as Replace All: This is the same as 'Replace,' the only difference is it will replace the entire existing picklist values.
- RecordTypes PicklistValues configuration as Append: Instead of overriding the entire record type picklist values, it adds to the existing picklist values.
The below table highlights the expected behavior on Picklist Fields and Picklist Values of Record Type node for Append, Replace and Replace All configuration.
|ITEM||OPERATION||ACTION (Performed in your CustomObject file in Version Control)|
Picklist Field/Value Assignment
|Append (No Overwrite)||No Action|
|Replace (Partial Overwrite)||Deleted Picklist Fields/Values will be permanently removed from the Version Control system.|
|Replace All (Complete Overwrite)||Deletes the entire Picklist Fields/Values as the action will overwrite the entire RecordType Picklist Assignment.|
Note: To delete a Picklist field assignment from RecordType node in your VCS, select the entire Picklist fields and its corresponding Record type in your EZ-Commit operation.
|Added||A new Picklist Field/value has been introduced in the Salesforce Org|
|Modified||An existing Picklist Field/value has been changed in the Salesforce Org|
|Deleted||A Picklist Field/Value has been deleted in the Salesforce Org|
|Change||Difference pulled from the Salesforce Org|
A. Configuration for recordTypes picklistValues as 'Replace'
Scenario 1- Picklist field exists in the Record Type: If the Picklist field exists in the Record Type, it overrides its corresponding Picklist values.
Scenario 2- Picklist field does not exist in the Record Type: It searches for the Picklist field availability in the Record Type and if the Picklist field is not present, it gets added to the Record Type. Refer to the screenshot attached below:
B. Configuration for recordTypes picklistValues as 'Replace ALL'
Replaces the entire Picklist fields and its corresponding Picklist values for the Record type.
C. Configuration for recordTypes picklistValues as 'Append'
There can also be two possible scenarios:
Scenario 1- Picklist field exists in the Record Type: If the Picklist field exists in the Record Type, it updates the existing Picklist values and adds the new ones.
Scenario 2- Picklist Field does not exist in the Record Type: Its searches for the Picklist Field availability in the Record Type and if the Picklist Field is not present, it gets added to the Record Type. Refer to the screenshot attached below: