SAP Knowledge Base Article - Public

2322363 - OData API Query operation fails with error “Bad Request-invalid property name” for a translatable field

Symptom

OData API when queried by selecting a translatable field gives the following error: ODATA Execution Error Code: 400-COE_PROPERTY_NOT_FOUND Bad Request-invalid property name

Environment

Successfactors BizX System

Reproducing the Issue

Taking position entity’s external name as example:

External Name field in Position entity is a translatable field, based on the language packs enabled this field will have different values and it can be queried using the corresponding field exposed through the web service

  1.  Query Position API by selecting External Name field.
  2. For Example: /Position?$format=json&$select=code,externalName_en_US,externalName_en_GB.
  3. In the OData API audit log response you can find the following error:
{
"error" : {
"code" : "COE_PROPERTY_NOT_FOUND", "message" : {
"lang" : "en-US", "value" : "invalid property name: Position/externalName_en_GB"
}
}
}

Cause

Scenario 1:

The field which is being queried, is not present in the metadata file.


Scenario 2:

The corresponding language pack is not enabled from the backend but still the field is selected in the query.

Resolution

Scenario 1: 

        Please follow the KBA "2171588 " to resolve the error. 

Scenario 2: 

       Always use relevant fields in the select statement, if the corresponding language pack is not enabled in the instance it is always advised not to use the respective fields while querying. 

       To check what language packs are enabled for the company ID:

  1. Log into iProvisioning system.
  2. Click on options, and “Choose Language”.
  3. Here we can see the enabled languages and the default locale selected for the logged in user.

See Also

What if I accidentally uncheck a language pack from the back end and save the configuration?

       1. Values are not lost from the data base

       2. These values will be hidden from the UI for all the users.

       3. Also, the API query will fail with “COE_PROPERTY_NOT_FOUND”

Solution:

Please re-enable back the language pack from back end and perform a metadata refresh (2171588) now the values should be visible on UI and the query should be successful.

Keywords

400 COE ENTITY NOT FOUND , KBA , coe_property_not_found , bad request-invalid property name , LOD-SF-INT-API , API & Adhoc API Framework , LOD-SF-FWK-MDF , MDF Framework , Problem

Product

SAP SuccessFactors HCM Core 1511 ; SAP SuccessFactors HCM Core 1602 ; SAP SuccessFactors HCM Core 1605 ; SuccessFactors HCM Core 1508