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