I'm using an ETL tool Talend for data push to salesforce. When I'm upserting the accounts getting the error below In the mapping I specified the business accounts recordtypeId but still is throwing the same error.
1.What is the cause for the error?
2.Do I need to add anything else other than the recordtypeId to differentiate the Business Accounts and person Accounts?
Error:
Exception in component tSalesforceOutput_1
java.lang.Exception: Cannot specify any additional fields when marrying or separating a Person-Account
at org.talend.salesforce.SforceManagementImpl.upsert(SforceManagementImpl.java:481)
at salesforceetl.sync_accounts_0_1.sync_accounts.tMysqlInput_1Process(sync_accounts.java:2841)
at salesforceetl.sync_accounts_0_1.sync_accounts$2.run(sync_accounts.java:19166)
ERROR: export_salesforce_client -> Accounts: Cannot specify any additional fields when marrying or separating a Person-Account
-- null records rejected. Please check error log file workspace/log/sync_salesforce.sync_accounts.loaderrors.log
Best Answer
When changing record types from business to person you cannot specify any other field values.
I believe what is happening is that you are trying to populate the record type of a BUSINESS account with the value of the Person account record type along with the other fields and this is not allowed.
Or alternately you are trying to change a person account of one record type ID to another person account record type ID...
Basically the change of the recordType ID cannot include any other field values