[toc]

En este artículo daremos nociones básicas sobre qué son los CDS de SAP HANA y mostraremos cómo crear vistas para los Core Data Services de HANA en ABAP.

Core Data Services es una colección de los lenguajes y servicios utilizados para definir y consumir modelos de datos enriquecidos semánticamente.

Los CDS constan de los tres siguientes sub-lenguajes que abordan los diferentes subdominios de modelado de datos y acceso:

  • Data Definition Language (DDL)

La parte DDL de los Core Data Services puede considerarse una mejora de SQL que permite definir tablas y vistas de base de datos, a menudo denominadas como entidades CDS y tipos definidos por el usuario en la base de datos.

Las mejoras incluyen anotaciones para mejorar los modelos de datos con metadatos adicionales y asociaciones en un nivel conceptual.

  • Query Language (QL)

Las vistas definidas con Data Definition Language de CDS, se pueden consumir en programas ABAP utilizando el lenguaje de consulta Open SQL, así como en otras vistas de CDS.

Open SQL se ha extendido para proporcionar soporte a entidades CDS.

  • Data Control Language (DCL)

El DCL se utiliza para definir autorizaciones para las entidades CDS de forma declarativa.

El concepto de autorización de ABAP CDS es un concepto nuevo.

Las autorizaciones se pueden comprobar de dos maneras:

  1. Comprobar las autorizaciones implícitamente: cuando se llaman transacciones.
  2. Comprobar las autorizaciones explícitamente: utilizando la sentencia AUTHORITY CHECK.

El concepto de autorización de los Core Data Services se basa en verificaciones implícitas realizadas automáticamente por el runtime ABAP cuando se accede a la entidad CDS mediante Open SQL.

Core Data Services en ABAP

Se pueden utilizar las vistas ABAP CDS para leer datos y calcular información adicional durante la lectura de datos. Las vistas ABAP CDS no admiten modificaciones de datos.

Las vistas ABAP CDS proporcionan las siguientes capacidades adicionales:

  • Soporte mejorado para combinar consultas, como uniones UNION y OUTER.
  • Soporte para cálculos que utilizan expresiones en la lista de columnas y para selección, así como agregación y agrupación en el modelo de datos.
  • Capacidad para ser anidado, lo que permite más diseño para su reutilización

Generar Vistas CDS para SAP HANA

Desde la herramienta Eclipse (debe tener instalados los complementos para HANA):

Click derecho sobre el paquete «New»:

Other ABAP Repository Object -> Core Data Services -> Data Definition

SAP HANA Core Data Services, generar vistas

Ejemplo de vista CDS en SAP HANA

Para definir una vista CDS hay que tener en cuenta los siguientes aspectos:

  • Se debe utilizar la sentencia DEFINE VIEW.
  • La anotación @AbapCatalog.sqlViewName es obligatoria. Ésta, especifica el nombre de la representación del origen DDL en el Diccionario ABAP y en la base de datos.

En la imagen de a continuación podemos ver distintas maneras de generar vistas CDS.

SAP HANA Core Data Services, distintas vistas

La primera muestra todas las columnas de la tabla.

SAP HANA Core Data Services, vista ejemplo 1

En la segunda, muestra solo ciertas columnas, además de darle un alias a los campos, que serán los que aparecerán en la vista.

Por último, el tercero es un método alternativo para mostrar los mismos datos que en el ejemplo anterior.

SAP HANA Core Data Services, vista ejemplo 2

En resumen, los Core Data Services de SAP HANA son una mejora SQL para definir tablas y vistas de base de datos. Así mismo, esas vistas, se pueden utilizar para leer y calcular información en tiempo real.