Qué son las CDS Views y por qué son tan importantes en SAP S/4HANA

En los últimos años, SAP ha transformado profundamente la forma en la que se accede y modelan los datos dentro del sistema. Con la llegada de SAP HANA y S/4HANA, las Core Data Services (CDS Views) se convirtieron en una pieza fundamental del desarrollo moderno en ABAP.

Pero ¿qué son exactamente las CDS Views y por qué se habla tanto de ellas?

¿Qué es una CDS View?

Una CDS View (Core Data Service View) es una capa semántica que se define sobre las tablas de la base de datos para modelar, combinar y exponer datos de forma estructurada.

Dicho de otro modo, una CDS View no solo extrae datos, sino que define qué significan, cómo se relacionan y cómo deben mostrarse o reutilizarse. Por eso decimos que es una capa semántica: agrega contexto y lógica de negocio a los datos puros.

Podríamos decir que es una evolución de las vistas tradicionales (las Database Views creadas en SE11), pero mucho más potente, flexible y orientada a negocio.

Mientras que las vistas clásicas solo combinaban tablas mediante SQL, las CDS Views permiten definir relaciones lógicas, aplicar reglas de negocio, reutilizar modelos de datos y anotar información semántica.

Además, las CDS se ejecutan directamente en la base de datos (code pushdown), lo que mejora notablemente el rendimiento en entornos SAP HANA.

Diferencias entre CDS Views y las vistas tradicionales (SE11)

Aunque las CDS Views y las vistas del Diccionario de Datos (Database Views) puedan parecer similares, en realidad las CDS amplían enormemente sus capacidades.

CaracterísticaDatabase View (SE11)CDS View
DefiniciónSe crean en el Diccionario de Datos (DDIC).Se definen como objetos de desarrollo ABAP en Eclipse (ADT).
EjecuciónEn la capa de aplicación.Directamente en la base de datos HANA (code pushdown).
LenguajeSQL estático y limitado.SQL extendido con funciones avanzadas (aggregation, join, case, parameters…).
ReutilizaciónSolo en ABAP.Reutilizable por ABAP, OData, Fiori, Analytics, etc.
Semántica y metadatosSin metadatos adicionales.Se pueden definir annotations que enriquecen el modelo (etiquetas, textos, unidades, etc.).
Capacidades de modeladoJoins básicos.Soporta joins, unions, filtros, parámetros de entrada, agrupaciones, funciones de agregación y expresiones CASE.
Servicios ODataNo disponibles.Se pueden exponer directamente como servicios OData mediante anotaciones.
SeguridadSe controla desde programas ABAP.Se pueden aplicar reglas de seguridad (DCL) directamente sobre la CDS.
OptimizaciónNo aprovecha SAP HANA.Totalmente optimizada para SAP HANA (procesamiento en memoria).

Ventajas de usar CDS Views

Rendimiento mejorado: aprovechan la potencia de SAP HANA para procesar los datos directamente en la base de datos.
Reutilización: pueden ser consumidas desde programas ABAP, servicios OData, Fiori Elements, Analytical Queries, etc.
Modelado semántico: mediante anotaciones se puede definir el propósito de cada campo, etiquetas, unidades de medida, textos asociados, etc.
Seguridad integrada: se pueden aplicar reglas de acceso (DCL) directamente sobre la CDS.
Estandarización: gran parte de los modelos de datos estándar de SAP S/4HANA están construidos sobre CDS Views.

Gracias a estas ventajas, las CDS son el núcleo del modelo de datos de S/4HANA y el punto de partida para cualquier desarrollo moderno en ABAP RAP (Restful Application Programming Model).

¿Dónde se crean y cómo se desarrollan?

Las CDS Views se crean en ABAP Development Tools (ADT), dentro de Eclipse.
Allí puedes definirlas como objetos del tipo Data Definition, que se guardan en el repositorio ABAP (transportables como cualquier otro objeto Z).

📌 Transacciones clásicas como SE11 o SE80 no sirven para crear CDS, aunque sí puedes visualizar sus estructuras o consultar las tablas subyacentes.

Ejemplo básico de una CDS View

Aquí tienes un ejemplo sencillo de cómo se define una CDS View para mostrar información de clientes:

@AbapCatalog.sqlViewName: ‘ZV_CUSTOMER’
@AbapCatalog.compiler.compareFilter: true
@EndUserText.label: ‘Vista de clientes básicos’

define view zcds_customer as
select from kna1
{
key kunnr as Customer,
name1 as Name,
ort01 as City,
land1 as Country
}

🔹 @AbapCatalog.sqlViewName define el nombre técnico de la vista SQL generada.
🔹 @EndUserText.label añade una descripción visible para el usuario.
🔹 define view crea la CDS propiamente dicha y selecciona los campos de la tabla KNA1.

Una vez activada, podrás consultarla como si fuera una tabla más (por ejemplo, con un SELECT * FROM zcds_customer).

Las CDS Views representan el nuevo estándar para modelar datos en SAP S/4HANA. No solo sustituyen las vistas tradicionales, sino que amplían sus posibilidades, integrándose con todo el ecosistema moderno de SAP: Fiori, OData, analítica embebida y el modelo RAP.

Si estás aprendiendo ABAP o migrando desde ECC, dominar las CDS es esencial para entender cómo se construyen las aplicaciones en el entorno actual de SAP.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *