Symptom
- OnInit UI rule error appears when launching a custom MDF in People Profile.
- Error message: Rule "XYZ" execution failed with error "[Error: could not access/write property (CUST_abc) in: java.util.ArrayList]"
Environment
SAP SuccessFactors HCM Suite
Reproducing the Issue
- Navigate to the logged-in user's People Profile.
- Launch the custom MDF portlet.
- Observe the error message.
- Navigate to another user's profile.
- Launch the same MDF portlet.
- Observe that no error message appears.
Cause
A parent-object OnInit business rule still references a child association as one-to-one after the association was changed to one-to-many. The rule line continues to assume a single child record instead of a list, leading to the backend error.
Resolution
- Review recent object model changes and confirm the child association was changed from one-to-one to one-to-many.
- Go to Admin Center > Configure Business Rules and open the OnInit rule for the custom MDF object.
- Recreate or update any Set statements that reference the child object so they correctly handle a one-to-many association (for example, refactor logic to the child object’s rule or explicitly target the intended child record).
- Save the rule. Editing or recreating the UI alone will not resolve this, as the rule executes in the backend.
- (Recommended) Clear MDF cache and run the MDF Object Definition to DB Sync to ensure metadata consistency.
- Test the behavior in Manage Data using the same UI as People Profile, then retest in People Profile to confirm the error no longer appears.
See Also
Keywords
oninit, ui rule, mdf, custom mdf, people profile, rule execution failed, could not access/write property, java.util.ArrayList, association change, one-to-one, one-to-many, 1:1, 1:n, child object rule, configure business rule, mdf db sync , KBA , LOD-SF-MDF-RUL , Custom Oject based Business Rules , LOD-SF-MDF-OBJ , Object Definition & Field Related Issues , How To
SAP Knowledge Base Article - Public