🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

✒️ABAP HANA ABAP Core Data Services

ABAP HANA ABAP Core Data Services

ABAP HANA ABAP Core Data Services

1.- Introducción a la programación avanzada de bases de datos con ABAP 7.4

Para utilizar el paradigma code-to-data disponemos de objetos de desarrollo SAP HANA que se encuentran disponibles en Eclipse y se crearan mediante SAP HANA Studio, podemos mencionar los siguientes:

  • Procedimientos de base de datos
  • Vistas de atributos
  • Vistas analíticas
  • Vistas de cálculo

Sin embargo, existen restricciones para estos objetos, las desventajas mencionadas son:

  1. Los objetos no se integran completamente con la gestión del ciclo ABAP, si modificamos un objeto de desarrollo HANA Studio, entonces deberemos sincronizarlo manualmente con el DDIC. Estos objetos no se vinculan a la gestión de versiones ABAP.
  2. No se consideran en verificación de sintaxis y activación de un programa ABAP, su entorno de ejecución de ABAP no mostrara errores y advertencias relacionadas con la implementación.
  3. No pueden extenderse o ampliarse.
  4. Se requiere un usuario adicional para la base de datos de SAP HANA y las autorizaciones correspondientes.

A partir de ABAP 7.4 se implementan unas mejoras:

  • CDS: Core Data Services se utilizan para definir modelos de datos persistentes.
  • Nuevas características Open SQL: Se incluyen expresiones SQP en el SELECT y en cláusulas GROUP BY, HAVING y WHERE.
  • Procedimientos base de datos SAP HANA en métodos ABAP (AMDP): Permiten ejecutar la lógica del procesamiento en la base de datos, se pueden implementar en un proceso ABAP normal sin requerir usuario SAP HANA.

2.- ABAP Core Data Services

Servicios de Datos Centrales (CDS) son métodos de SAP que sirven para definir modelos de datos persistentes.

Su especificación se basa en SQL-92 y SQL:1999, estos objetos facilitan la implementación de los modelos de datos desarrollados en fase de diseño.

  • Lenguaje de definición de datos (DDL): Se utiliza para describir tablas de bases de datos y tipos estructurados.
  • Lenguaje de control de datos (DCL): Definimos restricciones de acceso para los objetos CDS.
  • Lenguaje de consulta (QL): Permite leer datos de forma cómoda y permite la combinación con DDL para definir vistas de base de datos.

Originalmente solo podía crear vistas CDS en SAP HANA y requería una conexión directa al servidor HANA, pero después de ABAP 7.4 SP05 podemos crearlas desde el AS ABAP utilizando Eclipse.

Las CDS contienen las siguientes mejoras SQL:

  • Anotaciones: Ayudan a enriquecer los CDS con metadatos adicionales que no se expresan en SQL, los cuales pueden ser consultados y utilizados por las aplicaciones cliente, en las que se las aplicaciones pueden definir sus propias anotaciones y almacenar metadatos junto con el modelo de datos.
  • Tipos datos definidos por usuario, escalares y estructurados: Sirven para ilustrar mejor la semántica de los tipos de datos utilizados.
  • Asociaciones: Sirven para relacionar los objetos CDS durante el proceso de modelado y cuando se leen desde la base de datos, podemos usar expresiones de ruta para abordar las relaciones que se han descrito con las asociaciones.

ABAP CDS:

El enfoque principal de las CDS es la creación de vistas de los datos comerciales existentes, estas vistas funcionan para la aceleración de programas ABAP existentes y nuevas. En SAP S/4HANA los datos comerciales se proporcionan mediante vistas CDS definidas en tablas del SAP Business Suite. Estas vistas permiten acceder al cliente de forma clara y consistentes que benefician en reducir el código de estas vitas, también pueden usarse directamente con los modelos de datos existentes y DDIC.

Para resumir, son una extensión del DDIC y los objetos SQL definidos en el DDIC.

ABAP CDS se instala de forma independiente de la base de datos, al igual que en Open SQL las vistas CDS se pueden ejecutar en todos los sistemas de bases de datos compatibles con AS ABAP 7.4, esto demuestra que mantendrán su comportamiento funcional uniforme independiente del caso de aplicación y el landscape del sistema. Si ejecutamos las vistas CDS en la base de datos SAP HANA también se beneficia del rendimiento y procesamiento de datos en memoria.

2.1.- HANA CDS vs ABAP CDS

Hay dos implementaciones diferentes.

SAP HANA CDS

  • Se crean directamente en la base de datos SAP HANA.
  • Pueden consumirse externamente con servidores ODATA
  • Para consumirse desde AS ABAP se debe crear una vista externa en el DDIC, enlazar la vista externa con la vista HANA CDS y consumirla mediante sentencias OPEN SQL.
  • Se debe crear dos órdenes de transporte, una para la vista HANA que se transporta como unidad de transporte HANA y otra para la vista externa con una orden SAP mediante la Trx. SMTS.

SAP ABAP CDS

  • Disponibles desde SAP NW AS ABAP 7.4 SP05.
  • Pueden definir y crear desde AS ABAP mediante Eclipse y ADT
  • Se consumen externamente con servicios ODATA.
  • Independientes de la base de datos.
  • Pueden utilizar tablas, vistas, etc… definidos en DDIC.
  • No requieren crear vistas externas.
  • Se crea solo una orden de transporte SAP mediante la Trx. SMTS.

Las CDS se implementan tanto en SAP NW AS ABAP como en HANA y son independientes, ABAP CDS aprovecha la infraestructura de ABAP con objetos CDS que son independientes de la base de datos, las HANA CDS están limitadas por la base de datos de HANA, por lo tanto, no se puede utilizar objetos de HANA CDS en objetos de AS ABAP o ABAP CDS en SAP HANA.

2.2.- ABAP CDS vs Vistas de SE11

Las vistas en SE11 se limitan, solo podemos crear asociaciones de tipo INNER JOIN y no LEFT OUTER JOIN.

Características ABAP CDS:

Características ABAP CDS Vistas SE11

Parámetros de entrada

SI

NO

SQL Joins (inner join, left outer join, right outer join)

SI

Si con limitaciones

Agrupar resultados (UNION / UNION ALL)

SI

NO

Funciones de agregación (SUM, MAX, MIN, COUNT, AVG…)

SI

NO

Cláusulas SELECT (WHERE, GROUP BY, HAVING)

SI

NO

Operaciones aritméticas sobre columnas ( , -, *, DIV…)

SI

NO

Insertar literales en la selección

SI

NO

Funciones de conversión de fechas

SI

NO

Expresiones condicionales (CASE)

SI

NO

Asociación de tablas

SI

NO

Anotaciones

SI

NO

Path expressions

SI

NO

2.3.- ¿Cómo encontramos las vistas ABAP CDS creadas en el sistema SAP?

Para consultar desde SAP debemos buscar en la tabla “TADIR” con los siguientes parámetros de selección.

  • PGMID = R3TR
  • OBJECT = DDLS

En la tabla “DDLDEPENDENCY” se puede obtener el nombre de la vista en el DDIC y en SAP HANA.

  • OBJECTTYPE = VIEW


 

 

 


Sobre el autor

Publicación académica de Ixhel Magai Lopez Valencia, en su ámbito de estudios para el Máster ABAP for HANA.

SAP Master

Ixhel Magai Lopez Valencia

Mexico - Legajo: PM62E

✒️Autor de: 134 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: PartTime

Presentación:

Soy ingeniera en telematica, estoy interesada en aprender programacion en sap, solo tengo conocimientos basicos en java

Certificación Académica de Ixhel Lopez