SAP Knowledge Base Article - Public

3787956 - Unable to fetch compliance form data with api for manual Onboarding

Symptom

Unable to fetch Compliance form data with API for manual Onboarding process

Environment

SAP SuccessFactors Onboarding

Reproducing the Issue

  1. Initiate manual onboarding and enter a user id that contains leading zeros.
  2. Complete onboarding so that compliance data is created.
  3. Call the OData entity ComplianceUserFormData using a filter with an unquoted user id value (for example: user eq the id) and optional parameters such as year and $expand=data.
  4. Observe that the API returns no records for the user even though compliance data exists.

Cause

The OData filter parser interprets an unquoted user id (for example, 00123456) as a numeric literal and drops leading zeros (123456), while the ComplianceProcess user field is stored as a string with leading zeros. The numeric value does not match the stored string value, resulting in no matches.

Resolution

  1. Pass the user id as a quoted string literal in the OData filter to preserve leading zeros, for example: user eq 'the id'.
  2. Retest the ComplianceUserFormData request (optionally with year and $expand=data) and confirm that records are returned.
  3. If feasible for testing, when initiating manual onboarding, consider using a user id format without leading zeros to avoid numeric/string mismatches.

See Also

Keywords

odata v2, ComplianceUserFormData, compliance form data, manual onboarding, leading zeros, user id filter, string literal, numeric parsing, mdf, DataType.USER, no data returned, api filter, ComplianceProcess, onboarding 2.0, country forms , KBA , LOD-SF-OBX-FRM , Compliance 2.0 Country Forms (except i9&EV) , Problem

Product

SAP SuccessFactors Onboarding