SAP Knowledge Base Article - Public

2801645 - Error "EmpJob/timeInJob is not viewable" after performing a query - OData API

Symptom

The error "[COE0003]Bad property expression: EmpJob/timeInJob; EmpJob/timeInJob is not viewable" is shown after a query is made on EmpJob when the select clause include the field "timeInJob".

Environment

  • SuccessFactors
  • OData API

Reproducing the Issue

  1. Perform the query "https://apisalesdemo4.successfactors.com/odata/v2/EmpJob?$format=json&$filter=userId eq '1234'&$select=timeInPosition,timeInJob".
  2. The error below is shown:

    {
        "error": {
            "code": "COE_BAD_PROPERTY_EXPRESSION",
            "message": {
                "lang": "en-US",
                "value": "[COE0003]Bad property expression: EmpJob/timeInJob; EmpJob/timeInJob is not viewable"
            }
        }
    }

Resolution

The field "timeInJob" is a transient field. The value of a transient field is not stored in the database, but is determined at runtime, based on rules or associations.

When an OData query is performed selecting a transient field, its data can't be retrieved directly and a null value is returned, so a transient field really can't be used in a query.

Keywords

successfactors, success, factors, odata, api, error, bad, property, expression, is, not, viewable, filterable, false, selectable, timeinjob, empjob, transient, value, COE_BAD_PROPERTY_EXPRESSION, COE0003, query, extract, , KBA , LOD-SF-INT-ODATA , OData API Framework , LOD-SF-INT , SF Integrations - EC Payroll, Boomi/ HCI, API , Problem

Product

SAP SuccessFactors HCM Suite all versions