Cómo usar las Vistas CDS para crear consultas personalizadas en SAP Analytics Cloud para S/4HANA

¿Alguna vez has intentado desarrollar Vistas CDS? Si así es, puede que te hayas dado cuenta de que requiere algo de esfuerzo. Por suerte para ti, este post te enseñará lo básico sobre las Vistas CDS y cómo mejorar tus habilidades usando este recurso. ¿Listo para comenzar? Entonces a ello.

Ya que enseñar desde la experiencia es una excelente manera de simplificar el proceso de aprendizaje, compartiremos contigo los desafíos que enfrentamos durante las Pruebas de Concepto (PoCs) con diferentes clientes. La dificultad que encontramos fue cómo implementar Modelos Virtuales de Datos en sistemas S/4HANA o BW/4 HANA, para consumir los datos resultantes en SAP Analytics Cloud.

Toda innovación requiere de una base sólida, la nuestra fue los varios proyectos previos que habíamos entregado con éxito en el pasado. Utilizamos un modelo de apilado para implementar los requerimientos del cliente fácil, rápida y reutilizablemente.

Antes de explicarte, paso a paso, cómo hicimos la ejecución, necesitamos que entiendas completamente lo básico de las Vistas CDS.

1. ¿Qué es vista CDS?

Una Vista CDS es una capa de infraestructura usada para definir semánticamente a los modelos ricos en datos. Permite que los desarrolladores definan tipos de entidad y las relaciones entre ellos.

Fig. 1  CDS View characteristics

Fig. 1 CDS Características de la vista

Sus características principales incluyen:

  • Modelos de datos semánticamente ricos

  • Usa lenguajes específicos de dominio

  • Completamente basado en SQL (tiene la mayoría de las funciones SQL)

  • Compatible con cualquier DB

  • Integración nativa con SAP HANA

  • Funciones incorporadas y code pushdown

2. Anotaciones CDS

Las anotaciones son fragmentos de códigos usados para permitir ciertas funciones o para añadir componentes específicos de metadatos a las vistas CDS. Dependiendo de su ubicación, las anotaciones pueden ser:

  • Anotaciones en el encabezado (ubicadas en la región del encabezado del archivo y afecta a la vista entera).

  • Anotaciones del cuerpo (ubicadas antes de una línea de código, y solo afecta a esa línea).

Dependiendo de qué máquina los interprete, las anotaciones pueden ser:

2.1  Anotaciones ABAP

Este tipo de anotaciones está evaluada por el motor de tiempo de ejecución ABAP. Los comúnmente utilizados incluyen los siguientes:

@AbapCatalog.sqlViewName: ‘Zxxx’ – Define el nombre SQL de la vista en la base de datos. Con este nombre, la tabla puede ser accedida desde operaciones SE11 o SE16.

@AccessControl.AuthorizationCheck – Define control de acceso implícito para la vista CDS.

@EndUserText.Label – Define una corta descripción para un campo/vista.

Si estas interesado en obtener más información sobre anotaciones ABAP, puedes encontrarla aquí. [1]

Fig. 2  ABAP annotation example

Fig. 2 ABAP ejemplo de anotación

2.2  Anotaciones de Componentes

Son evaluadas por un marco específico, dependiendo del tipo de anotación (OData, Analytics, UI…). Los más frecuentemente usados incluyen:

@Analytics.DataCategory – Da información al motor de Analytic sobre cómo interpretar una entidad CDS.

@DefaultAggregation – Define el método de agregación que sería usado para ser medido en un Bloque.

@VDM.ViewType – Usado para estructuración interna e interpretación de las vistas CDS.

¿Quieres saber más sobre este tema? Puedes encontrar más información aquí. [2]

Fig. 3  Component annotation example

Fig. 3 Ejemplo de anotación de componente

3. Stacked Model

Vamos a enseñarte cómo estructuramos nuestro modelos de datos usando el patrón de modelo de apilado. Este patrón puede ser reconocido por tres características principales:

  • Reusabilidad

  • Extensibilidad

  • Facilidad de comprensión

Fig. 4  Stacked model diagram

Fig. 4 Diagrama de modelo de apilado

3.1  Vista Básica

El elemento básico del modelo, es una copia 1:1 de una tabla física o una vista del sistema fuente. Aquí podemos aplicar filtros para mejorar el desempeño y renombrar los campos para estandarización de contenido.

3.2  Vista de Bloque

Son usados para combinar datos de diferentes vistas básicas (unir), y están hechos para ser reusados. La agregación de datos se desarrolla en esta capa, así como los cálculos.

3.3  Vista de Consulta

Estos son los componentes expuestos a la aplicación, cada uno específicamente diseñado con un propósito en mente. Solo los filtros son aplicados a esta capa.

Conclusiones

Nuestro caso particular nos permitió concluir que la aplicación de Vistas CDS es una forma fácil de implementar soluciones analíticas usando sistemas S4 y BW en bases de datos HANA si no tienes Vistas de Cálculo disponibles. Usando el patrón de modelo de apilado combinado con la flexibilidad que ofrecen las Vistas CDS, podemos proveer una solución que puede ser ampliada sin mucho esfuerzo y es sostenible a largo plazo.


EspañolEnglish