🚀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

LECCIÓN 2. ABAP Core Data Services

1. Introducción a la Programación Avanzada de BD con ABAP 7.4

Para usar el paradigma code-to-data, SAP HANA dispone de una sèrie de objetos de desarrollo que solo se encuentran en Eclipse, los cuales se pueden crear mediante SAP HANA Studio:

- Procedimientos de BD

- Vistas de Atributos

- Vistas Analíticas

- Vistas de Cálculo

Pero existen restriccions o desventajas con respecto a estos objetos de desarrollo:

1. Desventaja 1: No se integran completamente con la gestión del cicló de vida de ABAP. Es decir, deberemos sincronizar manualmente los cambios hechos en SAP HANA Studio en el Diccionario de Datos (DDIC). Tampoco están vinculados a la Gestión de versiones.

2. Desventaja 2: No se tienen en cuenta en la verificación de sintaxis y activación de una aplicación o programa ABAP. Ésto conducte a errores en tiempo de ejecución.

3. Desventaja 3: no pueden extenderse o ampliarse como sucede con las Tablas de BD del Diccionario de datos.

4. Desventaja 4: Para implementarlos, los programadores ABAP requieren de un usuario addicional para la BD SAP HANA y de autorizaciones.

Mejoras introducidas a partir de ABAP 7.4:

1. CDS: Core Data Services (Servicios de Datos Básicos) utilizado para definir modelos de datos persistentes.

2. Nuevas características de Open SQL: incluyen el soporte de espresiones SQL en el SELECT y en las clàusules GROUP BY, HAVING y WHERE.

3. Implementación de procedimientos de BD SAP HANA en métodos ABAP. Podemos realitzar esta implementación sin requerir un usuario para la BD SAP HANA.

1. ABAP Core Data Services

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:

- DDL (lenguaje de definición de datos): para Tablas y Tipos estructurados.

- DCL (lenguaje de control de datos): para restriccions de acceso a los objetos CDS.

- QL (lenguaje de consulta): para Vistas.

A partir de SAP NW ABAP 7,4 SP05, se pueden crear Vistas CDS desde el servidor de aplicación ABAP utilizando el Eclipse el plugin ADT. Las Vistas de CDS sientan las bases para la aceleración de los programas ABAP y para el desarrollo de nuevas aplicacions. Las ABAP CDS son una extensión del DDIC y los objetos SQL definidos en el DDIC.

Las CDS contienen también las siguientes mejoras de SQL:

- Anotaciones: para enriquecer los objetos CDS con metadatos adicionales.

- Tipos de datos definidos por el usuario, escalares y estructurados.

- Asociaciones: para definir las relaciones entre los objetos CDS.

1.1 HANA CDS vs ABAP CDS

En resumen, existent 2 implementaciones diferentes de las CDS:

a) SAP HANA CDS:

- Se crean directamente en la BD SAP HANA

- Pueden consumirse externamente con Servicios ODATA

- Para consumirlas desde una aplicación ABAP, debemos crear una vista externa en el DDIC y enlazarla con la vista HANA CDS y consumir la vista externa con OPEN SQL

- Deberemos crear 2 órdenes de transporte: 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 por la STMS).

a) ABAP CDS:

- Están disponibles desde SAP NW ABAP 7.4 SP05

- Se pueden definir y crear desde el AS ABAP mediante Eclipse y el plugin ADT.

- Pueden consumirse externamente con Servicios ODATA

- Son independientes de la BD

- Pueden utilitzar tablas, vistas, etc definidos en el DDIC

- No requieren crear vistes externes

- Solo 1 orden de transporte estándar de SAP mediante la STMS.

1.2 ABAP CDS vs Vistas SE11

Hay una serie de ventajas de las Vistas ABAP CDS sobre las Vistas tradicionales del DDIC (SE11), como, por ejemplo: inclusión de parámetros de entrada, utilizar funciones de agregación (SUM, MAX, MIN, COUNT, AVG,...), funciones de conversión de fechas, etc.

1.3 Pasos para crear y consumir una Vista ABAP CDS

Creación de una Vista ABAP CDS con Eclipse:

1. Seleccionamos el proyecto ABAP donde queremos crear la vista ABAP CDS

2. Seleccionamos el Paquete: Botón derecho è New è Other ABAP Repository Object.

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

4. Cumplimentamos el nombre de la vista ABAP CDS y la descripción.

5. Seleccionamos o creamos una OT.

6. Por defecto hay varias plantilles para crear vistes. Seleccionamos, p.e., Define view y damos a Finalizar.

7. Se abrirá una ventana con el código de la plantilla.

1. Para implementar la vista ABAP CDS debemos:

- Cambiar el texto “sql_view_name” por el nombre que tendrá la vista en el DDIC. No puede ser el mismo al dado a la vista ABAP CDS en el paso 4.

- Reemplazar “data_source_name” por el nombre de la Tabla de la BD.

- Para referenciar los campos se utiliza el punto en vez de ‘~ ‘.

- Se definen los campos seleccionados dentro de llaves.

- Después de las llaves, se puede influir el WHERE.

- Los comentaris de línia empiezan: // y los de bloque: /* ... */

- Finalmente grabamos y activamos la vista ABAP CDS.

En el DDIC, las Vistas ABAP CDS se denominan Vistas SQL DDL.

Una vez activada la vista en Eclipse, ya se puede ver desde la SE11 pero no se puede modificar ya que solamente se modifican desde Eclipse.

Se pueden leer, actualitzar,... como cualquier vista o tabla del DDIC. También se pueden utilitzar como TIPOS. Debemos usar el nombre especificado en “sql_view_name”.

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

Accediendo a la Tabla estándar TADIR con los siguientes parámetros:

PGMID: R3TR

OBJECT: DDLS

Accediendo a la Tabla DDLDEPENDENCY se obtienen los nombres de la vista en el DDIC y en SAP HANA. Accedemos con el parámetro:

OBJECTTYPE: VIEW


 

 

 


Sobre el autor

Publicación académica de Tania Raset Pere, en su ámbito de estudios para el Máster ABAP for HANA.

SAP SemiSenior

Tania Raset Pere

España - Legajo: QZ87K

✒️Autor de: 12 Publicaciones Académicas

🎓Egresado del módulo:

Certificación Académica de Tania Raset