✒️SAP BTPFIORI / Los conceptos de enlace de datos en SAPUI5 Por Jaime Gomez Arango

Selector Alummnos / Empresas

CVOSOFT UNITED STATES OF AMERICA | 17 años de ingeniería dedicados a formación profesional de Consultores SAP | +info

Los conceptos de enlace de datos en SAPUI5

Los conceptos de enlace de datos en SAPUI5

1 | The Concept of Data Binding

Benefits of Binding

Data binding is a fundamental technique in SAPUI5 that allows linking model data to UI controls. Efficient use of this technique can significantly reduce the amount of code needed in a SAPUI5 application, simplifying development and maintenance.

Types of Binding

There are several types of binding modes in SAPUI5 to handle different scenarios:

  • One-way binding
    • Changes in the model are reflected in the UI, but changes made in the UI do not affect the model.
    • Example: Updating the price of a product in the model automatically displays the new price in the UI.
  • Two-way binding
    • Ensures that both the model and the UI are always synchronized. Any change in one is automatically reflected in the other.
    • Example: If the user updates their address in the UI, the model is also updated with the new address.
  • One-time binding
    • Model values are transferred to the UI only once and do not update afterward.
    • Example: Displaying a welcome message that does not change after initially being shown.
  • Aggregation Binding
    • Aggregation binding is relevant for controls that have multiple child elements, such as tables, lists, or dropdowns. This type of binding allows child controls to be automatically created based on the model data.
    • Example: Binding a table to a JSON model containing a list of products. Each row of the table will be automatically generated for each product in the model.

2 | Creating a Project and Binding

Creating a Project

We will create a SAPUI5 project where we configure a user interface (UI) with two input fields for the first name and last name, and a text field to display the full name (a concatenation of the first and last names). When the first name or last name changes, the full name field will automatically update.

Practical Example

  • Create an MTA Project
    • Select a SAPUI5 application.
    • We do not connect to a database in this example.
  • Create the XML View

<mvc:View
controllerName="myApp.controller.Main"
xmlns:mvc="sap.ui.core.mvc"
xmlns="sap.m">
<VBox>
<Input id="firstName" placeholder="First Name"/>
<Input id="lastName" placeholder="Last Name"/>
<Text id="fullName" text="{= ${firstName} + ' ' + ${lastName} }"/>
</VBox>
</mvc:View>

  • Controller
sap.ui.define([
"sap/ui/core/mvc/Controller"
], function (Controller) {
"use strict";
return Controller.extend("myApp.controller.Main", {
onInit: function () {
var oModel = new sap.ui.model.json.JSONModel({
firstName: "",
lastName: ""
});
this.getView().setModel(oModel);
}
});
});

3 | The Element Binding Technique

Element Binding

The element binding technique allows a SAPUI5 control to be linked to a specific data element in a model, creating a binding context for the control and all its children.

Practical Example

  • JSON Model

var oModel = new sap.ui.model.json.JSONModel({
suppliers: [
{
name: "Supplier 1",
products: [
{ name: "Product A" },
{ name: "Product B" }
]
},
{
name: "Supplier 2",
products: [
{ name: "Product C" },
{ name: "Product D" }
]
}
]
});

  • XML View
<mvc:View
controllerName="myApp.controller.Main"
xmlns:mvc="sap.ui.core.mvc"
xmlns="sap.m">
<List items="{/suppliers}">
<items>
<ObjectListItem title="{name}" press="onSupplierPress"/>
</items>
</List>
<Table id="productsTable" items="{}">
<columns>
<Column>
<Text text="Product Name"/>
</Column>
</columns>
<items>
<ColumnListItem>
<cells>
<Text text="{name}"/>
</cells>
</ColumnListItem>
</items>
</Table>
</mvc:View>

  • Controller
sap.ui.define([
"sap/ui/core/mvc/Controller"
], function (Controller) {
"use strict";
return Controller.extend("myApp.controller.Main", {
onInit: function () {
var oModel = new sap.ui.model.json.JSONModel({
suppliers: [
{
name: "Supplier 1",
products: [
{ name: "Product A" },
{ name: "Product B" }
]
},
{
name: "Supplier 2",
products: [
{ name: "Product C" },
{ name: "Product D" }
]
}
]
});
this.getView().setModel(oModel);
},
onSupplierPress: function (oEvent) {
var oContext = oEvent.getSource().getBindingContext();
this.getView().byId("productsTable").setBindingContext(oContext);
}
});
});

4 | How to Perform Advanced Operations like Filtering, Sorting, and Grouping?

Filtering

Filtering allows limiting the data displayed in a list or table based on certain criteria.

Practical Example

  • Add Filter in the Controller
var oFilter = new sap.ui.model.Filter("name", sap.ui.model.FilterOperator.Contains, "Product A");
var oList = this.getView().byId("productsTable");
var oBinding = oList.getBinding("items");
oBinding.filter([oFilter]);

Sorting and Grouping

Sorting arranges the data in ascending or descending order, while grouping organizes it based on a specific property.

Practical Example

  • Directly in the view
<mvc:View
controllerName="myApp.controller.Main"
xmlns:mvc="sap.ui.core.mvc"
xmlns="sap.m">
<VBox>
<List id="productList" items="{
path: '/products',
sorter: [
{
path: 'category',
group: true
},
{
path: 'price',
descending: true
}
]
}">
<items>
<StandardListItem
title="{name}"
description="{price}"
info="{category}" />
</items>
</List>
</VBox>
</mvc:View>
  • Sorting in the Controller
var oSorter = new sap.ui.model.Sorter("name", false); // false for ascending
var oList = this.getView().byId("productsTable");
var oBinding = oList.getBinding("items");
oBinding.sort([oSorter]);

  • Grouping in the Controller
var oSorter = new sap.ui.model.Sorter("supplier", false, true); // true for grouping
var oList = this.getView().byId("productsTable");
var oBinding = oList.getBinding("items");
oBinding.sort([oSorter]);

5 | Model Inheritance

In SAPUI5, a model assigned to a higher level in the view hierarchy is automatically inherited by all lower levels unless overridden at a lower level.

Practical Example

  • Define Models in manifest.json

"models": {
"": {
"dataSource": "mainService"
},
"i18n": {
"type": "sap.ui.model.resource.ResourceModel",
"settings": {
"bundleName": "myApp.i18n.i18n"
}
}
}

  • Assign a Named Model in the Controller
var oView = this.getView();
var oModel = new sap.ui.model.json.JSONModel(data);
oView.setModel(oModel, "mainModel");

Resource Model

A resource model is used for internationalization, linking i18n files to obtain translatable texts.

Practical Example

  • Create an Instance of the Resource Model

var oResourceModel = new sap.ui.model.resource.ResourceModel({
bundleName: "myApp.i18n.i18n"
});

this.getView().setModel(oResourceModel, "i18n");


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Jaime Eduardo Gomez Arango, en su ámbito de estudios para la Carrera Consultor SAP BTP Fiori.

SAP Expert


Jaime Eduardo Gomez Arango

Profesión: Ingeniero de Sistemas y Computación - España - Legajo: SW34C

✒️Autor de: 149 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Presentación:

Ingeniero de sistemas y computación con 8 años de experiencia el desarrollo frontend & backend (react/node) y en cloud (aws), actualmente desarrollando habilidades en sap btp, ui5, abap y fiori.

Certificación Académica de Jaime Gomez

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "Los conceptos de enlace de datos en SAPUI5" de la mano de nuestros alumnos.

SAP Junior

Los Conceptos de enlace de datos en SAPUI5 El data binding o enlace de datos Es uno de los conceptos más importantes y útiles en SAPUI5. Consiste en la capacidad de vincular datos de un modelo con las propiedades de los controles de la interfaz de usuario, permitiendo que los valores se asignen y actualicen de forma dinámica sin necesidad de escribir mucho código. Básicamente, se relaciona el nombre de una propiedad del modelo con una propiedad de un control SAPUI5, y el framework se encarga de mantener esa relación. Gracias a esto, un uso eficiente del binding reduce significativamente la cantidad de código que se debe escribir en una aplicación. SAPUI5 admite cuatro tipos de modelos...

Acceder a esta publicación

Creado y Compartido por: Candela Analia Nuñez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

Los conceptos de enlace de datos en SAPUI5 1. Introducción El enlace de datos o data binding es uno de los conceptos fundamentales en el desarrollo con SAPUI5. Permite conectar los modelos de datos con los controles de la interfaz de usuario (UI), de modo que cualquier cambio en los datos se refleje automáticamente en la vista y viceversa. Gracias al data binding, SAPUI5 ofrece un desarrollo más rápido, dinámico y coherente, eliminando la necesidad de manipular manualmente los valores entre la capa lógica y la capa visual. 2. Concepto general de data binding El data binding consiste en establecer una relación entre una fuente de datos (modelo) y un destino (control o propiedad del control)....

Acceder a esta publicación

Creado y Compartido por: Jose Rodrigo Baz Suarez / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

En concepto de data binding: Data Binding es el mecanismo que permite enlazar los datos del modelo con los controles de la interfaz de usuario (UI), de forma que cualquier cambio en los datos se refleje automáticamente en la vista, y viceversa (en algunos casos). Es como un "puente" entre el modelo (datos) y la vista (lo que el usuario ve). Modelo JSON Modelo XML Modelo de recursos Modelo Odata Tipos de binding Tipo de Binding Dirección Descripción One-Way Binding Modelo → Vista Los datos fluyen desde el modelo hacia la UI. Si cambian los datos del modelo,...

Acceder a esta publicación

Creado y Compartido por: Claudia Bibiana Monsalve Lopez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

1. EL CONCEPTO DE DATA BINDING NOS PERMITE AUTOMATIZAR EL MOVIMIENTO DE DATOS DE LA VISTA AL MODELO Y VECEVERSA. coniste en la capacidad de enlazar datos de un modelo A VALORE O PROPIEDADES DE CONTROLES SAPUI5 BENEFICIA EN QUE NO NECESITAMOS ESCRIBIR CODIGO EXPLICITAMENTE PARA DICHO CRUD SAPUI5 adminte 4 modelos de binding modelo JSON modelo XML modelo de recursos modelo OData independientemente, los pasos para el binding son los mismos definicion de datos crear una instancia del modelo de enlace de datos Vincular un modelo al control de la interfaz de usuario 1.1 LOS TIPOS DE BINDING One-way binding: los cambio en el modelo se transportan a la UI vinculada a los controles, Y NO EN VICEVERSA....

Acceder a esta publicación

Creado y Compartido por: Roberto Hernan Santucho

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Como sabemos los datos de una aplicación de SAP GUI 5 siempre existen en un modelo en escenario de visualización debemos configurar los datos de este modelo en los controles de SAP GUI 5 para mostrar los datos al usuario por ejemplo al mostrar una lista de órdenes de compra en la tabla SAP GUI 5 el escenario de actualización los datos de interfaz de usuario deben almacenarse en el modelo para actualizar la base de datos en el servidor en el lugar de escribir código explícitamente en realizar estas transferencia de datos el enlace de datos proporciona varias formas de automatizarlas El enlace de elementos se usa se usa generalmente en escenarios maestro detalles la lista maestra esta generalmente vinculada...

Acceder a esta publicación

Creado y Compartido por: Jose Medina / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


1 | The Concept of Data Binding Benefits of Binding Data binding is a fundamental technique in SAPUI5 that allows linking model data to UI controls. Efficient use of this technique can significantly reduce the amount of code needed in a SAPUI5 application, simplifying development and maintenance. Types of Binding There are several types of binding modes in SAPUI5 to handle different scenarios: One-way binding Changes in the model are reflected in the UI, but changes made in the UI do not affect the model. Example: Updating the price of a product in the model automatically displays the new price in the UI. Two-way binding Ensures that both the model and the UI are always synchronized. Any change...

Acceder a esta publicación

Creado y Compartido por: Jaime Eduardo Gomez Arango / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

El concepto de data binding El data binding o enlace de datos en SAPUI5 permite automatizar el movimiento de datos entre la vista y el modelo. Se pueden enlazar valores o propiedades de controles SAPUI5 con los datos del modelo, reduciendo la cantidad de código necesario. SAPUI5 admite cuatro modelos de binding: JSON, XML, modelo de recursos y OData. El proceso de data binding implica la definición de datos, la creación de una instancia del modelo de enlace de datos y la vinculación del modelo al control de la interfaz de usuario. Existen tres tipos de modos de enlace: one-way binding, two-way binding y one-time binding. El enlace de agregación se utiliza para crear controles secundarios automáticamente...

Acceder a esta publicación

Creado y Compartido por: Nilson Parra Martinez / Disponibilidad Laboral: PartTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

Binding de Datos El binding o enlace a datos es una de las facetas más importantes en SAPUI5. Permite presentar en la capa de interfaz del usuario los datos del backend. A traves del binding se lleva a la practica el concepto de MVC (Modelo Vista Controlador) permitiendo conectar el Modelo con la Vista en forma directa. Existen distintos tipos de modelos orientados a lograr paginas mas performantes: One-way (unicamente los cambios en el modelo impactan en los controles) Two-ways (los cambios en el modelo impactan en controles y viceversa) One-Time (solo se pasan una vez del modelo a controles. datos de poca variabilidad como titulos) A su vez hay 4 modelos de binding: Modelo JSON, XML, de recursos y ODATA. ObjectListltem: control con...

Acceder a esta publicación

Creado y Compartido por: Cristian Cash

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

setear el modelo a la vista concepto de data binding el uso eficiente del binding puede reducir la cantidad de código que escribimos en una aplicación de SAPUI5 Modelo JSON Modelo XML modelo de recursos modelo de ODATA one-way binding two-way binding one-time binding aggregation binding enlazar la colección enlazar cada propiedad fullname this.getview().byid("Nombre").setValue(oFirstName) oModel.getProperty("/LastName") this.getView().byId("Nombre").getValue(oFirstName) control objectlistitem tecnica de vinculación de elementos los filtros ordenar y agrupar los datos herencia del modelo el nombre del modelo el modelo de recurso

Acceder a esta publicación

Creado y Compartido por: Enrique Gomez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Enlace de Datos en SAPUI5 El uso eficiente del Binding Puede reducir significativamente la cantidad de código que estamos escribiendo en una aplicación SAPUI5S SAPUI5 admite cuatro modelos de binding Modelo JSON Modelo XML Modelo de recursos Modelo ODATA Independiente de modelo que utilicemos el principio de vinculación de datos es siempre el mismo. Definición de Datos Crear una instancia del modelo de enlace de datos Vincular un modelo al control de la interfaz Hay tres tipos de formas de enlace One-way Binding Two-way Binding One Time Binding Agregación Binding Se utiliza para crear controles secundarios automáticamente según los datos del...

Acceder a esta publicación

Creado y Compartido por: Detriana Barrios / Disponibilidad Laboral: FullTime + Carta Presentación

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 99.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

🔎Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!