Symptom
- A Lookup function in a business rule returns an unexpected value from an effective-dated MDF object.
- The same input data may produce different results at different times.
- Rule Trace logs show that the Lookup function executes successfully, but the returned value does not match the expected effective-dated record.
Environment
SAP SuccessFactors HCM Suite
Reproducing the Issue
- Create or identify an effective-dated MDF object containing:
A baseline record with effectiveStartDate = 01/01/1900.
One or more additional records with later effective start dates. - Create a business rule containing a Lookup function against the MDF object.
- Configure the Lookup filter using only a lower-bound effective date condition, for example:
effectiveStartDate <= [target date] - Execute the rule and review the returned value.
- Run Rule Trace and verify that multiple records satisfy the Lookup criteria.
Result: The Lookup returns a matching record that may not be the intended effective-dated record.
Expected Result: The Lookup should be configured so that the filter uniquely identifies a single effective-dated record.
Cause
The Lookup filter is not sufficiently restrictive to identify a unique effective-dated record. In effective-dated MDF objects, a condition such as effectiveStartDate <= [date] can match multiple records, including the default 01/01/1900 record and later records whose effective start dates also meet the condition. When multiple records satisfy the filter, the Lookup may return a record other than the one expected.
Resolution
- Use Rule Trace, following KBA 2257064, to review the Lookup execution and identify all records that satisfy the filter criteria.
- Review the data in the MDF object and verify the effective-dated records that exist for the Lookup key, including their effective start and end dates.
- Update the Lookup filter so that it uniquely identifies a single record. For example:
Add an upper-bound date condition such as endDate >= [target date].
Add additional filter criteria that uniquely distinguish the intended record. - If a baseline record with an effectiveStartDate of 01/01/1900 is not intended to be returned by the Lookup, review its configuration and adjust the record data or its status as appropriate to prevent it from matching the same filter criteria as the target record.
Important Notes:
- Always test against the full effective-dated history.
- Design Lookup filters that remain unique even when new effective-dated records are added in the future.
See Also
Keywords
MDF, Effective-Dated MDF Object, Business Rule, Lookup Function, Rule Trace, Business Rule Execution Logs, effectiveStartDate, Effective Dating, Multiple Matching Records, Non-Unique Lookup, Unexpected Lookup Result, Incorrect Lookup Value, 01/01/1900 Record , KBA , LOD-SF-MDF-RUL , Custom Oject based Business Rules , Problem
SAP Knowledge Base Article - Public