SAP Knowledge Base Article - Public

3497153 - Picklist attributes are missing after creating a Data Flow in Datasphere from SuccessFactors via Odata API

Symptom

Picklist attributes are missing after importing data from SuccessFactors (SF) via OData API.

Environment

SAP Datasphere

Reproducing the Issue

  1. Logon to Datasphere tenant
  2. Go to Data Builder
  3. Create a Data Flow through connection to SF
  4. Select a query with picklist fields, e.g JobRequisition
    => Note that picklist attributes are not there

Cause

  • Picklist fields in SF are exposed as navigation attributes by SF OData API, which, by default are not consumed by the adapter used in SF/OData connection, as explained at Configuration Guide for Other SAP HANA Scenarios | Help Guide.

    Show Navigation PropertiesSelect True or False for the OData Service to return Navigation Properties.

    If Show Navigation Properties is False, the select * SQL query returns only the regular properties.

    If Show Navigation Properties is True, the select * SQL query also returns the navigation properties.

    Note

    Because the maximum length of an HTTP request is restricted, avoid using the select * query if the total lengths for all Property and Navigation Property names exceed the restriction.

    The default value is False.      

          
  • Datasphere only supports the default value of this property so far.

Resolution

  • To request a new feature or product enhancements, SAP has defined a new process and tool called Influence and Adopt. Influence and Adopt, allows customers to log Enhancement Requests themselves and have the ability to work more directly with our technology and development group.

    SAP is committed to reviewing and responding to the requests submitted on a regular basis. The ideas with the most votes will receive a higher level of attention for response and consideration. The processes and procedures associated with this site will continue to evolve and enhance over time. Refer to Knowledge Base Article 1515837 for more details.

          
  • Workaround: In Datasphere, use Data Flow to consume navigation attributes as explained at Acquiring, Preparing, and Modeling Data with SAP Datasphere | Help Guide:
    ---- 
    [optional] For source tables from OData remote connections, you can edit the depth properties of a selected source table in the OData Properties section. Click pencil icon (Edit OData Properties) to open the OData Properties dialog. You can set the depth of the source table to either 1 or 2.

    The depth of an OData object refers to the level of related entities that are included in the response when querying the OData service. The depth is by default set to 1 so that only the properties of the requested entity are returned. You can change the depth to 2 to include a second level. Depth is useful when you want to optimize performance by controlling the amount of data returned in a single request.

    Example:

    If an OData service has two objects for Products and Orders, and a Product object has a navigation property to related Order objects, a request for a specific Product with a depth of 1 will return the properties of that Product, but not the related Order objects. But if you specify a depth of 2, it will also return the related Order objects and their properties.

    Restriction

    When the depth is set to 2, the Columns section shows the columns from the two collections (or levels) and the following problems occur:

    • The Data Preview cannot show more than one collection. The columns from the second collection cannot be previewed.

            
    • The Data Flow run will fail.

    Retaining columns from just one collection and deleting the rest fixes both issues.
    ----

Keywords

DWC, DS, DSP, lost, not found, cannot found, unexpected, 1 to many, one to many , KBA , DS-DI-CON , Connections , Problem

Product

SAP Datasphere 1.0