✒️ABAP HANA / ABAP Core Data Services Por Juan Hernández

Selector Alummnos / Empresas

ABAP ABAP Core Data Services

ABAP ABAP Core Data Services

Lección 2: ABAP Core Data Services

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

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 bases de datos.

- Vistas de Atributos.

- Vistas de 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 de desarrollo de SAP HANA.

Podemos mencionar las siguientes restricciones o desventajas de los objetos de desarrollo de SAP HANA en ABAP.

- Desventaja n. 1:

Los objetos de desarrollo de SAP HANA no se integran completamente con la gestión del ciclo de vida de ABAP. Es decir, si modificamos un objeto de desarrollo de SAP HANA Studio entonces deberemos sincronizar manualmente los cambios realizados en el Diccionario de datos ABAP DDIC.

Por otro lado, los objetos de desarrollo de SAP HANA no están vinculados a la gestión de versiones de ABAP.

- Desventaja n. 2:

Los objetos de desarrollo de SAP HANA no se consideran en la verificación de sintaxis y activación de una aplicación o programa ABAP.

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 n. 3:

Los Objetos de desarrollo de SAP HANA no pueden extenderse o ampliarse.

Cuestión que si podemos llevar a cabo perfectamente por ejemplo con las tablas bases de datos existentes en el diccionario de datos ABAP DDIC.

- Desventaja n. 4:

Para implementar los objetos de desarrollo de SAP HANA, los desarrolladores ABAP requieren un usuario adicional para la base de datos de SAP HANA y las autorizaciones correspondientes de la base de datos.

Mientras que cuando trabajábamos con el diccionario de datos ABAP DDIC, podíamos realizar todo lo necesario desde este punto central.

A partir de ABAP 7.4, se introducen una serie de mejoras en el lenguaje de modo de garantizar la integración de los objetos en el ciclo de vida ABAP, incluida la gestión de versiones y la posibilidad de extender o ampliar los objetos. Las más relevantes son:

- CDS: Las Core Data Services (Servicios de datos básicos) son un método especifico de SAP que se utilizan para definir modelos de datos persistentes.

- Nuevas características de Open SQL: estas incluyen, por ejemplo, el soporte de expresiones SQL en el SELECT y en las cláusulas GROUP BY, HAVING y WHERE.

- Implementación de procedimientos de base de datos SAP HANA en métodos ABAP: los procedimientos de bases de datos administrados ABAP (AMDP) nos permiten ejecutar la lógica de procesamiento en la base de datos. Podemos implementar estos procedimientos de base de datos en el entorno de desarrollo ABAP normal sin requerir un usuario para la BD SAP HANA.

-

CAP 2. ABAP Core Data Services

NOTA: CDS. Los servicios de datos centrales (CDS) son un método especifico de SAP para definir modelos de datos persistentes.

La especificación se basa en los estándares SQL-92 y SQL-1999EL 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 tablas de bases 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 manera cómoda y se utiliza en combinación con DDL para definir vistas de bases de datos.

NOTA: Originalmente, solamente 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 crear vistas CDS desde el servidor de aplicación ABAP utilizando en Eclipse el plugin ADT.

Las CDS también contienen las siguientes mejoras de SQL que son necesarias para la creación de modelos de datos óptimos para aplicaciones de negocio.

· 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. Estas 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 abortar las relaciones que se han descrito con las asociaciones.

NOTA: Debido a que los datos de las soluciones SAP utilizadas en las empresas ya están almacenados en el sistema de la base de datos, el enfoque principal de ABAP CDS es la creación de Vistas de los datos comerciales existentes.

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

En SAP S/4HANA, por ejemplo, los datos comerciales se proporcionan mediante vistas CDS bien definidas en las tablas de base de datos de SAP Business Suite.

Estas vistas 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. Esta es una de las características más importante de ABAP CDS.

También se puede reutilizar directamente los modelos de datos existentes y objetos DDIC (tablas, vistas, elementos de datos) del diccionario de datos en ABAP CDS.

Por lo tanto, las ABAP CDS son una extensión del diccionario de datos DDIC y los objetos SQL definidos en el DDIC.

NOTA: Una característica importante de ABAP CDS es su implementación independiente de la base de datos. Al igual que el OPEN SQL las vistas de CDS se pueden ejecutar en todos los sistemas de bases de datos compatibles con ABAP en el servidor ABAP 7.4.

Esto garantiza que los modelos de bases de datos que hayamos modelado con ABAP CDS muestren su comportamiento funcional uniforme independientemente de su caso de aplicación y el LANDSCAPE del sistema.

Si ejecutamos las vistas de CDS en la base de datos de SAP HAN, también nos beneficiaremos de las ventajas de rendimiento del procesamiento de datos en memoria.

2.1 – HANA CDS vs ABAP CDS

Existen dos implementaciones diferentes de las CDS: las CDS de SAP HANA y las 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 el Diccionario de datos ABAP, enlazar la vista externa con la vista HANA CDS y consumir la vista externa utilizando sentencias OPEN SQL.

· Necesitaremos crear dos órdenes de transporte diferentes: 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 TX STMS.

Las ABAP CDS:

· Están disponibles desde SAP NW ABAP 7.4 SP05.

· Se puede 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 tablas, vistas, etc. Definidos en el diccionario de datos ABAP.

· No requieren crear vistas externas.

· Necesitaremos crear una única orden de transporte estándar de SAP mediante la TX STMS.

NOTA: Las CDS se implementan tanto en SAP NW Application Server ABAP como en SAP HANA. Estas implementaciones son independientes una de la otra, es decir, tenemos CDS para ABAP y CDS para SAP HANA.

Nos enfocaremos en las CDS ABAP. Aunque la implementación de las CDS en el Application Server ABAP también conocida como ABAP CDS aprovecha la infraestructura de ABAP Application Server con objetos CDS de ABAP principalmente, que son independientes de la base de datos, la implementación de CDS en SAP HANA también conocida como CDS para SAP HANA, está totalmente limitada por las condiciones de la base de datos de SAP HANA.

Por lo tanto, actualmente no se puede utilizar objetos de SAP HANA CDS en objetos de Application server ABAP o ABAP CDS en SAP HANA.

2.2 – ABAP CDS vs Vistas de la TX SE11

Ventajas de las vistas ABAP CDS sobre las vistas tradicionales del diccionario que creamos desde la TX SE11.

Vemos algunas de las características disponibles en las vistas ABAP CDS y que no se encuentran disponibles en las vistas de base de datos tradicionales de la TX SE11

Características ABAP/CDS Vistas del DDIC

Parámetros de entrada SI NO

SQL Joins (inner join, left outer join, right outer join) SI SI, pero con limitaciones.

Agrupar resultados (UNION / UNION ALL) SI NO

Funciones de agregación (SUM,MAX,MIN,COUNT,..) SI NO

Casuals SELECT (WHERE, GROUP BY, HAVING) SI NO

Operaciones aritméticas sobre columnas (,-,*.DIV..) 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 expresions SI NO

2.3 – Pasos para crear y consumir una Vista ABAP CDS

Para crear una Vista ABAP CDS con Eclipse vamos realizaremos los siguientes pasos:

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

2) Seleccionamos el paquete donde vamos a crear la Vista CDS, para ello hacemos botón derecho del ratón sobre el paquete y elegimos New/Other ABAP Repository Object.

3) Seleccionamos el objeto Data Definition en la carpeta Core Data Services.

NOTA: Si trabajamos con un componente SAP_BASSIS inferior a la versión 7.5 tendremos que seleccionar el objeto “Data Definition” o “DLL Source” dentro de la carpeta Dictionary.

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

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

6) Por defecto tenemos varias plantillas disponibles para crear las Vistas ABAP CDS. Seleccionamos la plantilla Define view y clic en Finalizar.

7) A continuación se abrirá una nueva ventana con el siguiente código:

[email protected]: ‘sql_view_name’

[email protected]: true

[email protected]: #CHECK

[email protected]: ‘Datos factures vista CDS’

5-define view ZZCDS_INVOICE_DATA as select from data_source-name {

6-

7-}

8) Para implementar la vista ABAP CDS debemos:

o Cambiar el texto “sql_view_name” por el nombre que tendrá la vista en el diccionario ABAP. Es importante tener en cuenta que el nombre de la vista en el diccionario ABAP no puede ser el mismo que el nombre que hemos dado a la vista ABAP CDS en el paso 4.

o Reemplazar “data_source_name” por el nombre de la tabla de la base de datos.

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

o Las columnas que recuperamos en la consulta se definen dentro de las {}

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

o Los comentarios empiezan por // para una línea o /* */ para un bloque.

[email protected]: ‘ZZCDS_INVOIOCE’

[email protected]: true

[email protected]: #CHECK

[email protected]: ‘Datos factures vista CDS’

5-define view ZZCDS_INVOICE_DATA as select from vbak

6- inner join vbap

7- on vbak.vbeln = vbap.vbeln

8- {

9-vbak.vbeln,

10-vbak.posnr,

11-vbak.vbtip,

12-vbak.auart,

13-vbak.audat,

14-vbap.matnr,

15-vbap.waerk

16- }

17-

18-where vbak.auart = ‘ZMUE’

19-

9) Finalmente grabamos y activamos la vista.

Luego en el diccionario de datos ABAP las vistas ABAP CDS se denominan Vista SQL DDL.

Una vez activada la vista en Eclipse, ya podemos ver nuestra vista 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 ABAP CDS desde el diccionario ABAP. Solamente desde Eclipse.

Desde nuestras aplicaciones ABAP, las vistas ABAP CDS pueden consumirse con sentencias OPEN SQL como cualquier vista o tabla del diccionario ABAP.

También pueden utilizarse como tipos para la definición de tablas internas, estructuras y variables de los programas ABAP.

Debemos utilizar el nombre que hemos especificado 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 base de datos estándar TADIR con los siguientes parámetros en la selección, de modo de encontrar todas las vistas CDS existentes en SAP, su nombre en el diccionario ABAP y el paquete al que pertenecen.

Debemos acceder a la tabla TADIR con los siguientes parámetros:

o PGMID = R3TR

o OBJECT = DDLS

Accediendo a la tabla DDLDEPENDENCY podemos obtener los nombres de la vista en el diccionario ABAP y en SAP HANA. Accedemos con el parámetro:

o OBJECTTYPE = VIEW


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Juan Hernández, en su ámbito de estudios para el Master ABAP for HANA.

SAP Master


Juan Hernández

Profesión: Programador Informático - España - Legajo: XQ15K

✒️Autor de: 125 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: PartTime

Certificación Académica de Juan Hernández

✒️+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!