Symptom
You wish to understand why a field from an MDF based entity is sometimes picked up for replication by or visible via OData API (v2), and other times it is not. Payloads and Audit Logs do not show any warnings or errors
Environment
- SAP SuccessFactors HXM Suite
- SAP SuccessFactors OData API
Reproducing the Issue
- Create a field in the UI, which is linked to an MDF based entity and observe how it is visible in the UI
- Observe how the same field is missing via Manage Data and/or OData API (e.g. via Integration Center)
Cause
Business Rule configuration:
For MDF based entities, onLoad Rules are only supported in some very specific cases in OData v2 (e.g. if the field is set as transient and the field is explicitly set in the $select statement)
In other words, if the value is not persisted in the database and is set through an onLoad rule, it will show on the UI but will not be returned in the OData response
Resolution
Use a Save Rule which will persist the value. This way the API can retrieve such value and return it in the OData API response
Keywords
audit log not available, payload not available, MDF, MDF based entity, Manage Data, Business Rule, onLoad Rule, On Load, OnSave, On Save, OData v2 , KBA , LOD-SF-INT-ODATA , OData API Framework , LOD-SF-INT , Integrations , LOD-SF-INT-API , API & Adhoc API Framework , LOD-SF-INT-MDF , Metadata Framework API (MDF) , How To