Symptom
The error below is occurring in an Upsert on EmpPayCompRecurring:
"Property paycompvalue has invalid value. For input string: "1", required type is Edm.Double."
However the "paycompvalue" field is receiving a proper value with "Double" type already.
Image/data in this KBA is from SAP internal systems, sample data, or demo systems. Any resemblance to real data is purely coincidental.
Environment
- SAP SuccessFactors HCM
- OData API
Reproducing the Issue
- Send the Upsert below:
{
"__metadata": {
"uri": "EmpPayCompRecurring(userId='1234',startDate=datetime'2021-01-01T00:00:00')"
},
"payComponent": "Salary",
"currencyCode": "USD",
"paycompvalue": "1",
"frequency": "monthly"
} - Error happens.
Cause
The number character "1" is causing the error. The API is expecting the number characters in ASCII encoding ("1" for the example used above).
Resolution
Make sure the Upsert payload is sending the number characters in ASCII.
So, in order to fix this, please replace any non-ASCII number characters by their respective ASCII number character ("1" by "1", for example).
Keywords
odata api, paycomprecurring, comp recurring, successfactors, upsert, insert , KBA , LOD-SF-INT-EC , Employee Central SFAPI & OData Entities , Problem