Overview:
The user receives the following error when the Call Objective is created or added to an Account Plan:
VOD_CALL_OBJECTIVE_AFTER_INSERT_UPDATE: execution of AfterInsert caused by: System.DmlException: Insert failed. First exception on row 0; first error: INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST, Row Cause: bad value for restricted picklist field: Veeva_Account_Plan_Sharing_vod__c: [RowCause] Trigger.VOD_CALL_OBJECTIVE_AFTER_INSERT_UPDATE: line 45, column 1
The Account Plan Sharing feature is enabled in the org.
Root Cause:
The Apex Sharing Reason is not created to the Call Objective object and the object is set to private Organization Wide Default. When the Call objective object is set to private, the sharing trigger tries to create a sharing record when the record is created or added to an Account Plan.
Solution:
The Call objective must not be set to private Organization Wide Default or an Apex Sharing Reason must be created to it.
Related Documentation:
CRM Help Documentation: Account Plan Sharing