✒️SAP BTPFIORI / La creación de un servicio OData del lado del backend 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

SAP BTPFIORI La creación de un servicio OData del lado del backend

SAP BTPFIORI La creación de un servicio OData del lado del backendLa creación de un servicio OData del lado del backend
1. Introducción

En SAP, los servicios OData se crean y gestionan desde el backend ABAP utilizando el componente SAP Gateway.
El Gateway permite exponer datos y lógica de negocio del sistema SAP (ECC o S/4HANA) mediante un servicio OData accesible a través de HTTP, para ser consumido desde aplicaciones SAP Fiori o externas.

La herramienta principal para esta tarea es la transacción SEGW (Service Gateway Builder), que ofrece un entorno gráfico para modelar, implementar y registrar servicios OData sin necesidad de codificación manual extensa.


2. Concepto general del desarrollo OData en backend

El proceso de creación de un servicio OData involucra dos capas principales:

  • Modelo (Model): define la estructura de datos (entidades, propiedades, asociaciones).

  • Servicio (Service): implementa la lógica de acceso a los datos (lectura, creación, actualización, eliminación).

Cada servicio OData incluye clases generadas automáticamente, donde el desarrollador implementa la lógica de negocio necesaria.


3. Estructura básica de un proyecto OData

Al crear un proyecto en la transacción SEGW, se generan automáticamente cuatro objetos ABAP:

Objeto Descripción Clase
Model Provider Class (MPC) Define el modelo (entidades, tipos, asociaciones). ZCL_<nombre>_MPC
Model Provider Class Extension (MPC_EXT) Permite ampliar el modelo sin modificar el estándar. ZCL_<nombre>_MPC_EXT
Data Provider Class (DPC) Define las operaciones CRUD-Q (lógica de datos). ZCL_<nombre>_DPC
Data Provider Class Extension (DPC_EXT) Se utiliza para personalizar o sobrescribir la lógica estándar. ZCL_<nombre>_DPC_EXT

🔹 En la práctica, toda la lógica de negocio personalizada se implementa en las clases “_EXT” para evitar perder modificaciones al regenerar el servicio.


4. Pasos para crear un servicio OData en SAP Gateway 1. Acceder a la transacción SEGW
  • Ingresar al sistema SAP y ejecutar /nSEGW.

  • Crear un nuevo proyecto con un nombre técnico (por ejemplo, Z_ODATA_CLIENTES).

  • Completar los campos: Descripción, Paquete, Persona responsable y guardar.

2. Definir el modelo de datos
  • En la carpeta Data Model, crear:

    • Entity Types: definen la estructura de los datos (campos, tipos).

    • Entity Sets: representan colecciones de esas entidades.

  • Indicar las propiedades clave (Primary Keys) para cada entidad.

3. Mapear los orígenes de datos
  • Asociar las entidades con tablas o estructuras ABAP mediante la opción “Importar estructura DDIC”.
    Ejemplo: importar la estructura KNA1 para clientes o VBAK para pedidos.

4. Generar el runtime del servicio
  • Hacer clic en Generate Runtime Objects.

  • El sistema creará automáticamente las clases MPC/DPC y sus extensiones.

5. Implementar la lógica en DPC_EXT
  • Editar la clase ZCL_<nombre>_DPC_EXT en SE80 o Eclipse ABAP.

  • Sobrescribir los métodos estándar (por ejemplo GET_ENTITYSET, GET_ENTITY, CREATE_ENTITY, etc.).
    Ejemplo:

METHOD customerset_get_entityset. SELECT * FROM kna1 INTO CORRESPONDING FIELDS OF TABLE et_entityset. ENDMETHOD.
6. Registrar y activar el servicio
  • Ir a la transacción /IWFND/MAINT_SERVICE.

  • Seleccionar Add Service, buscar el proyecto, y asignar un sistema Local o Remote.

  • Activar el servicio; aparecerá disponible bajo una URL OData como:

    /sap/opu/odata/sap/Z_ODATA_CLIENTES_SRV/

5. Ejemplo práctico: servicio de clientes

Entidad: Customer
Propiedades: CustomerID, Name, Country, City.

Modelo MPC_EXT:

DEFINE ENTITY customer KEY customerid TYPE kunnr name TYPE name1 country TYPE land1 city TYPE ort01.

Implementación en DPC_EXT:

METHOD customerset_get_entityset. SELECT kunnr AS customerid name1 AS name land1 AS country ort01 AS city FROM kna1 INTO CORRESPONDING FIELDS OF TABLE et_entityset. ENDMETHOD.

URL de prueba:

/sap/opu/odata/sap/Z_ODATA_CLIENTES_SRV/CustomerSet

6. Buenas prácticas
  • Implementar la lógica de negocio siempre en las clases “_EXT”.

  • Usar nombres técnicos en mayúsculas con prefijo “Z_”.

  • Probar el servicio desde el navegador o desde el Gateway Client (/IWFND/GW_CLIENT).

  • Mantener las propiedades alineadas con las estructuras DDIC.

  • Documentar el servicio en el campo Description para su identificación.

  • Evitar consultas sin filtros en tablas grandes (usar SELECT ... UP TO n ROWS).


7. Conclusión

La creación de servicios OData en el backend SAP Gateway es un proceso estructurado que combina modelado de datos y codificación ABAP mínima.
Permite exponer datos SAP de forma estándar y segura para su consumo por aplicaciones SAPUI5 y Fiori, garantizando interoperabilidad y rendimiento.
El dominio de la transacción SEGW es fundamental para cualquier consultor SAP Fiori o desarrollador ABAP orientado a servicios.


Preguntas de repaso

  1. ¿Qué transacción se utiliza para crear servicios OData en SAP?
    SEGW

  2. ¿En qué clase se implementa la lógica de negocio personalizada?
    → En la DPC_EXT.

  3. ¿Qué define la clase MPC dentro de un servicio OData?
    → El modelo de datos (entidades, propiedades y asociaciones).

  4. ¿Qué operación HTTP corresponde a la lectura de datos?
    GET.

  5. ¿Con qué transacción se registra y activa un servicio OData en SAP Gateway?
    /IWFND/MAINT_SERVICE


 

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 "La creación de un servicio OData del lado del backend" de la mano de nuestros alumnos.

SAP SemiSenior

La creación de un servicio OData del lado del backend 1. Introducción En SAP, los servicios OData se crean y gestionan desde el backend ABAP utilizando el componente SAP Gateway. El Gateway permite exponer datos y lógica de negocio del sistema SAP (ECC o S/4HANA) mediante un servicio OData accesible a través de HTTP, para ser consumido desde aplicaciones SAP Fiori o externas. La herramienta principal para esta tarea es la transacción SEGW (Service Gateway Builder), que ofrece un entorno gráfico para modelar, implementar y registrar servicios OData sin necesidad de codificación manual extensa. 2. Concepto general del desarrollo OData en backend El proceso de creación de un servicio OData...

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

La creacion de un servicio Odata del lado del backend 1. Ingresar a la transaccion SEGW y crear un nuevo proyecto Ingresar el nombre del proyecto no maximo a 30 caracteres Descripcion del proyecto Tipo de proyecto Servicios con anotaciones SAP: Proyecto estándar para crear servicios OData personalizados con anotaciones SAP. Es la opción más común cuando creas un servicio OData desde cero. Servicios con anotaciones basadas en vocabulario: Modelo de anotaciones para servicio referenciado Estrategias de generacion Paquete y persona responsable La creacion de un modelo de datos declarativo Clic derecho en el modelo de datos Crear tipo de entidad ...

Acceder a esta publicación

Creado y Compartido por: Claudia Bibiana Monsalve Lopez

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

1. LA CREACION DE UN SERVICIO ODATA SEGW (service builder) y crear un nuevo proyecto. Proyecto: es el nombre, no mas de 30 caractes. Descripcion: 60 carctermes max Tipo de proyecto: Servicio con anotaciones SAP (predeterminado): Servicio con anotaciones basadas en vocabulario: Modelo de anotacion para servicio referenciado: PARA ANOTAR UN SERVICIO EXISTENTE. Las anotaciones no se muestran con los metadatos (ver via /IWFND/CatalogService;v=2) . dichas anotaciones deben ser leidas por el consumidor del servicio. Estrategia de generacion: Standard solo disponible por el momento Paquete y persona responsable: igual a entorno ECC TRANSPORTE: Entrada al repositorio para transporte es...

Acceder a esta publicación

Creado y Compartido por: Roberto Hernan Santucho

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

SAP Expert


Desde la Transaccion SEGW del SAP NetWeaver Gateway se pueden crear servicios OData de manera manual creando las entidades deseadas e implementando las operaciones requeridas o a partir de estructuras ya definidas. El set de entidades es una colección o un grupo de entidades que comparten exactamente el mismo conjunto atributos todas las entidades pueden identificarse perfectamente en un set de entidades. Los Metadatos describen el modelo de datos, la estructura y relaciones entre todos los recursos expuestos por el servicio. Los metadatos son información sobre el servicio OData que describe los artefactos que los contienen.

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

SEGW reutilizando objetos de negocio se generan clases ABAP no modulo de funciones Proyecto Descripción tipo de proyecto servicio con anotaciones SAP servicio con anotaciones basadas en vocabulario modelo de anotación para servicio referenciado estrategia de generación paquete y persona responsable IWPR gateway business suite trasporta el proyecto no los artefactos entidad conjunto de entidades fila tupla o registro crear entidades relacionadas importar BOR RFC clave de la entidad consumo a través del set de entidades tipo de entidad Model provider class data provider class service registration nombre clase base clase de extension y clase MPC modelo del serivicio DPC...

Acceder a esta publicación

Creado y Compartido por: Enrique Gomez

 


 

👌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!