🚀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

2 ABAP CDS (Core Data Services)

1 Introducción a la programación AVANZADA de BD con ABAP 7.4

Para poder implementar el paradigma "code to data" es necesario que implementemos parte de la lógica en la BD.

Para lograrlo disponemos de las siguientes herramientas disponibles en Eclipse.

- Procedimientos de BD

- Vistas de atributos

- Vistas analíticas

- Vistas de cálculo

Pero a diferencia de los objetos administrados por el AS ABAP los objetos de desarrollo de SAP HANA tienen algunas restricciones.

Restricciones o desventajas de los objetos de SAP HANA en ABAP.

- Desventajas :

- No. 1

Los objetos de desarrollo de SAP HANA no se integran por completo a la gestión del ciclo de vida de ABAP. Esto quiere decir que debemos sincronizar manualmente los cambios realizados en el DDIC de las modificaciones realizadas con objetos de SAP HANA Studio.

- No. 2

Los objetos de SAP HANA no son considerados en la verificación de sintaxis y activación de un programa ABAP. Esto nos lleva a tener errores en tiempo de ejecución.

- No. 3

Los objetos de SAP HANA no pueden extenderse o ampliarse.

- No. 4

Para implementar objetos de SAP HANA los desarrolladores requieren un usuario adicional para la BD SAP HANA con las autorizaciones correspondientes para la misma.

A partir de ABAP 7.4 se introducen algunas mejoras al lenguaje de modo de garantizar la integración de los objetos en el ciclo de vida ABAP. Incluye la gestión de versiones y la posibilidad de ampliar objetos.

Los más relevantes :

-> CDS: Se usan para crear modelos de datos persistentes.

-> Nuevas características de Open SQL: Soporte de expresiones SQL en los SELECT y en las cláusulas GRPUP BY, HAVING y WHERE.

-> Implementación de procedimientos de BD SAP HANA en métodos ABAP: Procedimientos de BD administrados ABAP AMDP los cuales nos permiten ejecutar lógica en la BD. Podemos implementar estos procedimientos de BD en el entorno de desarrollo ABAP normal sin necesidad de un usuario para BD SAP HANA.

2- ABAP CDS

Las CDS son un método específico de SAP para definir modelos de datos persistentes. Están basadas en los estándares SQL-92 y SQL:1999.

Su objetivo es facilitar la implementación de los modelos de datos desarrollados en la fase de diseño.

Al igual que SQL las CDS definen lo siguiente:

-> Un lenguaje de definición de datos(DDL): Usado para describir tablas de BD y tipos estructurados.

-> Un lenguaje de control de datos(DCL): Usado para restringir el acceso a los objetos CDS.

-> Un lenguaje de consulta (QL): Usado para leer datos de una manera cómoda y se usa en combinación con los DDL para definir vistas en la BD.

Inicialmente solo se podían crear las CDS teniendo una conexión directa al servidor de HANA, pero esto cambió a partir de SAP NetWeaver ABAP 7.4 SP05, ahora podemos crear vistas CDS desde el servidor ABAP usando el plugin ADT en Eclipse.

Las CDS contienen las siguientes mejoras SQL, las cuales son necesarias para crear modelos de datos óptimos para las aplicaciones de negocios:

-> Anotaciones : se utilizan para enriquecer los objetos CDS con metadatos adicionales, que no se pueden expresar en SQL. Estos metadatos también pueden ser consultados y utilizados por las aplicaciones cliente. Las aplicaciones cliente también pueden definir sus propias anotaciones y almacenar sus propios metadatos junto con el modelo de datos.

-> Tipos de datos definidos por el usuario, escalares y estructurados: Estos se utilizan para ilustrar mejor la semántica de los tipos de datos utilizados.

-> Asociaciones: Estas 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 descrito con las asociaciones.

ABAP Core Data Services.

El enfoque principal de las CDS es crear vistas de los datos comerciales existentes, esto debido a que los datos de las soluciones SAP de las empresas ya se encuentran almacenados en la BD.

Las vistas CDS sientan las bases para la aceleración de programas ABAP existentes y para el desarrollo de nuevas e innovadoras aplicaciones.

En SAP HANA los datos comerciales son proporcionados mediante vistas CDS bien definidas en las tablas de la BD de SAP Business Suite.

Una de las características más importantes de las ABAP CDS es que le permiten a las nuevas aplicaciones beneficiarse de la reducción de código de las vistas creadas.

También se puede reutilizar directamente modelos de datos ya existentes y objetos DDIC del Diccionario de datos en ABAP CDS.

Las ABAP CDS son una extensión del DDIC y los objetos SQL definidos en el mismo.

2.1 HANA CDS vs ABAP CDS

Diferencias de implementación de ambas CDS.

-> SAP HANA CDS

- Se crean directamente en la BD SAP HANA.

- Pueden consumirse directamente con servicios ODATA.

- Para consumirlas desde ABAP es necesario crear una CDS ABAP y enlazarla con la CDS HANA y consumirla usando sentencias OPEN SQL.

- Se requieren dos órdenes de transporte :

- Una para la vista HANA CDS que se transporta como unidad de transporte de HANA.

- Una para la vista externa que se transporta como orden de SAP mediante la TX STMS.

-> ABAP CDS

- Disponibles desde SAP NW ABAP 7.4 SP05 (Service Pack).

- Se pueden crear desde el AS ABAP usando el plugin ADT en Eclipse.

- Se pueden consumir externamente con servicios ODATA.

- Son independientes de la BD

- Pueden usar tablas, vistas, etc.. definidos en el DDIC ABAP.

- No requieren crear vistas externas.

- Necesitamos crear una sola orden de transporte estándar SAP mediante la TX STMS.

2.2 ABAP CDS vs Vistas de la TX SE11

Las vistas creadas con la TX SE11 tienen limitaciones, solamente podemos crear asociaciones de tipo INNER JOIN y no permite usar de tipo LEFT OUTER JOIN.

Características disponibles en las CDS ABAP que no tienen las vistas de la TX SE11:

-> Parámetros de entrada:

- ABAP CDS.

-> SQL JOINS (inner, left, right):

- ABAP CDS

- Vistas creadas con la tx SE11 pero con limitaciones.

-> Agrupar resultados (UNION / UNION ALL):

- ABAP CDS.

-> Funciones de agregación (SUM, MAX, MIN, COUNT, AVG ...)

- ABAP CDS.

-> Cláusulas SELECT (WHERE, GROUP BY, HAVING):

- ABAP CDS.

-> Operaciones aritméticas sobre columnas (-, *, DIV...):

- ABAP CDS.

-> Insertar literales en la selección.

- ABAP CDS.

-> Funciones de conversión de fechas.

- ABAP CDS.

-> Expresiones condicionales (CASE).

- ABAP CDS.

-> Asociación de tablas.

- ABAP CDS.

-> Anotaciones.

- ABAP CDS.

-> Path expressions

- ABAP CDS.

2.3 Pasos para crear y consumir una vista ABAP CDS.

-> Seleccionar el proyecto ABAP en el que queremos crear la vista CDS.

-> Seleccionamos el paquete donde crearemos la vista CDS.

- Para esto damos clic derecho sobre el paquete y seleccionamos las siguientes opciones:

- New -> Other ABAP Repository Object

-> Seleccionamos el objeto DATA DEFINITION dentro de la carpeta CORE DATA SERVICES.

NOTA: Si trabajamos con un componente SAP_BASIS inferior a la versión 7.5 debemos seleccionar el objeto "Data Definition" o "DLL Source" dentro de la carpeta Dictionary.

-> Completamos el nombre de la vista CDS y su descripción.

-> Seleccionamos una orden de transporte existente o creamos una nueva.

-> Seleccionamos la plantilla "Define view" y damos clic en finalizar.

NOTA: Dicha plantilla es de las que se encuentran disponibles por defecto.

-> Nos mostrará una ventana con algunas líneas de código.

-> Para implementar la Vista CDS debemos:

- Cambiar el texto "sql_view_name" por el nombre que tendrá la vista en el diccionario ABAP.

NOTA: El nombre que se le asigna a la vista en el DDIC ABAP, NO DEBE SER EL MISMO QUE ASIGNAMOS EN EL PASO 4.

- Cambiar "Data_source_name" por el nombre de la tabla de la BD.

- Para referenciar los campos se usa "." (punto) en vez de "~" (tilde).

- Las columnas a recuperar dentro de la consulta se definen dentro de llaves "{}".

- Después de las {} podemos incluir la cláusula "WHERE".

- Los comentarios inician con "//" para una sola línea o "/* */" para un bloque.

-> Finalmente grabamos y activamos la vista.

En el DDIC las vistas CDS se denominan "Vistas SQL DDL".

Una vez activa la vista ya podemos verla desde la TX SE11, ejecutarla y acceder a su definición desde el menú :

-> Detalles

-> ABAP Create

Pero no podremos modificar la vista desde el diccionario ABAP, esto solo lo podemos hacer desde Eclipse.

Desde las aplicaciones ABAP las vistas CDS pueden ser consumidas mediante sentencias OPEN SQL como cualquier vista o tabla del DDIC.

También pueden usarse como tipo de datos para tablas internas, estructuras y variables dentro de nuestros programas ABAP.

NOTA: Debemos usar el nombre que indicamos en el atributo "sqlviewname" y no el nombre de la vista ABAP CDS.

2.4 Cómo encontramos las vistas ABAP CDS creadas en el sistema SAP?

Para encontrar todas las CDS creadas en el sistema SAP, podemos consultar la tabla estándar "TADIR" con los siguientes parámetros

-> Accedemos a la tabla TADIR con los siguientes parámetros.

- PGMID = R3TR

- OBJECT = DDLS

-> Accediendo a la tabla DDLDEPENDENCY podemos obtener los nombres de la vista en el DDIC ABAP y en SAP HANA con el parámetro:

- OBJECTTYPE = VIEW


 

 

 

Agradecimiento:

Ha agradecido este aporte: Martín Gómez Rodríguez


Sobre el autor

Publicación académica de Jesús Heriberto Quiñonez López, en su ámbito de estudios para el Máster ABAP for HANA.

SAP SemiSenior

Jesús Heriberto Quiñonez López

Profesión: Desarollador de Software - Mexico - Legajo: KH27S

✒️Autor de: 14 Publicaciones Académicas

🎓Egresado del módulo:

Disponibilidad Laboral: FullTime

Presentación:

Mi nombre es heriberto quiñonez. actualmente me desempeño como analista de desarrollo de aplicaciones y sistemas. estoy en búsqueda de mi desarrollo y crecimiento tanto personal como profesional.

Certificación Académica de Jesús Quiñonez