Symptom
Unable to fetch Compliance form data with API for manual Onboarding process
Environment
SAP SuccessFactors Onboarding
Reproducing the Issue
- Initiate manual onboarding and enter a user id that contains leading zeros.
- Complete onboarding so that compliance data is created.
- 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.
- 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
- Pass the user id as a quoted string literal in the OData filter to preserve leading zeros, for example: user eq 'the id'.
- Retest the ComplianceUserFormData request (optionally with year and $expand=data) and confirm that records are returned.
- If feasible for testing, when initiating manual onboarding, consider using a user id format without leading zeros to avoid numeric/string mismatches.
See Also
- SAP Help Portal ComplianceUserFormData
- SAP Help Portal Replicate Onboarding Compliance Form Data
- SAP Help Portal Configure the Integration Framework to Replicate Onboarding Forms
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
SAP Knowledge Base Article - Public