✒️SAP BTPFIORI / Consumir un servicio OData de SAP en SAPUI5 Por Jose Baz Suarez

Selector Alummnos / Empresas

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

Consumir un servicio OData de SAP en SAPUI5

Consumir un servicio OData de SAP en SAPUI5

1. Introducción

Uno de los objetivos principales de SAPUI5 es conectarse con los datos del sistema SAP a través de servicios OData.
El consumo de servicios OData permite a las aplicaciones leer, mostrar, actualizar y eliminar información en tiempo real proveniente del backend SAP, manteniendo la arquitectura MVC y la separación entre lógica, datos y presentación.

En SAPUI5, esta conexión se realiza mediante el modelo ODataModel, un componente del framework que maneja la comunicación con el servicio y simplifica las operaciones CRUD (Create, Read, Update, Delete).


2. Concepto general del consumo OData

El flujo básico entre una aplicación SAPUI5 y un servicio OData es el siguiente:

  1. El servicio OData es creado y registrado en el backend SAP (SEGW).

  2. El SAP Gateway expone el servicio vía HTTP.

  3. La aplicación SAPUI5 utiliza un modelo ODataModel para conectarse al endpoint.

  4. Los datos se enlazan (data binding) con controles de la interfaz, como tablas, listas o formularios.

💡 Este modelo de trabajo permite mantener la sincronización automática entre la interfaz y el backend.


3. Tipos de modelo OData en SAPUI5

SAPUI5 ofrece dos tipos de modelo OData:

Tipo Descripción Clase utilizada
ODataModel V2 Modelo más utilizado. Soporta binding bidireccional y manejo automático de metadatos. sap.ui.model.odata.v2.ODataModel
ODataModel V4 Versión más reciente. Optimiza rendimiento y manejo de datos masivos, compatible con SAPUI5 ≥ 1.48. sap.ui.model.odata.v4.ODataModel

En la mayoría de los entornos SAP actuales (S/4HANA y BAS), se utiliza OData V2 por su estabilidad y compatibilidad.


4. Configuración del modelo OData en manifest.json

El archivo manifest.json centraliza la configuración del modelo OData y del servicio asociado.
Esto permite definir la conexión una sola vez, haciéndola disponible para toda la aplicación.

Ejemplo:

"models": { "": { "dataSource": "mainService", "settings": { "defaultBindingMode": "TwoWay", "refreshAfterChange": false } } }, "dataSources": { "mainService": { "uri": "/sap/opu/odata/sap/Z_ODATA_CLIENTES_SRV/", "type": "OData", "settings": { "odataVersion": "2.0" } } }

📘 Explicación:

  • "uri" → define la URL del servicio OData.

  • "type": "OData" → indica el tipo de fuente de datos.

  • "defaultBindingMode": "TwoWay" → permite lectura y escritura.

  • "odataVersion": "2.0" → especifica la versión del protocolo.


5. Enlace de datos (Data Binding)

El binding conecta los datos del modelo con los controles de la interfaz.
Existen tres tipos principales:

Tipo Descripción Ejemplo
Property Binding Enlaza un valor individual. <Text text="{Cliente>Nombre}" />
Element Binding Enlaza un conjunto de propiedades a un control. <FormElement binding="{Cliente>}" />
Aggregation Binding Enlaza colecciones (listas, tablas). <List items="{path: '/CustomerSet'}">...</List>

Ejemplo de lista enlazada:

<List items="{/CustomerSet}"> <StandardListItem title="{Name}" description="{Country}" /> </List>

6. Acceso al modelo desde el controlador

En un controlador, el modelo OData puede accederse mediante los métodos estándar de SAPUI5:

onInit: function () { var oModel = this.getOwnerComponent().getModel(); this.getView().setModel(oModel); }

También se pueden realizar lecturas programáticas:

oModel.read("/CustomerSet", { success: function(oData) { console.log("Datos recibidos:", oData); }, error: function(oError) { console.error("Error al leer datos:", oError); } });

💡 El método read() ejecuta una llamada GET al servicio OData.
Para escritura o actualización se utilizan create(), update() y remove().


7. Prueba del servicio desde SAPUI5
  1. Ejecutar la aplicación en SAP BAS o Eclipse.

  2. Verificar en la consola del navegador (F12) la carga del servicio OData.

  3. Revisar el log de red:

    • Peticiones HTTP GET (lectura).

    • Peticiones POST, PUT, DELETE según el tipo de operación.

  4. Validar que los datos coincidan con los registros del sistema SAP.


8. Buenas prácticas
  • Definir el modelo OData en el manifest.json (no directamente en los controladores).

  • Mantener la versión de OData consistente con el backend.

  • Evitar lecturas sin filtros en tablas grandes.

  • Manejar errores en cada operación (bloque success/error).

  • Reutilizar un solo modelo por aplicación (no crear múltiples instancias del mismo servicio).

  • Probar siempre el servicio en /IWFND/GW_CLIENT antes de consumirlo desde SAPUI5.


9. Conclusión

Consumir un servicio OData desde SAPUI5 es el paso que integra la capa de datos del backend con la interfaz Fiori.
El uso del ODataModel permite enlazar datos de manera declarativa, reduciendo el código y garantizando sincronización automática.
Comprender esta integración es esencial para el desarrollo de aplicaciones Fiori completas y dinámicas.


Preguntas de repaso
  1. ¿Qué clase se utiliza para conectarse a un servicio OData versión 2 en SAPUI5?
    → sap.ui.model.odata.v2.ODataModel

  2. ¿Dónde se define la conexión al servicio OData dentro del proyecto SAPUI5?
    → En el archivo manifest.json, dentro de las secciones "models" y "dataSources".

  3. ¿Qué operación HTTP ejecuta el método oModel.read()?
    → Una operación GET.

  4. ¿Qué parámetro del modelo permite modificar datos tanto en la vista como en el backend?
    → "defaultBindingMode": "TwoWay".

  5. ¿Qué ventaja ofrece el data binding en SAPUI5?
    → Conecta automáticamente la vista con el modelo, manteniendo sincronizados los datos sin necesidad de código adicional.


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Jose Rodrigo Baz Suarez, en su ámbito de estudios para la Carrera Consultor SAP BTP Fiori.

SAP SemiSenior

Jose Rodrigo Baz Suarez

Profesión: Analista de Inventarios y Auditoria - Uruguay - Legajo: WX92M

✒️Autor de: 47 Publicaciones Académicas

🎓Egresado del módulo:

Disponibilidad Laboral: FullTime

Presentación:

Analista con experiencia en sap, contabilidad, inventarios y costos. manejo de cierres, balances, reportes y mejoras de procesos administrativos.

Certificación Académica de Jose Baz

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "Consumir un servicio OData de SAP en SAPUI5" de la mano de nuestros alumnos.

SAP SemiSenior

1. Introducción Uno de los objetivos principales de SAPUI5 es conectarse con los datos del sistema SAP a través de servicios OData. El consumo de servicios OData permite a las aplicaciones leer, mostrar, actualizar y eliminar información en tiempo real proveniente del backend SAP, manteniendo la arquitectura MVC y la separación entre lógica, datos y presentación. En SAPUI5, esta conexión se realiza mediante el modelo ODataModel, un componente del framework que maneja la comunicación con el servicio y simplifica las operaciones CRUD (Create, Read, Update, Delete). 2. Concepto general del consumo OData El flujo básico entre una aplicación SAPUI5 y un servicio OData es el siguiente:...

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

Consumir un servicio Odata de SAP en SAPUI5 Para poder consumir un servicio Odata debemos tener creado el destino en el SAP BTP, sistema donde esta el servicio que queremos consumir Destino en SAP BTP es una configuración que permite conectar tu aplicación en la nube con un sistema externo (por ejemplo, SAP Gateway, ES5, S/4HANA, API REST). Contiene: URL del sistema externo Método de autenticación (Básico, OAuth, etc.) Datos de conexión y propiedades adicionales Creacion de un proyecto SAP Fiori que consuma el servicio Odata en ES5: la creación de un proyecto SAP Fiori que consuma un servicio OData en ES5 consiste en: Configurar un destino...

Acceder a esta publicación

Creado y Compartido por: Claudia Bibiana Monsalve Lopez

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

SAP Training

entrar al BAS -> start from template -> basic multitarget application (MTA) -> ponemos nombre -> finish -> en el archivo mta.yaml -> boton derecho -> create MTA module from template -> SAP fiori application -> en floorplan selection elegimos SAPUI5 freestyle y SAP fiori worklist application -> next = data source and service selection -> data source: conect to a system -> system: ponemos el entorno de SAP HANA que este conectado al sistema backend (lo podemos ver en el SAP Cockpit) -> service: elegimos el servicio -> next = entity selection -> object collection: seleccionamos el set requerido -> object collection key: elegimos el ID -> object ID: el id del objeto que coincide con el anterior...

Acceder a esta publicación

Creado y Compartido por: Antonella Carla Tizzano

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

1. COMO ACCEDER AL SISTEMA SAP El BAS incluye un HTTP_PROXY que se ejecuta en localhost:8887. este proxy reeniva las solicitues http a la cuenta CF CF busca en los detinos existentes uno que coincida con el nombre. 2. EL DESTINO EN SAP BTP para consumir un servicio odata, debemos tener creado el destino en el SAB BTP al sistema donde se encuentre el servico a consumir. 3. LA CREACION DE UN PROYECTO SAP FIORI QUE CONSUMA EL SERVICO ODATA EN ES5 > buscar wizard >elegir templaten MTA >boton derecho sobre mta.yaml > Create MTA Module from template >Elegir sap fiori application template >elegir tipo worklist app >elegir servicio GWSAMPLE_BASIC 4. LA CONFIGURACON DEL MODELO DE DATOS EN LAS VISTAS con el wizard se...

Acceder a esta publicación

Creado y Compartido por: Roberto Hernan Santucho

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

SAP Expert


Cloud Connector es una herramienta de integración genérica que se utiliza con SAP Cloud Plataform para conectarse a sistemas locales como SAP Gateway, SAP ERP, SAP Hanna y no especifico de SAP BAS. Para desarrollar una aplicación MTA en SAP Bussiness aplication studio necesitamos crear un espacio de desarrollo con la extensión MTA Tools. Los espacios de desarrollo para SAP FIORI y SAP Business Aplication por ejemplo incluyen esta extensión de manera predeterminada. La politica de seguridad CORS: Como los navegadores no nos permiten relizar llamadas a un dominio diferente al de la peticion, por la politica de seguridad CORS, se crea el destino en el SAP BTP y desde ahi se hace la llamada al backend y no desde...

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 Senior

Consumir un servicio OData de SAP en SAPUI5 no exponen sap s/4HANA on premise a internet. a travñes de SAP Cloud connector http_proxy http://localhost:8887 proxy inverso usar almacén de confianza JDK predeterminado Ctrl Shift P oModel para acceder a los datos del modelo paleta de comandos consumir desde BAS Crear proyecto MTA mta.yaml SAP FIORI Application SAP FIORI work list application destination cockpit localhost:8080

Acceder a esta publicación

Creado y Compartido por: Enrique Gomez

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

SAP Senior

COMO ACCEDER AL SISTEMA SAP El BAS un HTTP_PROXY que se ejecuta en http://localhost:8887. Este proxy renvia todas las Solicitudes http a la cuenta cf. CF busca en los destinos existentes uno que coincida con el nombre. Si hay un destino se envía una solicitud inicial a este destino . El proxy es un proxy inverso que también transmite la respuesta al BAS Para poder consumir el servicio OData debemos tener creado el destino en el SAP BTP al sistema Al sistema donde se encuentra el servicio que queremos consumir Debemos asegurar que la casilla de verificación “usar almacén de confianza JDK predeterminado” este marcada En el archivo manifest.json se agrega la fuente de datos con el modelo

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!