SAP Knowledge Base Article - Public

3282664 - After H2 2022 release, 'updateable' & 'upsertable' fields have been fixed in Odata API data dictionary

Symptom

After b2211, Few fields like numbering, userId and type are not upsertable anymore. 

Environment

SAP Successfactors Performance & Goal Management

Cause

The old behaviour is that even though those fields “upsertable: true”, in the backend SF System did not allow any changes and it bypassed any attempts to change them without an error message, so the customer may seem to think the changes went through, but in fact it is never allowed the changes to go through.

The new behavour is that, we now perform validations so that users cannot upsert any changes to those fields in your API, & need to exclude them out in your payload.

After H2 release,We set these system properties to (updatable = false, upsertable = false):

  • id (OBJECTIVE_ID)
  • type (OBJECTIVE_TYPE)
  • userId (USERS_SYS_ID)
  • numbering (OBJECTIVE_NUMBERING)
  • guid (OBJECTIVE_GUID) this property is already set to (updatable = false, upsertable = false).

Resolution

Incase customer needs to create goals via V2 API, we strongly advise to use POST method. In POST method, “userID” and “type” can be used in request body. In Upsert method, users are updating an existing goal, that's why there are certain fields they cannot change anymore.

 Normally, it should be "Post Goal_<templateID>" that is used to create goal. Please change to "Post Goal_<templateID>" method

See Also

TGM-16521,ONB-33295 

Keywords

B2211,Upsertable,Odata API, , KBA , LOD-SF-GM-API , Webservices, OData APIs , Product Enhancement

Product

SAP SuccessFactors Performance & Goals 2211