✒️ABAP HANA ABAP Core Data Services
ABAP HANA ABAP Core Data Services
ABAP Core Data Services
1.- Introducción a la programación avanzada de bases de datos ABAP 7.4
Para utilizar paradigma Code-to-Data en aplicaciones ABAP, necesitamos implementar y ejecutar la lógica de procesamiento en la base de datos.
Objetos disponibles en Eclipse:
- Procedimientos de base de datos
- vistas de atributos
- vistas analíticas
- vistas de cálculo
Restricciones o desventajas de objectos de SAP HANA
- No se integran completamente con la gestión del ciclo de vida de ABAP, ni estan vinculados a la gestión de versiones de ABAP
- No se consideran en la verificación de sintaxis y activación de una aplicación o programa ABAP
- No pueden extenderse o ampliarse
- Para implementar los objetos, los desarrolladores ABAP requieren un usuario adicional para la BD SAP HANA y las autorizaciones correspondientes
A partir de ABAP 7.4 se introducen mejoras para garantizar la integración de los objetos. Las más relevantes son:
- CDS. - Core Data Services, se utilizan para definir modelos de datos
- Nuevas caracteristicas OPEN SQL. - Soporte de expresiones SQL en el SELECT y cláusulas GROUP BY, HAVING y WHERE
- Procedimientos de BD SAP HANA en métodos ABAP. - Procedimientos de base de datos administrados (AMDP) permiten ejecutar lógica de procesamiento en la BD. Se pueden
- implementar en el entorno ABAP sin requerir un usuario para la BD SAP HANA.
2.- ABAP Core Data Services
Al igual que SQL, las CDS definen:
- Lenguaje de definición de datos(DDL). - Describir tablas y tipos estructurados
- Lenguajes de control de datos (DLC). - Definir restricciones de acceso
- Lenguaje de consulta (QL). - Leer datos y en combinación con DDL definir vistas de BD
Nota: A partir de SAP NW ABAP 7.4 SP05 podemos crear vistas CDS desde Eclipse
Las CDS contienen las siguientes mejoras:
- Anotaciones.- Enriquecer objetos CDS con metadatos adicionales
- Tipos de datos definidos por el usuario, escalares y estructurados
- Asociaciones.- Definir relaciones entre objetos CDS
En enfoque principal de CDS es crear vistas de CDS que ayudan a la aceleración de programas ABAP. Las ABAP CDS son una extensión del Diccionario de Datos (DDIC) y los objetos SQL definidos en el (DDIC)
2.1 HANA CDS y ABAP CDS
Diferencias entre HANA CDS y ABAP CDS
HANA CDS
- Se crean en BD SAP HANA
- Pueden consumirse con servicios OData
- Para usarse desde ABAP debemos crear una vista externa en el Diccionario de Datos y enlazarla con la vista HANA CDS.
- Se necesitan 2 transportes: una para la Vista HANA CDS y otro para la vista externa
ABAP CDS
- Disponibles desde SAP NW ABAP 7.4 SP05
- Se pueden definir y crear desde Eclipse
- Pueden consumirse con servicios OData
- Son independientes de la BD
- Pueden usar tablas y vistas del diccionario de datos
- No requiere crear vistas externas
- Requiere solo un transporte
2.2 ABAP CDS vs Vistas de transacción SE11
Ventajas ABAP CDS sobre vistas tradicionales
- Utilizar asociaciones LEFT OUTER JOIN
- Usar parámetros de entrada
- Agrupar resultados (Union/Union All)
- Funciones de segregación (SUM,MAX, MIN, AVG, COUNT...)
- Cláusulas SELECT (GROUP BY, HAVING)
- Operaciones aritmeticas sobre columnas (-,*,DIV...)
- Insertar literales en la selección
- Conversión de fechas
- Expresiones condicionales (CASE)
- Asociación de tablas
- Anotaciones
- Path expressions
2.3 Los pasos para crear y consumir una vista ABAP CDS
- Seleccionamos el proyecto ABAP donde queremos crear la vista CDS
- Seleccionamos el paquete donde crear la vista CDS, botón derecho sobre paquete y elegir: New->Other ABAP Repository Object
- Seleccionamos Data Definition dentro de la carpeta Core Data Services
- Completamos nombre de la vista ABAP CDS y descripción
- Seleccionamos transporte o creamos uno nuevo
- Seleccionamos una plantilla y hacemos clic en Finalizar
- En el código cambiamos el texto 'sql_view_name' ( nombre en el diccionario de datos), 'data_source_name' (nombre de tabla), usamos '.' para referenciar campos,
- columnas, después de {} podemos incluir cláusula WHERE y comentarios usando // o /* */ para un bloque
- Grabamos y activamos la vista
Nota: La vista se puede ver usando SE11 pero modificarse solamente desde Eclipse
Desde las aplicaciones ABAP, la vista puede consumirse con sentencias OPEN SQL (utilizando el SQL View Name) como cualquier vista o tablas del diccionario ABAP
2.4 ¿Cómo encontramos las vistas ABAP CDS creadas en el sistema SAP?
Podemos consultar la tabla TADIR co los siguientes parámetros de selección:
PGMID = R3TR
OBJECT = DDLS
En la tablas DDLDEPENDENCY podemos obtener los nombres de la vista en el diccionario ABAP y en SAP HANA
OBJECTTYPE = VIEW
 
 
 
Sobre el autor
Publicación académica de Adan Elizarraras, en su ámbito de estudios para el Máster ABAP for HANA.
Adan Elizarraras
Profesión: Ing. en Sistemas Computacionales - Mexico - Legajo: SW62M
✒️Autor de: 8 Publicaciones Académicas
🎓Egresado del módulo: