SAP Knowledge Base Article - Public

3416857 - Infinite loop while creating new record for MDF objects

Symptom

  • Creating a new record for an MDF object results in an infinite loop.
  • Cyclic loop issue when trying to insert a new record for an MDF object.
  • A custom MDF portlet in People Profile loads very slowly or appears unresponsive when navigating to it or attempting to add a new record, with no explicit error message.
  • Browser DevTools (Network tab) shows the same API endpoint being called repeatedly.

Environment

SAP SuccessFactors HCM Suite

Reproducing the Issue

  1. Go to Manage Data
  2. Search and select the affected MDF object
  3. Click on 'Insert new record'
  4. Chose date
    Result: infinite loop

Cause

The cyclic loop problem is likely caused by conflicting OnChange rules that result in a continuous update loop. Specifically, one rule is updating a field, triggering another rule, and vice versa.

Or an UI rule and a business rule are both configured to write to the same field on a Configurable UI, creating a circular trigger chain:

  1. On portlet load or record creation, the UI rule fires and sets Field X to a value (e.g., NULL).
  2. An onChange or onInit business rule detects the change and sets Field X to a different value.
  3. The business rule write re-triggers the UI rule.
  4. Steps 1–3 repeat indefinitely, producing the loop.

Resolution

To resolve this issue, please follow the steps below:

  1. Review the business rules and UI rules configured on the affected object and identify any rules that are targeting the same field with conflicting logic. A UI rule setting a field to a specific value while a business rule simultaneously sets it to a different value is the most common source of the cyclic loop.

  2. Adjust the UI rule responsible for updating the field to ensure that it only modifies the field when the current value is different from the intended value. This helps prevent unnecessary updates and cyclic loops.

  3. Ensure there are no additional onChange rules introduced at the field level. Custom onChange rules might conflict with system defaults, contributing to the cyclic loop. Remove any custom onChange rules for a smoother resolution.

For a seamless resolution, it is recommended to remove any custom rules that might conflict with system defaults. If the logic is still required, re-implement it as a business rule using the Rules for MDF Objects scenario, see Configuring Rules for Metadata of MDF Objects. For new implementations, use the non-configurable UI solution, see MDF Card Configurations for Latest People Profile.

Keywords

mdf, object, custom, field, metadata, framework, sf, onChange, rule, rules, UI , KBA , LOD-SF-MDF-OBJ , Object Definition & Field Related Issues , Problem

Product

SAP SuccessFactors HXM Core 2311