SAP Knowledge Base Article - Public

3801775 - Lookup function returns random or incorrect value when MDF Lookup table Is Effective-Dated

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

  1. 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.
  2. Create a business rule containing a Lookup function against the MDF object.
  3. Configure the Lookup filter using only a lower-bound effective date condition, for example:
    effectiveStartDate <= [target date]
  4. Execute the rule and review the returned value.
  5. 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

  1. Use Rule Trace, following KBA 2257064, to review the Lookup execution and identify all records that satisfy the filter criteria.
  2. 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.
  3. 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.
  4. 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

  • SAP Help Portal - Lookup
  • KBA - 2257064 Employee Central - Business Rule Execution Log

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

Product

SAP SuccessFactors HCM Suite all versions