SAP Knowledge Base Article - Public

2868631 - SF Odata API Error - COE0019 cannot convert property <customfield> value to odata4j property value.expected type is :decimal, but given type is: java.lang.String value (SFOData.JobApplication)

Symptom

1. When running Integration Center Outbound Report for JobApplication with CustomField, below erros is shown in Preview or Event Log.

  IC_1 - Copy.jpg

2. When doing API Query for SFOData.JobApplication , the query fails with below API response.

  • Request Query : https://<apiurl/endpoint>/odata/v2/JobApplication?$filter=applicationId eq XXX&$top=10&$format=json
  • Response Payload

{
"error" : {
"code" : "COE_GENERAL_SERVER_FAILURE", "message" : {
"lang" : "en-US", "value" : "[COE0019]<username>@<companyId>: cannot convert property JobApplication.<customfield> value to odata4j property value.expected type is :decimal, but given type is: java.lang.String value: <numeric value>"
}
}
}

Image/data in this KBA is from SAP internal systems, sample data, or demo systems. Any resemblance to real data is purely coincidental.

Environment

Successfactors HXM Suite

Reproducing the Issue

1. Generate a report for SFOData.JobApplication in Integration Center and Query a customfield. See above error

or

2. Run an API Query for SFOData.JobApplication to include a customfield you have added. See above error response.

Cause

  • The custom field data type in the 'Job Application Template' (xml) is not configured to 'currency' or 'number'
  • The mapping is not defined under 'Managing Recruiting > Configure Reportable Custom Fields > Map Custom Fields to Extended Fields for Reporting'

Resolution

1. Check the Job Application Template to ensure that the data type is correctly defined as either number, currency or text depending on the use of the custom field.

See Sample Below. type="currency" since the custom reportable field is to used to store numeric value (e.g. salary, pay, etc.,)

JA Template xml.jpg

2. For all custom field configured and expected to be reportable, this has to be mapped properly in provisioning under 'Managing Recruiting > Configure Reportable Custom Fields > Map Custom Fields to Extended Fields for Reporting'

In this example, 'custom01' field id from the template is placed under Extended Table for Number (note: if the custom field is Date value, put the id in Date Extended Table)

Note : If customer does not have partner/consultant with access to provisioning, kindly reach out to SAP Product Support for assistance.

Prov.png

3. Clear the Odata API Metadata Cache, follow the steps in the KBA 2171588 and Clear MDF Cache in Provisioning after making any changes.

4. Retry the Integration Center Job Execution or the API Query.

Result : The error is no longer showing for incorrect field data type.

result.jpg

See Also

2171588 - OData API Metadata Refresh and Export - SuccessFactors Cloud

2082095 - Field types in the application template - Recruiting

Keywords

COE_GENERAL_SERVER_FAILURE, COE0019, cannot convert property XX value to odata4j property value.expected type is :decimal, but given type is: java.lang.String value, SFOData.JobApplication, Map Custom Fields to Extended Fields for Reporting, Configure Reportable Custom Fields , KBA , LOD-SF-RCM-INT , Integration Center & Intelligent Services , LOD-SF-INT-INC , Integration Center , Problem

Product

SAP SuccessFactors HCM Core all versions