✒️ABAP HANA / ABAP Core Data Services Por Abraham Noriega Cabrera

Selector Alummnos / Empresas

ABAP ABAP Core Data Services

ABAP ABAP Core Data Services

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

Como sabemos, para utilizar el paradigma code-to-data en ABAP, necesitamos implementar y ejecutar la lógica de procesamiento en la base de datos. Para este fin se dispone de una serie de objetos de desarrollo de SAP HANA, los cuales solo se encuentran disponibles en Eclipse y pueden ser creados mediante el SAP HANA Studio, entre los cuales podemos mencionar los siguientes:

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

Sin embargo, el uso de estos objetos puede ocasionar algunos problemas ya que, a diferencia de los objetos administrados por el AS ABAP, existen restricciones que aplican a los objetos de desarrollo de SAP HANA.

Podemos mencionar las siguientes restricciones o desventajas de los objetos de desarrollo de SAP HANA:

  1. No se integran completamente con la gestión del ciclo de vida de ABAP. Es decir, si modificamos un objeto de desarrollo en SAPA HANA Studio entonces debemos sincronizar manualmente los cambios realizados en el ABAP DDIC.
  2. No se consideran en la verificación de sintaxis y activación de una aplicación o programa ABAP. Esto significa que el entorno en tiempo de ejecución no muestra errores y advertencias relacionados con las implementaciones de objetos de desarrollo de SAP HANA.
  3. No pueden extenderse o ampliarse, algo que si podemos llevar a cabo con las tablas de base de datos existentes en el ABAP DDIC.
  4. Los desarrolladores ABAP requieren un usuario adicional para la base de datos de SAP HANA y las autorizaciones correspondientes.

A partir de ABAP 7.4 se introducen una serie de mejoras en el lenguaje que permita garantizar la integración de los objetos en el ciclo de vida ABAP, incluída la gestión de versiones y posibilidad de extender o ampliar los objetos. Las mas relevantes son:

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

2 ABAP Core Data Services

La especificación CDS se basa en los estándarse SQL-92 y SQL:1999. El objetivo es facilitar la implementación de los modelos de datos desarrollados en la fase de diseño. Cabe indicar que estan disponibles en el AS ABAP a partir de SAP NW ABAP 7.4 SP05, antes de esa versión solo era posible crear vistas CDS como objeto de desarrollo en SAP HANA.

Al igual que SQL, las CDS definen:

  • Un lenguaje de control de datos (DDL): Para describir tablas y tipos estructurados.
  • Un lenguaje de control de datos (DCL): Para definir restricciones de acceso.
  • Un lenguaje de consulta (QL): Para leer datos de una manera cómoda y se utiliza en combinación con DDL para definir vistas de base de datos.

Las CDS también contienen las siguientes mejoras:

  • Anotaciones: 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 clientes.
  • Tipos de datos definidos por el usuario, escalares y estructurados: Para ilustrar mejor la semántica de los tipos de datos utilizados.
  • Asociaciones: Para definir relaciones entre los objetos CDS. En el modelado y consulta podemos utilizar expresiones de ruta para abordar las relaciones que se han descrito con las asociaciones.

Debido a que los datos de las soluciones SAP ya estan almacenados en tablas, el enfoque de las ABAP CDS es la creación de vistas de los datos comerciales existentes. Estas vistas sientan las bases para la aceleración de los programas ABAP existentes y el desarrollo de aplicaciones nuevas e innovadoras.

En SAP S/4HANA, por ejemplo, los datos comerciales se proporcionan mediante vistas CDS y permiten que las nuevas aplicaciones cliente accedan a interfaces claras y consistentes y se beneficien de la reducción de código de estas vistas.

Cabe indicar que se pueden reutilizar los modelos de datos existentes y objetos DDIC en las ABAP CDS. Por lo tanto, podemos decir que las ABAP CDS son una extensión del diccionario de datos y los objetos SQL definidos en el DDIC.

2.1 HANA CDS vs ABAP CDS

Veamos a continuación las características que diferencia a ambas implementaciones:

HANA CDS ABAP CDS
  • Se crean directamente en la base de datos SAP HANA
  • Pueden consumirse externamente con servicios ODATA
  • Para consumirlas desde una aplicación ABAP debemos crear una vista externa en el DDIC ABAP, enlazar la vista externa con la vista CDS y consumir la vista utilizando sentencias OpenSQL
  • Necesitaremos crear dos órdenes de transporte distintas: una para la vista HANA CDS que se transporta como unidad de transporte en HAN y otra para la vista externa que se transporta con una orden de SAP en la transacción STMS.
  • 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 base de datos
  • Pueden utilizar tablas, vistas, etc. definidos por el usuario en el DDIC ABAP
  • No requieren crear vistas externas
  • Necesitaremos crear solo una orden de transporte estándar mediante la transacción STMS.

2.2 ABAP CDS vs Vistas de la transacción SE11

¿Qué ventajas tienen las vistas ABAP CDS contra las vistas tradicionales del DDIC? Para responder, haremos uso de una tabla:

Características ABAP CDS VISTAS DDIC
Parámetros de entrada Si No
SQL Joins (inner, left outer, right outer) Si Si, limitado
Agrupar resultados (UNION / UNION ALL) Si No
Funciones de agregación (SUM, MAX, AVG, COUNT...) Si No
Cláusulas SELECT (Where, Group By, HAVING) Si No
Operaciones aritméticas sobre columnas 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 Pasos para crear y consumir una vistas ABAP CDS

1.Seleccionamos el proyecto ABAP donde queramos crear la vista

2. Localizamos el paquete donde vamos a crear la vista, damos clic con el botón derecho del mouse sobre el paquete y elegimos la opción New->Other ABAP Repository Object

3. Seleccionamos el objeto Data Definition (o DDL Source dependiendo de la versión) dentro de la carpeta Core Data Services

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

5. Seleccionamos una orden de transporte existente o creamos una nueva orden

6. Por defecto tenemos varias plantillas disponibles para crear las vistas ABAP CDS. Una de ellas que podemos seleccionar es Define View y hacer clic en Finalizar

7. Se abrirá un editor con el código generado por la plantilla que tiene todo lo necesario para definir una nueva vista

8. Para implementar la vista debemos:

  • Cambiar el texto "sql_view_name" por el nombre que tendra la vista en el DDIC ABAP. Es importante indicar que este nombre NO PUEDE ser el mismo indicado en el paso 4.
  • Reemplazar "data_source_name" por el nombre de la tabla de base de datos de donde se esta creando la vista
  • En este caso, para referencia los campos se utiliza el punto (.) en lugar de (~) como se acostumbra en OpenSQL
  • Las columnas que recuperamos en la consulta se definen dentro de las llaves { }
  • Después de las llaves { } podemos incluir la cláusula WHERE
  • Los comentarios empiezan por // para una línea o /* */ para un bloque

9. Finalmente grabamos y activamos la vista

En el DDIC ABAP, las vistas ABAP CDS se denominan Vistas SQL DDL. Una vez se haya activado, ya esta disponible para verla desde la Tx SE11, ejecutarla y acceder a su definición en SQL desde el menú Detalles->ABAP Create pero no se puede modificar la vista desde el DDIC, solo desde Eclipse.

Desde nuestras aplicaciones ABAP, las vistas pueden consumirse con sentencias OpenSQL como cualquier tabla o vista del DDIC. También puede utilizarse como tipo para definir tablas internas, estructuras y variables de los programas ABAP. Para ello, debemos utilizar el nombre que especificamos 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?

Podemos consultar la tabla estándar TADIR con los siguientes parámetros de selección de tal forma que podamos encontras todas las vistas CDS existentes en SAP, su nombre en el DDIC ABAP y el paquete al que pertenecen. Los parámetros a indicar son:

  • PGMID = R3TR
  • OBJECT = DDLS

Accediendo a la tabla DDLDEPENDENCY podemos obtener los nombre de la vista en el DDIC ABAP y en SAP HANA. Para ello, accedemos con el parámetro:

  • OBJECTTYPE = VIEW

Tips:

  • Una característica importante de la especificación CDS es que su implementación es independiente de la base de datos. Esto significa que igual que OpenSQL, las ABAP CDS se pueden ejecutar en cualquier base de datos compatible.

 

Escanear / Compartir

 

 

2 Agradecimientos:

Han agradecido este aporte: Jesús Quiñonez López, Martín Gómez Rodríguez


Sobre el autor

Publicación académica de Abraham Humberto Noriega Cabrera, en su ámbito de estudios para el Master ABAP for HANA.

SAP SemiSenior

Abraham Humberto Noriega Cabrera

Profesión: Ingeniero Sistemas Computacionales - Mexico - Legajo: WO62V

✒️Autor de: 14 Publicaciones Académicas

🎓Egresado del módulo:

Disponibilidad Laboral: FullTime

Presentación:

Ingeniero en sistemas computacionales con experiencia en análisis, desarrollo e implementación de sistemas. he tenido el gusto de participar en implementaciones tanto locales como a nivel estatal.

Certificación Académica de Abraham Noriega

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "ABAP Core Data Services" de la mano de nuestros alumnos.

SAP Master


ABAP Core Data Services Introducción y contexto de ABAP CDS Se explicó la programación ABAP orientada a bases de datos introducida en ABAP 7.4 y el paradigma code to data. Se mencionaron los objetos de desarrollo SAP HANA disponibles en Eclipse: procedimientos de base de datos, vistas de atributos, vistas analíticas y vistas de cálculo. Se detallaron desventajas de los objetos HANA en ABAP: falta de integración con el ciclo de vida ABAP, gestión de versiones, verificación de sintaxis y activación, imposibilidad de extensión y necesidad de usuarios/roles adicionales. Mejoras en ABAP 7.4: CDS (Core Data Services), nuevas características...

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio Romero

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert



ABAP Core Data Services (CDS) es una tecnología clave en la programación avanzada de ABAP sobre SAP HANA. Permite definir modelos de datos semánticos directamente en la base de datos, optimizando el acceso y el rendimiento gracias al principio de code pushdown, trasladando la lógica de negocio hacia la capa de base de datos. Con CDS, los desarrolladores crean vistas enriquecidas que combinan datos de múltiples tablas, aplican asociaciones, agregaciones y anotaciones que facilitan la integración con frameworks como SAP Fiori, OData y analítica embebida. Estas vistas no solo simplifican el modelado de datos, sino que también mejoran la reutilización y la consistencia en distintos escenarios....

Acceder a esta publicación

Creado y Compartido por: David Ibarra / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Programacion Avanzada de Base de datos con ABAP 7.4 Necesitamos impkementar y ejecutar la logica de procesamiento en la base de datos pra poder usar el paradigma code to data en las aplicaciones ABAP. Disponemos de una seria de objetos de desarrollo de SAP HANA para este proposito, los cuales solo se encuentran disponibles en Eclipse por ejemplo: Procedimiento de BD Vistas de Atributos Vistas Analiticas Vistas de Cálculo Sin embargo, el uso de estos nos puede ocasionar algunos problemas, ya que a diferencia de los objetos que estan completamente administrados por el servidor de aplicaciones ABAP, existen restricciones que aplican a los objetos de desarrollo de SAP HANA. Entre las restricciones o desventajas de los objetos...

Acceder a esta publicación

Creado y Compartido por: Jeferson Jos Pena Curvelo / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

ABAP Core Data Services 1. Introducción a la programación avanzada de bases de datos con Abap 7.4 El paradigna code-to-data permite implementar y ejecutar lógica de procesamiento en la base de datos Para esto, tenemos objetos de desarrollo de Sap Hana que se encuentran disponibles en Eclipse, tales como Procedimientos de base de datos, Vistas de atributos, Vistas analíticas y Vistas de cálculo Estos objetos no están vinculados a la gestión de versiones de Abap En el entorno de desarrollo Abap, no se muestran errores ni advertencias relacionados con los objetos de desarrollo de Sap Hana Para implementar objetos de desarrollo de Sap Hana, se requiere un usuario adicional para...

Acceder a esta publicación

Creado y Compartido por: Sergio Diaz

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

1. Introducción a la programación avanzada de bases de datos con ABAP 7.4 Objetos de desarrollo de SAP HANA. - Procedimientos de base de datos - Vistas de atributos - Vistas analíticas - Vistas de cálculo Desventajas de los objetos de desarrollo de SAP HANA en ABAP. - Desventaja no 1. Si modificamos un objeto de desarrollo en SAP HANA Studio entonces deberemos sincronizar manualmente los cambios realizados en el Diccionario de datos ABAP DDIC. - Desventaja no 2. 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 a menudo nos conduce a errores en tiempo de ejecución. - Desventaja no 3. Los objetos...

Acceder a esta publicación

Creado y Compartido por: Oscar Iván Eugenio Trejo / Disponibilidad Laboral: PartTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Junior

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...

Acceder a esta publicación

Creado y Compartido por: Adan Elizarraras

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

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 los siguientes objetos de desarrollo de SAP HANA, los cuales solo se pueden crear con SAP HANA Studio: Procedimientos de base de datos Vistas de atributos Vistas analíticas Vistas de calculo Sin embargo, estos objetos de desarrollo de HANA tienen desventajas con respecto a los objetos que están completamente administrados por el AS ABAP: Los objetos de desarrollo de SAP HANA no se integran con la gestión del ciclo de vida ABAP ni con la gestión de versiones ABAP. No se consideran en la verificación de sintaxis y activación de un programa...

Acceder a esta publicación

Creado y Compartido por: Ricardo Daniel Tovar Barrera

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

INTRODUCCIÓN A LA PROGRAMACIÓN AVANZADA DE BASES DE DATOS CON ABAP 7.4 Paradigma CODE-TO-DATA. => Implementar/ejecutar lógica de procesamiento en BD. Objetos de desarrollo de SAP HANA para este propósito (disponibles sólo en Eclipse y pueden ser creados mediante SAP HANA STUDIO): Procedimientos de BD, vistas de atributos, vistas analíticas y vistas de cálculo. Restricciones de los objetos de desarrollo de SAP HANA en ABAP. No se integran completamente con la gestión del ciclo de vida ABAP. Estos objetos de desarrollo se deben sincronizar manualmente en el ABAP DDIC. No están vinculados a la gestión de versiones de ABAP. No se consideran en la verificación...

Acceder a esta publicación

Creado y Compartido por: Johanna Thaina Rangel Lucero / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

Unidad 2: Lección 2 ABAP Core Data Services Para utilizar el paradigma code-to-data, se necesita implementar la lógica de procesamiento en la base de datos, para esto se dispone de una serie de objetos de desarrollo de SAP HANA disponibles en Eclipse y creados mediante el SAP HANA Studio: Procedimientos de base de datos Vistas de atributos Vistas analíticas Vistas de cálculo Restricciones o desventajas de los objetos de desarrollo de SAP HANA en ABAP Los objetos de desarrollo de SAP HANA no se integran completamente con la gestión del ciclo de vida de ABAP, si hay cambios en SAP Hana Studio se debe sincronizar manualmente en el diccionario de datos ABAP DDIC No consideran la verificación...

Acceder a esta publicación

Creado y Compartido por: Alejandra Soto Guerrero

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

Para utilizar el paradigma code-to-data en las aplicaciones ABAP, necesitamos implementar y ejecutar la lógica de procesamiento en la base de datos. Disponemos de una serie de objetos de desarrollo de SAP HANA para este propósito, los cuales solo se encuentran disponibles en Eclipse y pueden ser creados mediante el SAP HANA Studio, entre los que podemos mencionar los siguientes objetos: Procedimientos de base de datos Vistas de atributos Vistas analíticas Vistas de cálculo Sin embargo, el uso de estos objetos nos puede ocasionar algunos problemas, ya que a diferencia de los objetos que están completamente administrados por el servidor de aplicaciones ABAP, existen restricciones que aplican a los objetos...

Acceder a esta publicación

Creado y Compartido por: Maximiliano Belgrado / Disponibilidad Laboral: PartTime

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 99.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

🔎Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!