PROMO JULIO en CVOSOFT United States Of America: 💎Calidad, 🔥Bonificaciones, 🥶Precios Congelados y MÁS!

 X 

✒️ABAP HANA ABAP Core Data Services

ABAP HANA ABAP Core Data Services

ABAP HANA ABAP Core Data Services

Introducción a la programación avanzada de BD con ABAP 7.4

Los objetos de desarrollo de SAP HANA sólo se encuentran disponibles en Eclipse y pueden ser creados mediante el SAP HANA Studio. Sin embargo, el uso de estos objetos nos puede ocasionar algunos problemas:

  • No se integran completamente con la gestión del ciclo de vida de ABAP

Si modificamos un objeto de desarrollo en SAP HANA Studio, deberemos sincronizar manualmente los cambios realizados en el DDIC. Por otro lado, no están vinculados a la gestión de versiones (sí a partir de la versión 7.4).

  • No se consideran en la verificación de sintaxis y activación

El entorno en tiempo de ejecución de ABAP no muestra errores y advertencias relacionados con las implementaciones de objetos de desarrollo de SAP HANA. Esto conduce a errores en tiempo de ejecución.

  • No pueden extenderse o ampliarse

Pero sí se puede a partir de la versión 7.4.

  • Para implementarlos, los desarrolladores requieren un usuario adicional para la base de datos de SAP HANA y las autorizaciones correspondientes de la base de datos


A partir de la versión 7.4, se incluyen mejoras como:

  • CDS: Las Core Data Services (Servicios de datos básicos) son un método específico de SAP que se utilizan para definir modelos de datos persistentes.
  • Nuevas características de Open SQL: Soporte de expresiones SQL en el SELECT y en la cláusulas GROUP BY, HAVING Y WHERE.
  • Implementación de procedimientos de base de datos SAP HANA en métodos ABAP: Los procedimientos de base de datos administrados ABAP (AMDP) nos permiten ejecutar la lógica de procesamiento en la base de datos. Podemos implementarlos en el entorno de desarrollo ABAP normal sin requerir un usuario para la base de datos SAP HANA.


ABAP Core Data Services

Los servicios de datos centrales (CDS) son un método específico de SAP para definir modelos de datos persistentes. La especificación se basa en los estándares SQL-92 y SQL:1999. El objetivo de las CDS es facilitar la implementación de los modelos de datos desarrollados en la fase de diseño.

Al igual que SQL, las CDS definen:

  • Un lenguaje de definición de datos (DDL) que utilizamos para describir las tablas de base de datos y tipos estructurados.
  • Un lenguaje de control de datos (DCL) con el que definimos restricciones de acceso para los objetos CDS.
  • Un lenguaje de consulta (QL) que nos permite leer datos de una manera cómoda y se utiliza en combinación con DDL para definir vistas de base de datos.

Originalmente sólo era posible crear vistas CDS para SAP HANA y requería una conexión directa al servidor de HANA, pero a partir de SAP NW ABAP 7.4 SP05, podemos crearlas desde el servidor de aplicación ABAP utilizando en Eclipse el plugin ADT.

Las CDS contienen las siguientes mejoras de SQL que son necesarias para la creación de modelos de datos óptimos para aplicaciones de negocios:

  • Anotaciones: Se utilizan para enriquecer los modelos CDS con metadatos adicionales, que no se pueden expresar en SQL.
  • Tipos de datos definidos por el usuario, escalares y estructurados: Se utilizan para ilustrar mejor la semántica de los tipos de datos.
  • Asociaciones: Se utilizan para definir las relaciones entre los objetos CDS. Durante el proceso de modelado y cuando los datos se leen de la base de datos, podemos utilizar expresiones de ruta para abordar las relaciones que se han descriptos con las asociaciones.

Las ABAP CDS son una extensión del DDIC y los objetos SQL definidos en el DDIC. Son independientes de las bases de datos.

HANA CDS vs ABAP CDS

Las SAP HANA CDS:

  • Se crean directamente en la base de datos de SAP HANA.
  • Pueden consumirse externamente con servicios ODATA.
  • Para consumirlas desde una aplicación ABAP, debemos crear una vista externa en DDIC, enlazarla con la vista HANA CDS y consumir la vista externa utilizando sentencias OPEN SQL.
  • Necesitaremos crear 2 OT: Una para la vista HANA CDS (que se transporta como una unidad de transporte de HANA) y otra para la vista externa (que se transporta con una orden de SAP) a través de la transacción STMS.

Las ABAP CDS:

  • Están disponibles desde SAP NW 7.4 SP05.
  • Se pueden definir y crear desde el servidor de aplicaciones ABAP mediante Eclipse y el plugin ADT.
  • Pueden consumirse externamente con servicios ODATA.
  • Son independientes de la base de datos.
  • Pueden utilizar vistas, tablas, etc, definidas en el DDIC.
  • No requieren crear vistas externas.
  • Necesitaremos crear una única OT estándar mediante STMS.

ABAP CDS vs Vistas de la transacción SE11

Las vistas de la SE11 tienen limitaciones. Por ejemplo, sólo podemos usar INNER JOIN y no LEFT OUTER JOIN.

Sólo las ABAP CDS permiten parámetros de entrada, agrupar resultados (UNION / UNION ALL), funciones de agregación (SUM, MAX, MIN, COUNT, AVG), cláusulas SELECT, operaciones aritméticas sobre columnas, insertar literales en la selección, funciones de conversión de fechas, expresiones condicionales, asociación de tablas, anotaciones y path expressions.

Pasos para crear y consumir una vista ABAP CDS

En el paquete, botón derecho y New ->Other ABAP Repository Object.

Seleccionamos el objeto Data Definition dentro de la carpeta Core Data Services.

Completamos el nombre de la vista y la descripción, y la guardamos en una OT.

Por defecto tenemos varias plantillas para crear las vistas ABAP CDS. Seleccionamos la plantilla Define View y se abrirá

una ventana con código.

Cambiamos el texto "sql_view_name" por el nombre que tendrá la vista en el DDIC. El nombre de la vista no puede ser el mismo que el completado anteriormente.

Reemplazar "data_source_name" por el nombre de la tabla de la base de datos.

Para referenciar los campos se utiliza el "." en vez de "~".

Las columnas que recuperamos de las consultas, se definen dentro de las llaves. Luego de ellas podemos incluir la cláusula WHERE.

Los comentarios van con // o /* */.

Finalmente, grabamos y activamos.

En el DDIC las vistas ABAP CDS se denominan Vistas SQL DDL. Desde aca sólo se pueden visualizar.

Desde nuestra aplicaciones ABAP, pueden consumirse con sentencias OPEN SQL.

¿Cómo encontramos las Vistas ABAP CDS creadas en el sistema SAP?

Debemos acceder a la tabla TADIR con:

-PGMID = R3TR

-OBJECT = DDLS

Accediendo a la tabla DDLDEPENDENCY, podemos obtener los nombres de la vista en el DDIC y en SAP HANA, con:

-OBJECTTYPE = VIEW


 

 

 


Sobre el autor

Publicación académica de Sergio Ariel Del Sordo, en su ámbito de estudios para el Máster ABAP for HANA.

SAP SemiSenior

Sergio Ariel Del Sordo

Profesión: Analista Programador Abap - Argentina - Legajo: LE26W

✒️Autor de: 13 Publicaciones Académicas

🎓Egresado del módulo:

Presentación:

Soy analista programador universitario y la mayor parte de mi actividad laboral la desarrollé como programador abap. me interesa aprender sobre hana, ya que es lo que se está usando en las empresas.

Certificación Académica de Sergio Del