ERPClimb logoERPClimb
Login
Models and data binding
Fiori & SAPUI5beginner

Models and data binding

Full lesson currently free to read · AI practice limits apply separately

Key takeaway

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

Models and data bindingResponsibility map; not a mandatory configuration order. Model: Named model orders contains an Items collection.; Context: Row context points to Items/1 for the second item.; Type: Input abc is rejected rather than becoming zero.; Refresh: Item B becomes 25; item A remains 10.ERPClimb.com · BEGINNER · ORIGINAL TEACHING DIAGRAMModels and data binding1. ModelNamed model orders contains an Items collection.2. ContextRow context points to Items/1 for the second item.3. TypeInput abc is rejected rather than becoming zero.4. RefreshItem B becomes 25; item A remains 10.Responsibility map; not a mandatory configuration orderSynthetic evidence. Verify SAP product, edition, runtime and enabled capabilities.

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

Illustrative 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.

Related SAP topics