EAS Latam Academy Logo EAS Latam

Módulo 4: SAP Fiori/UI5 y ABAP RAP (Experto)

La Experiencia de Usuario Moderna con SAP Fiori y el Modelo de Programación RESTful de ABAP

Este módulo te sumerge en el desarrollo de aplicaciones modernas para SAP S/4HANA, centrándose en la experiencia de usuario de SAP Fiori, el framework de desarrollo SAPUI5, y el potente modelo de programación ABAP RESTful Application Programming (RAP).

SAP Fiori: La Experiencia de Usuario de SAP

SAP Fiori es la experiencia de usuario (UX) de próxima generación de SAP, diseñada para ser intuitiva, coherente y adaptable a cualquier dispositivo. Se basa en principios de diseño centrados en el usuario y se implementa con SAPUI5.

  • Aplicaciones Fiori: Se caracterizan por su simplicidad, consistencia, y capacidad de respuesta. Se dividen en Transactional Apps, Fact Sheet Apps y Analytical Apps.
  • SAP Fiori Launchpad: El punto de entrada centralizado para las aplicaciones Fiori, proporcionando un acceso basado en roles a todas las funcionalidades relevantes.

SAPUI5: El Framework de Desarrollo Frontend

SAPUI5 es un framework de JavaScript para construir aplicaciones web empresariales, optimizado para la experiencia de usuario de SAP Fiori. Proporciona una gran cantidad de controles UI listos para usar y patrones de diseño.

  • Arquitectura: Basado en MVC (Model-View-Controller).
  • Conectividad: Se integra fácilmente con servicios OData para consumir datos de SAP.

ABAP RESTful Application Programming (RAP) Model

ABAP RAP es el modelo de programación estratégico de SAP para crear servicios y aplicaciones empresariales eficientes en SAP S/4HANA (on-premise y cloud). Su objetivo es simplificar el desarrollo de aplicaciones web basadas en OData y Fiori.

Conceptos Clave de ABAP RAP

  • CDS Views (Core Data Services):
    • Vistas de Interface: Exponen los datos de negocio.
    • Vistas de Proyección: Definen los datos que serán expuestos por el servicio.
    • Vistas de Consumo: Consumidas por las aplicaciones frontend.
    • Asociaciones: Permiten modelar relaciones entre entidades.
    • Extensibilidad: Permiten añadir campos sin modificar el código fuente de SAP.
// Ejemplo conceptual de una CDS View de interface
@AbapCatalog.sqlViewName: 'Z_I_SALESORDER'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Sales Order Interface'
define view Z_I_SalesOrder as select from VBAK {
  key vbeln as SalesOrder,
      auart as OrderType,
      audat as OrderDate,
      netwr as NetAmount,
      waerk as Currency
}
  • Behavior Definition (BDEF): Define el comportamiento de una entidad de negocio (ej. crear, actualizar, eliminar, acciones personalizadas, validaciones).
// Ejemplo conceptual de un Behavior Definition
managed implementation in class ZCL_BP_I_SALESORDER unique;
strict ( 2 );

define behavior for Z_I_SalesOrder alias SalesOrder
persistent table VBAK
lock master
authorization master ( instance )
// ...
{
  field ( mandatory ) OrderType;
  update;
  delete;
  action ( static ) set_status parameter Z_S_STATUS;
  validation validateOrderDate on save { field OrderDate; }
  // ...
}
  • Behavior Implementation (BIMP): Implementación de la lógica definida en el BDEF (ej. validaciones, acciones).
  • Service Definition (SDEF): Define qué entidades de negocio (CDS Views de proyección) y sus comportamientos se van a exponer a través de un servicio.
  • Service Binding (SBIN): Publica el servicio definido en SDEF como un servicio OData (V2 o V4), haciéndolo consumible por aplicaciones Fiori/UI5.

Ciclo de Desarrollo con ABAP RAP

  1. Modelado de Datos: Crear CDS Views para exponer los datos necesarios.
  2. Definición de Comportamiento: Crear el Behavior Definition para la entidad.
  3. Implementación de Comportamiento: Escribir la lógica ABAP para validaciones y acciones.
  4. Exposición del Servicio: Crear Service Definition y Service Binding para publicar el OData Service.
  5. Consumo Fiori/UI5: Crear una aplicación Fiori/UI5 que consuma este servicio OData.

Optimización de Consultas en SAP HANA y CDS Views

  • Principio “Code-to-Data”: Llevar la lógica de procesamiento lo más cerca posible de la base de datos (SAP HANA) para aprovechar su rendimiento in-memory.
  • Evitar SELECT *: Seleccionar solo las columnas necesarias.
  • Uso de ASSOCIATIONS: Para uniones (joins) eficientes entre CDS Views.
  • Análisis de Rendimiento: Utilizar herramientas como ST05 (SQL Trace) y SQLM (SQL Monitor) para identificar cuellos de botella.
  • Virtual Data Model (VDM): Conjunto de CDS Views predefinidas por SAP para acceso optimizado a los datos de S/4HANA.

Conclusión

Este módulo te ha proporcionado un conocimiento experto sobre el desarrollo de aplicaciones modernas en SAP S/4HANA utilizando SAP Fiori/UI5 y el modelo de programación ABAP RAP. Has aprendido a modelar datos con CDS Views, definir comportamientos con BDEF/BIMP, exponer servicios OData y optimizar el rendimiento de las consultas, habilidades cruciales para cualquier desarrollador de SAP S/4HANA.

¿Listo para el desafío?

Has revisado la teoría. Ahora es momento de poner a prueba tus conocimientos.

Iniciar Desafío