Core Data Services – SAP ABAP CDS

Los Core Data Services es una tecnología SAP que crea modelos de datos, los cuales se exponen desde el servidor de aplicación ( AS ABAP ) para ser utilizados por diversos clientes. Las vistas CDS son entidades que no son persistentes en la base de datos. Sin embargo, se definen como proyecciones de otras entidades y se guardan en un archivo dentro del repositorio.

El desarrollador construye modelos analíticos y de persistencia con la finalidad de enviar datos a las solicitudes HTTP. Además, hacen uso de objetos como tablas, vistas y tipos de datos para poder construir estos modelos.

Los SAP CDS son modelos que se definen en la base de datos y no el servidor de aplicación.

El Core Data Service ( CDS ) pretende superar el modelado del diccionario ABAP y del “SAP HANA Studio”. Debido a que no siempre cubren las necesidades de las aplicaciones comerciales.

Conjunto de Lenguajes SQL En Los Core Data Services

Los CDS hacen uso del lenguaje de definición de datos ( CDS DDL ), lenguaje de consulta ( QL ) y del lenguaje de expresión ( EL ). Adicional, está considerado que los ABAP CDS abarquen acciones de escritura semántica de transacciones y autorizaciones, entre otros.

DDL (Data Definition Languaje) Lenguaje de difinición de datos

Este lenguaje sirve para definir estructuras de datos de datos como tablas y vistas

QL(QUery Langueje) Lenguaje de consulta

Utiliza las proyecciones, lo podemos identificar gracias a cláusula SELECT detrás de la cláusula FROM. Por lo tanto, los CDS se pueden utilizar en programas ABAP o en otros Core Data Services.

ABAP Core Data Service

Actualmente en SAP lo más importante es hacer la mayor cantidad de esfuerzo en la base de datos, esto está apoyado por el paradigma «code pushdown». Es por ello que esta práctica deja los cálculos de datos más agresivos en la capa de base de datos. No obstante, no todos se harán en ahí, solo aquellos que realmente valgan la pena.

A pesar de lo comentado en el anterior párrafo esto genera una gran desventaja y es que el desarrollador tiene que trabajar en los dos entornos HANA y ABAP. Además, es necesario prestar atención al lifecycle managemt.

Es por ello que se habilitó el Top-Down Approach, permitiendo al desarrollador trabajar desde un entorno ABAP pudiendo utilizar elementos HANA como las CDS View o los SAP AMDP.

Core Data Service – CDS Annotations

Las anotaciones a los CDS añaden metadatos a una entidad. Además, son especificadas mediante el lenguaje DDL, SDL y DCL, también se puede utilizar un archivo independiente con las extensiones de metadatos.Ciertamente, Las definiciones de estas anotación pueden ser utilizadas con la finalidad de crear una anotación en sí misma, como un objeto CDS. Una definición de anotación prescribe cómo se utiliza una anotación.

Definir Un ABAP CDS

Las estructuras de las CDS Views son definidas especificando las tablas de bases de datos o de otras CDS views dentro del diccionario de datos, además del conjunto de campos de estas tablas que se vayan a utilizar. La sentencia para definir un ABAP Core Data Service es la siguiente:

DEFINE VIEW <nombre_de_la_entidad> AS SELECT FROM <entidad_de_base_de_datos>

Además antes de definir el CDS es necesario colocar su nombre con una «etiqueta» o anotación, la cual es la siguiente:

@AbapCatalog.sqlViewName: 'ZSQL_<nombre_de_la_vista>'

Es importante mencionar que al momento de activar nuestra CDS, se crean dos objetos en Diccionario ABAP:

  • La entidad CDS
  • La vista de base de datos

Select a un Core Data Service

Esta entidad, la cual representa una proyección, puede se utilizada en conjunto con la sentencia de Open SQL Select. Ciertamente, lo único que tenemos que hacer es sustituir la fuente de datos, que tradicionalmente era una tabla, por una ABAP CDS View.

    SELECT <campos>
      FROM <cds_entity>
      INTO TABLE @DATA(result)
      WHERE ...   .

SAP CDS Quick Tutorial

A continuación te dejo un paso a paso para que no te pierdas y puedas crear un Core Data Service desde cero, es importante mencionar que vas a necesitar el ADT en Eclipse para realizar esta práctica.

ABAP Core Data Service Código

Documentación Oficial SAP CDS

Para más información sobre las características de los CDS y acerca de su sintaxis, puedes visitar el siguiente enlace con documentación oficial: SAP Core Data Service.