I'm attempting to upsert a record to a custom object named Contact__c, I'm getting a compile error "Invalid field OwnerID for SObject Contact__c" Here's the code:

if(vault_key != null) {
    Contact__c contactup = new Contact__c();
    contactup.Vault_Key__c = contactmap.get('vault_key');
    contactup.First_Name__c = contactmap.get('first_name');
    contactup.Last_Name__c = contactmap.get('last_name');
    contactup.Street_1__c = contactmap.get('address1');
    contactup.Street_2__c = contactmap.get('address2');
    contactup.City__c = contactmap.get('city');
    contactup.State_Province__c = contactmap.get('prov_state');
    contactup.Country__c = contactmap.get('country');
    contactup.Zip_Code__c = contactmap.get('postal_cd');
    contactup.Client_Account__c = Id.valueof(Usermap.get('Client_Account'));
    contactup.OwnerID = Id.valueof(Usermap.get('Id'));
    upsert contactup;

Any idea why it's telling me OwnerId isn't a valid field?

  • Try field name of Owner. It's the Owner.ID that you're applying to it. – crmprogdev Aug 23 '15 at 22:25
  • @crmprogdev I tried Owner.ID, but that gives an error saying "Invalid foreign key relationship: Contact__c.Owner" – Tim Aug 23 '15 at 22:40
  • @Tim not owner.id just owner – Eric Aug 23 '15 at 22:52
  • @Eric Just owner also throws an invalid field error "Compile Error: Invalid field Owner for SObject Contact__c" – Tim Aug 23 '15 at 23:02
  • 2
    Is there a master-detail relationship on your Contact__c object? – Lance Shi Aug 23 '15 at 23:17

With the comments you answered, the reason is because your contact__c is on the detail side of a master-detail relationship. In that case, the owner of your contact__c object will be the owner of the master object, thus there is no ownerId field on contact__c. Hope this helps.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.