Models and data binding
Full lesson currently free to read · AI practice limits apply separately
Property, list and context bindings solve different problems. A named model must be addressed by its name; a relative path needs a suitable binding context. Prefer types and validation for user input rather than silently converting arbitrary strings inside display formatters.
Visual overview
Explanation
Tutorial outcome
Property, list and context bindings solve different problems. A named model must be addressed by its name; a relative path needs a suitable binding context. Prefer types and validation for user input rather than silently converting arbitrary strings inside display formatters.
Prerequisites
Complete chapters 1–3 in this module. Use synthetic fixtures or an authorized sandbox.
Worked case — fictional
The same mock order amount appears on every row because the binding uses a header-level context.
Step-by-step investigation
1. Model
Identify the model name and root shape before choosing a path.
Expected evidence: Named model orders contains an Items collection.
2. Context
Give each repeated row its own item context and use relative paths for item fields.
Expected evidence: Row context points to Items/1 for the second item.
3. Type
Test numeric input and invalid text using the chosen type and validation behavior.
Expected evidence: Input abc is rejected rather than becoming zero.
4. Refresh
Change one record through the supported model API and verify only the relevant bound values change.
Expected evidence: Item B becomes 25; item A remains 10.
Try it yourself
Reproduce the synthetic input from the example below in a local fixture or authorized sandbox. Follow each step, record the observed result, and explain any mismatch before continuing. Do not treat the expected evidence as a result observed in your SAP tenant.
Acceptance check
Rows retain independent contexts and invalid text cannot silently overwrite numeric data.
Common failure to avoid
Do not confuse an absolute binding path, a row context and a formatter's display-only role.
Self-check
What should you inspect when every row displays the header amount?
Expected reasoning: The binding path and row context.
Edition and release scope
Check the linked SAP documentation for your product, runtime, region and enabled service plan. The worked case is a simulation; these steps were not executed in a customer SAP tenant.
SAP references
References checked 2026-10-30. SAP material supports the named concepts; the case, fixture and acceptance checks are original ERPClimb teaching material. No SAP tenant execution or certification is claimed.
[SAP Learning — UI development foundations](https://learning.sap.com/courses/learning-the-basics-of-sap-fiori/explaining-user-interfaces_c2d82120-6a0c-49d2-b872-8b5352c0dfad) — UI technologies, MVC, development responsibilities
[SAP Learning — Advanced SAPUI5 Development](https://learning.sap.com/courses/advanced-sapui5-development) — Controls, QUnit, OPA5 and advanced application patterns
Code example
{"Items":[{"id":"A","amount":10},{"id":"B","amount":20}]}// Expected after editing B: [10,25], not [25,25].Loading guided workshop…
Real project scenario
The same mock order amount appears on every row because the binding uses a header-level context.
Common mistakes
Do not confuse an absolute binding path, a row context and a formatter's display-only role.
Best practices
Rows retain independent contexts and invalid text cannot silently overwrite numeric data. Check the linked SAP documentation for your product, runtime, region and enabled service plan. The worked case is a simulation; these steps were not executed in a customer SAP tenant.
Interview angle
What should you inspect when every row displays the header amount? The binding path and row context.
Practice this lesson
Original educational case studies for SAP consultants, not official SAP certification exam questions. Verify product edition and implementation details against the current SAP documentation.
Quick check
0 of 3 questions attempted
1. Which binding mode keeps the model updated when the user edits an input?
2. What is a JSON model typically used for in an OData-based app?
3. Where should value formatting for display (e.g. status text) be done?
Interview questions
1. Explain the main model types and binding types in SAPUI5.
Answer it in your own words first, then compare.
2. How do you avoid performance problems with data binding in large lists?
Answer it in your own words first, then compare.
Check before use: lesson examples are educational, not a guarantee of correctness for your SAP edition or release. Sample code has not been executed on your SAP system. Confirm API availability, syntax, authorizations and business impact in an approved development or test environment.