¿Qué es GROW with SAP?

En una entrada anterior vimos ¿Qué es RISE with SAP? hoy toca otro de esos conceptos o soluciones comerciales que ha sacado SAP para mejorar su relación con los clientes y simplificarles el camino. En este caso vamos a hablar de «GROW with SAP».

Algunas hierbas pueden convertirse en árboles

Si ya conocer en profundidad lo que es RISE with SAP es relativamente complicado, al final descubrimos que es una solución comercial de SAP para ayudar a las empresas a la transición de sus sistemas On Premise al Cloud. Ahora tenemos GROW with SAP que, teniendo medio claro RISE y soluciones SAP anteriores como SAP Business One podemos entender qué es esto de GROW with SAP.


Investiguemos

Según la propia SAP:

Una oferta completa de soluciones, comunidad, capacitación y servicios para acelerar la adopción a fin de que cualquier empresa pueda adoptar exitosamente un ERP en la nube.

www.sap.com

Pero eso no dice mucho. También podemos ver el video comercial explicativo de GROW with SAP en su propia página web.

Muy bonito, la gente es muy feliz cuando tienen SAP

Pero el video, tampoco nos dice demasiado. Pero si vamos al apartado de Características veremos el siguiente texto

A través de GROW with SAP, su empresa en crecimiento puede optimizar los procesos de trabajo cotidianos, ajustarse a los estándares regulatorios, y escalar con más facilidad.
[…]
GROW with SAP brinda los productos y servicios que necesitan las empresas medianas

https://www.sap.com/spain/products/erp/grow/features.html
¡Ahí lo tienes!

Ahora sí, ya se entiende, y tiene todo el sentido. Respondamos la pregunta.


¿Qué es GROW with SAP?

GROW with SAP es una solución comercial de SAP para que medianas empresas puedan adoptar sistemas ERP Cloud de SAP como palanca de crecimiento.

Nube pública

Por supuesto, la única opción posible para GROW with SAP es Cloud Public Edition (nube pública), y esto tiene sentido porque SAP aprovecha economías de escala explotando al máximo su nube pública (recordemos que esto es que se comparte máquina entre muchos clientes), además aportando a los clientes la posibilidad de recibir todas las innovaciones o soluciones que necesite conforme su negocio crece. Es un Win-Win de manual.

Economía de escala: Abaratamiento de los costes unitarios de un producto, logrado al aumentar la cantidad total producida.


Si aumento la producción, el coste por unidad baja, porque aprovecho mejor mis recursos

Entendiendo GROW with SAP

Ya hemos definido que Grow with SAP está diseñado específicamente para ayudar a las empresas medianas a adoptar un ERP en la nube de manera rápida y eficiente. Lo interesante de esta solución es que no solo incluye el software como servicio, sino también servicios de implementación acelerada y soporte continuo a través de la comunidad de SAP y sus partners. Esto permite a las empresas optimizar rápidamente sus procesos internos y ajustar sus sistemas según crezcan.

Los pilares fundamentales de Grow with SAP

Y es que el producto GROW with SAP es muy interesante para las medianas empresas ya que proporciona:

  • Preconfiguraciones sectoriales: Con más de 75 procesos preconfigurados, las empresas pueden elegir las mejores prácticas industriales que más se ajusten a sus necesidades específicas, sin tener que personalizar desde cero.
  • Automatización e Inteligencia Artificial: Una de las ventajas clave de esta solución es su capacidad de automatizar tareas y utilizar IA para obtener datos en tiempo real, lo que facilita la toma de decisiones informadas.
  • Escalabilidad sin complejidad: Al estar basado en la nube, Grow with SAP permite a las empresas escalar sus operaciones sin preocuparse por una complejidad técnica adicional ni sobrecostos. En este caso entendamos escalar como crecer.
  • Acceso a soluciones anexas al ERP: además de tener acceso a un SAP S4/HANA Cloud, GROW with SAP también da acceso a SAP BTP, SAP Build, SuccessFactors, SAP Analytics Cloud, Ariba, Sales Cloud… Perfecto para que la empresa vaya adaptando su landscape tecnológico a sus necesidades crecientes.
Imagen de SAP.com

Beneficios clave que proporciona GROW with SAP

Y los beneficios están claros.

Imagen de SAP.com
  • Rapidez de implementación: Según SAP, las empresas pueden estar operativas en tan solo 4-6 semanas, gracias a los procesos preconfigurados. Esto, habría que verlo. porque luego todas las empresas son «especiales».
  • Escalabilidad sin complejidad: La plataforma está diseñada para crecer con el negocio sin añadir complejidad. Las empresas pueden añadir funcionalidades conforme crecen, sin tener que modificar su infraestructura existente.
  • Costos predecibles: Al ser una solución en la nube, Grow with SAP sigue un modelo de suscripción con costos más manejables y predecibles. Esto elimina la necesidad de grandes inversiones iniciales y permite gestionar mejor el presupuesto.
  • Innovación continua: Las empresas reciben actualizaciones automáticas de las últimas funcionalidades, incluyendo IA y automatización, sin interrumpir su operación. Esto asegura que siempre estén al día con las nuevas tecnologías.
  • Acceso a un ecosistema de expertos: Grow with SAP ofrece acceso a una red global de expertos y partners certificados que brindan soporte continuo (como por ejemplo contratarme a mi). Esto facilita la adopción y el uso eficiente del ERP sin necesidad de grandes equipos de TI internos.

En Conclusión

Me parece un verdadero acierto esto de GROW with SAP, en todos los sentidos, para los clientes, para SAP y para la consultoría SAP. Con esta solución, las empresas medianas tienen la oportunidad de adoptar tecnología avanzada sin la complejidad ni los altos costos que suelen acompañar a las grandes soluciones ERP.

SAP ha dado en el clavo al lanzar una oferta tan ajustada a las necesidades del mercado medio, diseñando una plataforma que no solo impulsa el crecimiento de sus clientes, sino que también los mantiene competitivos en un entorno digital en constante cambio. Si tu empresa está en pleno crecimiento, GROW with SAP podría ser la solución ideal para optimizar procesos y acelerar tu expansión sin complicaciones.

ABAP Development Tools – ¿Qué es SAP ADT?

En la entrada «SAP CDS Core Data Services – ¿Qué son las CDS?» adelantamos que la herramienta ADT (ABAP Development Tools) es imprescindible para el uso de CDSs, pero ahí nos quedamos, ahora toca explicar qué es el ADT y cómo podemos empezar a usarlo. Pero, por supuesto, su uso no es únicamente para poder gestionar las CDSs Tiene muchos más usos. Vamos por partes.

¿Qué es SAP ADT?

ADT (ABAP Development Tools) es un conjunto de herramientas integradas en el entorno Eclipse por medio de un Plugin que permite a los desarrolladores trabajar de manera más moderna y eficiente en proyectos ABAP. A diferencia del tradicional SAP GUI, ADT proporciona una interfaz más intuitiva, con funcionalidades avanzadas que facilitan la escritura, depuración y gestión del código.


Características Principales de SAP ADT

SAP ADT trae consigo una serie de funcionalidades que optimizan el proceso de desarrollo, algunas de las cuales no estaban disponibles en SAP GUI.3.1.

Editor de Código Mejorado

El editor de código de SAP ADT ofrece una experiencia de edición mucho más rica en comparación con SAP GUI. Soporta características como:

  • Autocompletado: Facilita la escritura de código al sugerir funciones, variables y estructuras.
  • Resaltado de Sintaxis: Mejora la legibilidad del código con resaltado de diferentes componentes de ABAP.
  • Navegación Rápida: Permite saltar rápidamente entre funciones, clases y definiciones.

Herramientas de Refactorización

La capacidad de refactorizar código es esencial para mantener un código limpio y eficiente. Refactorizar es el proceso de mejorar la estructura interna del código de un programa sin alterar su comportamiento externo. SAP ADT permite:

  • Renombrado de Elementos: Cambiar el nombre de variables, clases y métodos sin romper referencias.
  • Extracción de Métodos: Facilita la reestructuración del código extrayendo segmentos en nuevos métodos.

Depuración Avanzada

La herramienta de depuración en SAP ADT es más intuitiva y poderosa que la disponible en SAP GUI. Ofrece:

  • Puntos de Ruptura Condicionales: Permiten detener la ejecución bajo condiciones específicas.
  • Visualización de Variables en Tiempo Real: Posibilita monitorear y modificar valores durante la ejecución.

Beneficios de Utilizar SAP ADT

Bueno, lo primero que habría que destacar es que es el camino claro que indica SAP de cara al desarrollo de S/4 HANA y de ciertas tecnologías en particular (CDS, RAP, ABAP Test Cockpit (ATC), etc.). Por lo tanto, un desarrollador debería estar atento al camino que toma su herramienta de trabajo y adaptarse al cambio, no vaya a ser que la carretera termine en una calle sin salida.

Pero, además de esto, que parece obvio, pero muchos no lo asimilan, ofrece mejoras en:

  • Usabilidad: SAP ADT ofrece una interfaz gráfica más moderna e intuitiva en comparación con SAP GUI. La integración con Eclipse proporciona una experiencia de usuario más fluida, con herramientas de navegación, autocompletado, y personalización del entorno de desarrollo.
  • Productividad en el desarrollo: Ofrece características avanzadas como la refactorización de código, depuración en tiempo real, y soporte para pruebas automatizadas con ABAP Test Cockpit (ATC). Estas herramientas permiten a los desarrolladores completar tareas más rápidamente y con menos errores, facilitando un desarrollo ágil y eficaz.
  • Gestión de versiones: ADT facilita la integración con sistemas de control de versiones como Git, permitiendo a los desarrolladores gestionar el código fuente de manera efectiva. Con esta integración, es posible realizar commits, merges y revertir cambios directamente desde el entorno de Eclipse, lo que asegura un control completo sobre el historial de cambios y facilita la colaboración en proyectos con múltiples desarrolladores.
  • Debugging: Ofrece características como puntos de ruptura condicionales, monitoreo en tiempo real de variables, y la posibilidad de modificar el flujo de ejecución mientras se depura.
  • Compatibilidad con todo el ecosistema S/4 HANA haciéndolo esencial para los desarrolladores que migran o desarrollan en este entorno.

Instalación y Configuración de SAP ADT

Para comenzar a usar SAP ADT, es necesario instalar Eclipse y luego agregar el plugin de ABAP Development Tools. Vamos a verlo paso a paso pero todos ellos están explicados en el siguiente enlace:

Download the Eclipse IDE and add the ABAP Development Tools (ADT) Plugin

SAP Developer Center

Eclipse IDE

Hay que descargar la versión de Eclipse desde la web «Eclipse download page» tal y como comenta el tutorials del SAP Developer Center

SAP ADT Plugin

Una vez tengamos descargado y funcionando el Eclipse hay que instalar el Plugin de ADT en Eclipse. Se puede instalar directamente desde Eclipse utilizando el gestor de plugins con la URL https://tools.hana.ondemand.com/latest. Una vez más, lo mejor es seguir los pasos del tutorial del SAP Developer Center.

Configurar la conexión al sistema SAP

Una vez instalado el Plugin ADT en Eclipse tenemos que conectarnos al sistema. SAP. Para ello abrimos la perspectiva de ABAP en Eclipse.

Y se nos abrirá la visión de SAP ADT en Eclipse

Fijate bien en la barra de botones a ver si te suena alguno

A continuación tenemos que añadir la conexión al sistema que queramos pulsando Create an ABAP project. Esto abrirá una ventana con los sistemas que tengamos configurado en el SAP Logon para poder conectarnos.

Yo tengo algún que otro sistema configurado

En conclusión

Al principio se te puede hacer difícil salir de la comodidad de tu SAP GUI, y no es que el framework de trabajo Eclipse me encante, pero es el camino y, posteriormente, te va a dar más de lo que te quita, porque vas a estar al día de todas las tecnologías SAP.

Yo también he sido reacio al cambio, sobre todo porque no lo necesitaba y el SAP GUI me permitía navegar por los mares técnicos de SAP. Pero es como nadar con un solo brazo, puedes nadar, pero irás más lento y cuando te persiga un tiburón no podrás ir deprisa y te comerá el tiburón.

Con la evolución constante de SAP hacia S/4HANA y la adopción de tecnologías emergentes como CDS y RAP, ADT se posiciona como una herramienta imprescindible para cualquier desarrollador que quiera estar a la vanguardia. Luego no digáis que no lo sabíais.

En este artículo hemos sentado las bases de qué es el ADT, sus beneficios y usos y cómo se instala y se configura inicialmente. En posteriores artículos intentaré hacer ejemplos de uso, y cosas más concretas como son:

  • Manejo básico en nuestro día a día como hacemos en SAP GUI
  • Debugging en ADT
  • Crear y gestionar CDS en ADT

SAP CDS Core Data Services – ¿Qué son las CDS?

Vamos a hablar del pasado-presente-futuro del acceso a los datos de la base de datos de los sistemas SAP. ¿Por qué digo pasado-presente-futuro?

  • Pasado: Porque es algo que salió sobre 2012 (12 años hace) dentro de la solución de acceso a datos de HANA. En ese momento, claro, habría entre 0 y 1 implantación de SAP HANA en España, pero el dato está ahí.
  • Presente: Porque ahora mismo ya lo estamos usando. Aunque no lo sepas, el estándar ya usa CDS para muchos de los procesos estándar y las búsquedas de la herramienta.
  • Futuro: Porque para mucha gente esto es nuevo (que no lo es) y siguen tirando sus Selects a base de datos. SAP ha trazado un camino claro hacia el futuro con CDS, destacando su importancia en la optimización del acceso a datos en un entorno de crecimiento exponencial de los mismos. Además CDS no solo facilita este acceso, sino que también se integra de manera efectiva con otras tecnologías emergentes, como RAP, para ofrecer soluciones de desarrollo modernas y escalables.

Esto está muy bien, pero no sabemos qué es los CDS Core Data Services. Vamos a verlo.

CDS en tus manos

¿Qué son las CDS Core Data Services?

SAP CDS es un paradigma de programación para la plataforma SAP ABAP introducido inicialmente en SAP NetWeaver 7.4 SP05 y SAP HANA SPS6. Su enfoque principal es optimizar las operaciones de bases de datos, permitiendo a los desarrolladores crear modelos de datos eficientes y robustos que se integran perfectamente con SAP HANA y otras plataformas SAP.

Voy a traducirlo.

CDS permite a los desarrolladores crear modelos de datos abstractos que luego se traducen en consultas SQL optimizadas para ejecutarse en SAP HANA. Esta abstracción es crucial para realizar operaciones complejas de bases de datos de manera más eficiente y coherente. Por ejemplo, en lugar de escribir consultas SQL complejas y propensas a errores, los desarrolladores pueden definir vistas CDS que encapsulan la lógica y el comportamiento de los datos, lo que facilita el mantenimiento y la evolución del sistema.

¿Lo hemos entendido?

Lo intento explicar mejor.

Básicamente, una CDS te permite crear una «vista» o «representación» de los datos que necesitas extraer de la base de datos, pero con muchas ventajas adicionales.

En términos simples, una CDS es como un «filtro inteligente» que se coloca entre la base de datos y la aplicación. Este filtro te permite seleccionar y organizar los datos de la manera exacta que necesitas, sin tener que escribir consultas SQL complejas cada vez. Además, este filtro puede incluir reglas de negocio, lógica adicional, y definiciones de seguridad, todo integrado en una única definición. Todo esto se ejecuta en la capa In-Memory de SAP HANA, dejando que sea SAP HANA quien gestione ciertos aspectos de rendimiento y dependencias entre datos.


Pero entonces ¿Qué diferencia hay entre una vista de la SE11 y una CDS?

Pues mucha, muchísima. Y a varios niveles.

Optimización y funcionalidad

Las CDS están diseñadas específicamente para aprovechar al máximo SAP HANA, lo que les permite ejecutar consultas de manera más eficiente y rápida, gracias a la capacidad de procesamiento en memoria de HANA. En contraste, las vistas de la SE11, aunque funcionan en HANA, no están tan optimizadas para esta base de datos, lo que puede hacerlas menos eficientes en términos de rendimiento.

Capacidad funcional

Las CDS ofrecen un conjunto de herramientas mucho más amplio y avanzado. Por ejemplo, permiten incluir lógica de negocio, realizar cálculos complejos, aplicar anotaciones para definir comportamientos específicos, y gestionar uniones de datos de forma más sofisticada. Además, las CDS son altamente flexibles y modulares, lo que facilita su mantenimiento y actualización en comparación con las vistas de la SE11, que tienden a ser más rígidas y difíciles de modificar cuando cambian los requisitos.

Integración con tecnologías modernas

Las CDS están claramente diseñadas para el futuro. Se integran perfectamente con SAP Fiori y RAP, permitiendo la exposición de datos a través de servicios OData, algo crucial para el desarrollo de aplicaciones modernas y basadas en servicios. Por otro lado, las vistas SE11, aunque útiles, no están tan bien adaptadas para estos escenarios de aplicación moderna, lo que puede limitar su uso en proyectos que requieren conectividad y exposición de datos a través de servicios web.

Seguridad

Las CDS incorporan controles de acceso y autorizaciones directamente en la definición de la vista, lo que permite un control más detallado y seguro sobre quién puede acceder o modificar los datos. Las vistas de SE11, por su parte, dependen más de configuraciones externas para la seguridad, lo que las hace menos integradas en este aspecto.


Componentes Principales de CDS

SAP CDS se basa en tres componentes clave que permiten a los desarrolladores crear modelos de datos optimizados:

  • Vistas CDS: Las vistas CDS son la base de SAP CDS. Permiten definir estructuras de datos y consultas que se ejecutan directamente en la base de datos, actuando como una capa de abstracción sobre las tablas subyacentes. Estas vistas facilitan el acceso y la manipulación de los datos, optimizando las consultas SQL y mejorando el rendimiento general.
  • Anotaciones: Las anotaciones en CDS permiten enriquecer los modelos de datos con metadatos que definen características importantes como la seguridad, las relaciones entre entidades, y el comportamiento de los datos. Esto ayuda a crear modelos de datos que no solo son eficientes, sino también seguros y coherentes con la lógica de negocio.
  • Funciones de CDS: Las funciones de CDS son operaciones predefinidas que pueden aplicarse directamente sobre los datos en la capa de la base de datos, mejorando la eficiencia al realizar cálculos complejos o transformaciones de datos. Son parecidas a las funciones que podemos usar en SQL (SUM, MAX, MIN, etc.) pero más potentes porque se aplican directamente en las definiciones de las vistas CDS, lo que permite que la lógica de negocio se implemente y se ejecute en la base de datos, mejorando la eficiencia y reduciendo la necesidad de procesar los datos en la capa de aplicación.

La Herramienta Necesaria: ADT (ABAP Development Tools)

Para gestionar y desarrollar con CDS, es esencial utilizar ABAP Development Tools (ADT) en el entorno de desarrollo Eclipse. ADT proporciona un conjunto de herramientas específicas para trabajar con CDS, que incluyen un editor avanzado de código, herramientas de depuración, y funciones para la gestión y visualización de las vistas CDS.

Sobre ADT tengo previsto hacer un artículo explicando más pormenorizadamente sus capacidades, como instalarlo y su uso. No vanos a detenernos en ello ahora.


Beneficios de Usar SAP CDS

Más o menos los hemos ido viendo durante el artículo, pero lo podemos resumir en lo siguiente:

  • Rendimiento Mejorado: CDS maximiza el uso de SAP HANA, reduciendo la latencia y mejorando significativamente el rendimiento de las consultas. Es la forma nativa de explotar el potencial del procesamiento en Memoria de HANA.
  • Integración Nativa: CDS está profundamente integrado en el ecosistema SAP, lo que facilita la creación de aplicaciones que pueden interactuar con diferentes módulos de SAP, garantizando una interoperabilidad fluida. Siendo la base de tecnologías como RAP (RESTful ABAP Programming) o OData V4.
  • Facilidad de Mantenimiento: Dado que las vistas CDS son declarativas el mantenimiento y las actualizaciones de las aplicaciones son más simples y menos propensas a errores. La lógica de negocio queda claramente definida y separada de la lógica de presentación, mejorando la mantenibilidad del código. De todo esto y de como usarlo hablaremos en otro artículo concreto.

En conclusión

Sirva este artículo como introducción a SAP CDS si es que alguien no lo conocía ya. Quiero hacer una serie sobre como usar CDSs y ejemplos más palpables de las ventajas que ofrece.

OData y SAP Gateway – IV – Opciones sobre Entidades y Campos

En la entrada anterior de esta serie de artículos sobre OData ‘OData y SAP Gateway – II – Publicar un servicio OData en SAP‘ creamos un servicio muy básico de consulta de Businsess Partners, posteriormente añadimos la recuperación de Subentidades. Pero ahora toca para un poco, y saber las opciones de configuración del servicio Gateway. Se viene artículo denso, meramente informativo, pero necesario para sentar las bases.

Serie de Artículos sobre OData

Este artículo pertenece a una serie de artículos que se van complementando poco a poco como itinerario de conocimiento:


Opciones a nivel Modelo de Datos

Tenemos diversas opciones cuando estamos visualizando el modelo de datos, esto nos da una lista de Entidades y, para cada una de ellas, tenemos diversas opciones de configuración.

Donde tenemos las opciones de configuración:

  • Name: Indica el nombre de la entidad.
  • ABAP Structure: La estructura ABAP subyacente que define los campos y tipos de datos de la entidad. Utilizada para mapear los datos de la entidad a una estructura ABAP correspondiente en el backend.
  • Base Type: El tipo base del cual hereda la entidad, esto es utilizado en escenarios de herencia, donde una entidad puede extender otra entidad.
  • Is Abstract: Indicador de si la entidad es abstracta. Las entidades abstractas no pueden instanciarse directamente y se utilizan como base para otras entidades.
  • Label: El nombre legible o etiqueta de la entidad sirve para darle un nombre más amigable para los usuarios finales.
  • Label Editor: Herramienta para editar la etiqueta.
  • Semantics: Define el propósito de los datos contenidos en la entidad, ofreciendo un contexto adicional para entender cómo se deben utilizar e interpretar esos datos. Algunos ejemplos comunes de semántica en las entidades podrían ser CRM, HR, Clientes, Transaccional, etc. Estos términos ayudan a categorizar y definir el contexto de los datos. La ayuda del campo habla de propiedad y los valores posibles también, pero es un error, a nivel de entidad se usa para categorizar el propósito,
  • Thing Type: Checkbox que se selecciona para indicar si un tipo de entidad es una «cosa» (thing) en lugar de un objeto subordinado. En nuestro ejemplo el «objeto» serían los BusinesPartner y los objetos subordinados las entidades subordinadas.
  • Media: Especifica que el objeto de datos pertenece a una colección de medios. Este campo se utiliza para indicar que el tipo de entidad tiene un recurso de medios. Por ejemplo si tuviesemos una entidad Attachment.
  • As Author Property: No es necesario, es parte del estándar AtomPub, que se utiliza para publicar y editar recursos en un servidor web, el servidor se encarga de completar el campo atom:author utilizando la información del usuario autenticado.
  • As ETag Property: Tampoco es necesario, se refiere a una propiedad en una entidad que se utiliza para la gestión de la concurrencia optimista en SAP Gateway. ETag (Entidad Tag) es un mecanismo que ayuda a prevenir conflictos durante actualizaciones concurrentes de los datos. El atributo ETag no necesita ser proporcionado por el cliente, ya que el servidor genera y gestiona este valor automáticamente. El ETag se utiliza para asegurar que las operaciones de actualización y eliminación solo se realicen si la versión de la entidad no ha cambiado desde que fue leída por el cliente.
  • As Published Property: El campo As Published Property se refiere a una propiedad específica en una entidad que se utiliza para almacenar la marca de tiempo (fecha y/o hora) en que el elemento fue publicado por primera vez. Este es un elemento del Protocolo de Publicación Atom (AtomPub) llamado atom:published
  • As Title Property: Se refiere a un elemento en el Protocolo de Publicación Atom (AtomPub) llamado atom:title. Indicará la propiedad que usaremos como texto que transmite un encabezado legible por humanos (título) para un nuevo miembro de la colección.
  • As Updated Property: Es como «As Published Property» pero con la fecha/hora de ultima actualización. Es un elemento del Protocolo de Publicación Atom (AtomPub) llamado atom:updated.

Opciones por entidad y propiedades

Si pulsamos en una entidad, y vamos a ver sus propiedades, vemos que, por cada campo, tenemos varias opciones para ser configuradas. Estas opciones serán las que marquen el comportamiento de dicho campo en dicha entidad en el Servicio OData.

Las opciones de configuración son:

  • Name: Nombre de la propiedad o campo de la entidad, el identificador único del campo dentro de la entidad.
  • Is Key: Marca de si la propiedad es clave en la entidad, indica si el campo es una clave primaria para la entidad. Esto es importante para el uso del servicio y para relacionar dicha entidad con otras subordinadas.
  • Edm. Core Type: Tipo de datos, el tipo de datos en el modelo de datos de entidad (EDM), como Edm.String, Edm.Int32, etc.
  • Precision: Precisión del campo, número de dígitos totales que el campo puede tener.
  • Scale: Escala del campo, número de dígitos que el campo puede tener a la derecha del punto decimal.
  • Max Length: Longitud máxima, la longitud máxima del campo, aplicable principalmente a tipos de datos string.
  • Unit Property Name: Nombre de la propiedad de unidad, campo relacionado que especifica la unidad de medida para este campo (por ejemplo, metros, kilogramos).
  • Creatable: Indicador de que la propiedad puede ser Creada, permite la asignación de valor a esta propiedad en solicitudes de creación (POST).
  • Updatable: Indicador de que la propiedad puede ser Actualizada, permite la asignación de valor a esta propiedad en solicitudes de actualización (PUT/PATCH).
  • Sortable: Indicador de que la propiedad puede ser Ordenada, permite que este campo sea utilizado en sentencias $orderby para ordenar datos.
  • Nullable: Indicador de que la propiedad puede ser Nula, permite que esta propiedad tenga un valor nulo. Por ejemplo, algo que da muchas veces error son las fechas a ‘00000000’, para que funcione correctamente tenemos que poner este indicador.
  • Filterable: Indicador de que la propiedad puede ser Filtrada, permite que esta propiedad sea utilizada en sentencias $filter para filtrar datos.
  • Label: Etiqueta descriptiva de la propiedad, un nombre descriptivo utilizado en interfaces de usuario o documentación.
  • Label Editor: Editor de la etiqueta de la propiedad, herramienta para editar y gestionar el texto de la etiqueta, incluyendo referencias a textos traducibles.
  • Complex Type Name: Nombre del tipo complejo, si la propiedad es de un tipo complejo, este es el nombre del tipo complejo.
  • ABAP Field Name: Nombre del campo en ABAP, el nombre del campo correspondiente en ABAP.
  • ABAP Type: Tipo de datos en ABAP, el tipo de datos ABAP correspondiente (por ejemplo, CHAR, NUMC, DATS).
  • Semantics: Semántica del campo, describe el propósito o la función del campo en un contexto más amplio, proporcionando significado adicional sobre su interpretación y uso.

Opciones por EntitySet

A nivel de EntitySet podemos elegir el comportamiento de cada entidad. Tendremos las siguientes opciones:

  • Name: Nombre del EntitySet. El nombre del conjunto de entidades utilizado en las URIs para acceder a las entidades del conjunto.
  • Entity Type Name: Nombre de la Entidad en la que se basa el EntitySet. El nombre del tipo de entidad que define la estructura y las propiedades de las entidades dentro del conjunto.
  • Label: Etiqueta descriptiva del EntitySet. Un nombre descriptivo utilizado en interfaces de usuario o documentación.
  • Label Text Reference Editor: Editor de referencia de texto de la etiqueta. Herramienta para editar y gestionar el texto de la etiqueta, incluyendo referencias a textos traducibles.
  • Semantics: Semántica del EntitySet. Describe el propósito o la función del EntitySet en un contexto más amplio, proporcionando significado adicional sobre su interpretación y uso.

Opciones de capacidades y comportamiento de las Entidades OData

Sobre el resto de checks de este menú vamos a detenernos un poco más, puesto que son las opciones que marcarán el comportamiento y capacidades de nuestras entidades dentro de un proyecto OData. Estas opciones permiten una gran flexibilidad y control sobre cómo se pueden gestionar y acceder a los datos a través de servicios OData en SAP Gateway, mejorando tanto la seguridad como el rendimiento de las aplicaciones que consumen estos servicios.

Creatable

Indicador de que la entidad puede ser Creada.

  • Descripción: Cuando esta opción está seleccionada, indica que los clientes pueden crear nuevas entidades en el conjunto de entidades utilizando el método HTTP POST.
  • Uso: Permite operaciones de creación de entidades. Esto es útil cuando el servicio OData debe permitir la inserción de nuevos registros en la base de datos.

Updatable

Indicador de que la entidad puede ser Actualizada.

  • Descripción: Permite que las entidades dentro del conjunto sean actualizables utilizando el método HTTP PUT o PATCH.
  • Uso: Esencial para permitir modificaciones a los registros existentes en el conjunto de entidades. Los clientes pueden actualizar una entidad específica mediante su clave primaria.

Deletable

Indicador de que la entidad puede ser Eliminada.

  • Descripción: Permite que las entidades dentro del conjunto sean eliminadas utilizando el método HTTP DELETE.
  • Uso: Facilita la eliminación de registros específicos del conjunto de entidades. Esto es útil para gestionar la vida útil de los datos.

Pageable

Indicador de que la entidad admite paginación.

  • Descripción: Permite la paginación de los resultados de una consulta OData utilizando los parámetros $skip y $top.
  • Uso: Mejora el rendimiento y la usabilidad cuando se trabaja con grandes volúmenes de datos. Los clientes pueden solicitar subconjuntos de datos en cada llamada, lo que facilita la gestión de grandes conjuntos de datos.

Addressable

Indicador de que la entidad es direccionable.

  • Descripción: Permite que las entidades sean accesibles directamente mediante su clave primaria en la URI.
  • Uso: Los clientes pueden acceder a una entidad específica utilizando su URI, facilitando operaciones CRUD directas sobre entidades individuales.

Searchable

Indicador de que la entidad puede ser buscada.

  • Descripción: Permite realizar búsquedas en las entidades utilizando el parámetro de consulta $search.
  • Uso: Facilita la búsqueda de entidades que contienen ciertos términos, mejorando la experiencia del usuario al permitir consultas más complejas.

Subscribable

Indicador de que la entidad puede ser suscrita.

  • Descripción: Permite que los clientes se suscriban a cambios en el conjunto de entidades.
  • Uso: Útil para aplicaciones que necesitan notificaciones o actualizaciones en tiempo real cuando ocurren cambios en los datos.

Requires Filter

Indicador de que se requiere un filtro para acceder a la entidad.

  • Descripción: Obliga a que todas las consultas al conjunto de entidades incluyan un parámetro de filtro ($filter).
  • Uso: Restringe el acceso directo a las entidades, asegurando que las consultas sean más específicas y potencialmente mejorando el rendimiento al reducir el volumen de datos devueltos en cada consulta.

Opciones aplicadas en nuestro proyecto Gateway

Pues para nuestro proyecto Gateway ZODATA_TEST_BP, en base a los apartados de este artículo se han aplicado las siguientes opciones:

Opciones a nivel Modelo de Datos

A nivel de Modelo de Datos, es decir, de Entidad, la configuración aplicada es la siguiente:


Opciones por entidad y propiedades

Por Entidad, se configuran sus propiedades de la siguiente forma:

BusinessPartners

Por ahora no se puede crear (no lo hemos implementado), no se puede actualizar (idem) por lo que las propiedades no tiene sentido que las marquemos como Creatable o Updatabe. Marcamos todos los campos con la posibilidad de hacer SORT, eso podremos afinarlo cuando afinemos el método de GetEntitySet, por ahora ninguno puede ser nulo (que no es lo mismo que vacío), y marcamos para filtrar todos menos el nombre completo.

Address

Lo mismo de la creación y actualización. Marcamos como Nullable las fechas porque si no da un error de que la fecha no puede ser «» y marcamos los campos por los que pensamos ordenar y filtrar.

IdentNumbers

Lo mismo de la creación y actualización. Lo mismo de las fechas Nullable y los filtros.

Relation

Igual que las anteriores.

Roles

Igual que las anteriores.


Opciones por EntitySet

A nivel Set de Entidad, EntitySet, como por ahora no tenemos la actualización ni creación, le ponemos la paginación y la búsqueda y que la entidad de BusinessPartner requiere filtro.


En conclusión

Nuestro proyecto está en una fase muy inicial, solo es de búsqueda y recuperación de datos, por lo tanto muchas de estas opciones directamente no aplican. Pero creo que hemos hecho un repaso exhaustivo de las posibilidades, a nivel configuración de un proyecto Gateway. Importante, he dicho posibilidades a nivel configuración, la lógica la tendremos que implementar en la clase Z*DPC_EXT correspondiente.


Si te interesa, suscríbete al blog por email

El fin se acerca

Pues eso, el fin se acerca. ¿El fin del mundo?

Noooooo. El fin del mantenimiento de SAP Business Suite que, para algunos, puede ser un poco el fin del mundo.


¿Qué es eso del mantenimiento de SAP?

Antes de entrar en fechas y cuáles son las consecuencias de esto vamos a saber qué es eso del mantenimiento de SAP ECC, o de cualquier solución SAP que contiene la SAP Business Suite 7 (SAP ECC, CRM, SRM, HCM, SCM, etc.).

Como sabemos, SAP es una suite de soluciones empresariales estándar, Out-of-the-box, es decir, las empresas pagan una licencia por tener las funcionalidades SAP y tener sus sistemas SAP actualizados de correcciones y nuevas funcionalidades.

Esto, como puedes imaginar, es fundamental para una empresa que quiera tener unos sistemas robustos, seguros y actuales. Estamos en un mundo empresarial en el que tener unos sistemas de información potentes te proporciona una ventaja competitiva sobre tus competidores.


Fin del mantenimiento de SAP Business Suite 7

Pues si, el fin del mantenimiento extendido de SAP Business Suite 7 se acerca (luego veremos fechas) y esto es un problema para muchas empresas. ¿Por qué? ¿Va a dejar de funcionar mi SAP? No, eso no va a pasar, tus sistemas van a seguir funcionando pero, ahora bien, como tengas un problema no vayas a SAP a pedirle cuentas, ayuda o soporte, que no habrá nadie. Tampoco habrá nuevas notas o support packages. Y eso en sistemas con condiciones legales como Recursos Humanos (HCM) o contabilidad no tendrán estas actualizaciones legales disponibles. A partir del fin del mantenimiento extendido tu sistema SAP será como el WinRAR.


¡Fechas! ¡Dame fechas!

Bueno, para saber fechas tenemos varias fuentes oficiales. Podemos ver la nota 2881788 – End of SAP Business Suite 7 mainstream maintenance donde podemos ver las siguientes fechas:

  • 31 de diciembre de 2025: Fin del mantenimiento estándar de SAP ECC EhP-5. Todavía quedaría pasar a SAP ECC EhP6 pero ¿para qué?.
  • 31 de diciembre de 2027:
    Este es el fin del mantenimiento estándar para SAP Business Suite 7. A partir de esta fecha, SAP ya no ofrecerá soporte completo (correcciones, actualizaciones y mejoras) para estas soluciones.
  • 31 de diciembre de 2030:
    SAP ha extendido el mantenimiento extendido hasta finales de 2030 para aquellos clientes que aún no hayan migrado a SAP S/4HANA. Durante este periodo, los clientes pueden recibir actualizaciones limitadas, pero ya no habrá nuevas funcionalidades. Además, este tipo de soporte conlleva un coste adicional, habrá que ver si compensa pagar más por menos y además con la previsión de que se acabe el mantenimiento.

¿2027? ¿2030? Queda mucho tiempo

¿Seguro? ¿Cuánto tardas en implantar todo lo que tienes en tu ECC, CRM, SRM, etc. en un S/4 HANA y soluciones anexas? Entre analizar tus sistemas, publicación de RFP, selección de proveedor, análisis y diseño, implementación (hay cosas que no se migran tan fácil), faseado, arranque y corrección de incidencias hasta estabilización… ¿Cuánto tardas?

Madre mía! Y ahora ¿Qué hago?

Calma, todo va a ir bien

SAP lleva tiempo, mucho tiempo, avisando que esto va a pasar.

Ya allá por 2020 amplió la fecha de fin de mantenimiento que originalmente estaba en 2025 a 2027.

SAP Extends Its Innovation Commitment for SAP S/4HANA, Provides Clarity and Choice on SAP Business Suite 7

Además está el soporte extendido hasta 2030 y luego se guarda la posibilidad de negociar, con quien lo necesite, una ventana de soporte especial por cliente. Eso sí, desde ya mismo, las empresas que no están en S/4HANA se están perdiendo las innovaciones de SAP, y las que sí lo tienen contarán con esa ventaja contra la competencia.

Pero todavía hay tiempo, para eso estamos nosotros, los consultores, para guiar, ayudar y acompañar a este paso a S/4HANA y las nuevas soluciones. Y para dar el salto cualitativo que aportan las nuevas soluciones SAP (SAP Sales Cloud V2 por ejemplo)


En Conclusión

En tecnología hay varios momentos en los que hay ciertos saltos tecnológicos que te ves obligado a realizar. En el caso de SAP, el paso a S/4HANA  es uno de ellos y, obviamente SAP quiere convertir sus clientes On-Premise SAP ECC en la nueva tecnología para evolucionar.

Hay que estar con los tiempos y evolucionar con la tecnología para no quedarse atrás. Hay tiempo para responder y empezar a andar.