🚀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

Unidad 2: Programación ABAP HANA Avanzada.

Lección 2: ABAP Core Data Services

Audio tip 1: Una característica importante de ABAP CDS es su implementación independiente de la base de datos. Al igual que en OPEN SQL las vistas de CDS se pueden ejecutar en todos los sistemas de base de datos compatibles con SAP en el servidor ABAP 7.4. Esto garantiza que los modelos de base 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 HANA también nos beneficiaremos de las ventajas del rendimiento del procesamiento de datos en memoria.

Audio tip 2: Tal como mencionamos las CDS se implementan tanto en SAP NetWeaver 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. Nosotros en este master nos enfocaremos en las CDS ABAP aunque la implementación del a 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 esta 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.


Video: Pasos para crear y consumir una Vista ABAP CDS

En este video vamos a analizar con un ejemplo práctico muy simple el paso a paso que debemos realizar para crear en eclipse + ADT una vista ABAP CDS y consumirla desde un programa. Todo con el objetivo de que consolides lo aprendido a lo largo de la lección.

Para crear la vista ABAP CDS vamos a utilizar dos tablas bases de datos por un lado la tabla ZTABLA_USUARIOS la cual a almacena los datos principales de los usuarios y por otro lado la tabla ZCURSOS_USUARIOS la cual almacena los datos de los cursos realizados por los usuarios para crear estas tablas podemos utilizar el diccionario de datos ABAP tal como hacíamos hasta ahora y luego veremos dichas tablas creadas también en eclipse o podemos crearlas directamente a través de eclipse y si luego consultamos el diccionario de datos ABAP comprobaremos que allí también están presentes

En Eclipse creamos la vista ABAP CDS posicionándonos en el paquete donde deseamos crearla y siguiendo los pasos establecidos en la lección nuestra vista ABAP CDS se llama ZZTEST_CDS_2. Tal como mencionamos en el paso 8 de la lección el sqlViewName contendrá el nombre de la vista ABAP CDS en el diccionario de datos ABAP y no puede ser el mismo que el que le asignamos a la vista en el paso 4. Luego reemplazamos el Data Source Name por el nombre de la tabla o tablas de base de datos a las cuales se accederá en la vista, en este caso realizaremos un JOIN entre las tablas ztabla_usuarios y zcursos_usuarios.

Para hacer referencia a los campos de las tablas se utiliza el punto. Los campos que devuelve la selección de datos los definimos dentro de las llaves y después de la llaves incluimos la condición WHERE para limitar los registros recuperados. Vamos a ejecutar la vista ABAP CDS de modo de comprobar que se seleccionan datos. Y verificamos que se recupera un registro de datos en la vista ahora vamos a verificar en el diccionario de datos ABAP que la vista ABAP CDS que acabamos de crear mediante eclipse existe. Para ello tildamos el radio button View y completamos el nombre de la vista que introducimos en SQLViewName, visualizamos y comprobamos que la vista existe y se encuentra activa.

También verificamos que esta definición solo puede visualizarse en el diccionario de datos ABAP y si deseamos modificarla entonces debemos hacerlo si o si en eclipse + ADT. Visualizamos el código fuente de la vista y comprobamos efectivamente que es el perteneciente a nuestra vista ABAP CDS. Por último creamos un programa ABAP Nuevo para consumir la vista ABAP CDS ZTEST_CDS_USUARIOS. Lo vamos a modificar para analizar detalladamente su lógica. Tal como vemos la estructura del programa es muy simple declaramos una tabla interna que tienen la misma estructura que la vista ABAP CDS. Declaramos un parámetro en la pantalla de selección del programa de modo de restringir la selección de registros de datos de la vista. Realizamos un select a la vista recuperando todos los campos y almacenando los registros en la tabla interna, restringimos la selección con el parámetro. Por último vamos a imprimir los registros recuperados en pantalla. Vamos a ejecutar nuestro programa ABAP. En el campo Documento Nacional Identidad en la pantalla de selección introducimos un número de documento para filtrar la selección y ejecutamos. Finalmente visualizaremos en pantalla los datos recuperados de la vista ABAP CDS con éxito.

REPORT ztest_cds_usuarios.

DATA: ti_test_cds TYPE STANDARD TABLE OF zztest_cds_2,

wa_test_cds LIKE LINE OF ti_test_cds.

PARAMETER p_dni LIKE z_tabla_usuarios-dni.

START-OF-SELECTION.

SELECT id_alumno

nombre_apellido

id_curso

nombre_curso

duración_curso

instructor_curso

INTO CORRESPONDING FIELDS OF TABLE @ti_test_cds

FROM zztest_cds_2.

WHERE dni EQ @p_dni.

IF sy-subrc EQ 0.

LOOP AT ti_test_cds INTO wa_test_cds.

WRITE:/ wa_test_cds-id_alumno

WRITE:/ wa_test_cds-nombre_apellido

WRITE:/ wa_test_cds-id_curso

WRITE:/ wa_test_cds-nombre_curso

WRITE:/ wa_test_cds-duración_curso

WRITE:/ wa_test_cds-instructor_curso

ENDLOOP.

ENDIF.


 

 

 


Sobre el autor

Publicación académica de Brenda Castillo Domínguez, en su ámbito de estudios para el Máster ABAP for HANA.

SAP Expert


Brenda Castillo Domínguez

Profesión: Ingenieria en Sistemas Computacionales - Mexico - Legajo: HJ67S

✒️Autor de: 187 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Certificación Académica de Brenda Castillo