Tras la teoría expuesta en los dos artículos anteriores sobre bases de datos relacionales en SAP y su aplicación en bases de datos HANA, vamos con este tercer y último artículo en el que vamos a exponer un caso práctico de vista CDS en HANA consumida desde una aplicación SAPUI5.

Conceptos básicos sobre BBDD SAP y HANA (Parte I)

Conceptos básicos sobre BBDD SAP y HANA (Parte II)

Objetivo

Para este ejemplo práctico hemos pensado crear una aplicación que muestre las ventajas de las vistas CDS HANA a través de las funciones nativas SQL y del servicio oData que tienen por defecto. Para cumplir nuestro objetivo necesitamos crear la vista y la aplicación, interconectándolas a través de un servicio oData para acabar mostrando un listado con el contenido de nuestra vista CDS HANA (en este caso, los detalles de todas las compañías de aerolíneas).

Creación de la vista CDS en HANA

Creamos la vista CDS en HANA y añadimos la anotación @OData.publish: trueConceptos básicos sobre BBDD SAP y HANA (Parte III) - anotacion

Activación del servicio OData

Ejecutamos la transacción /IWFND/MAINT_SERVICE y buscamos por el nombre de nuestra vista CDS para activar/añadir el servicio y cargar los metadatos.

Conceptos básicos sobre BBDD SAP y HANA (Parte III) - transacción IWFNDMAINT_SERVICE

Conceptos básicos sobre BBDD SAP y HANA (Parte III) (5)

Creación de la app SAPUI5

Para facilitar las cosas, utilizamos una plantilla SAPUI5 y creamos una aplicación sencilla para la visualización de los datos.

Conceptos básicos sobre BBDD SAP y HANA (Parte III) - aplicacion

Establecemos la conexión con el servicio oData.

Mapeamos los elementos de la lista con el EntitySet ZCDS_VIEW.

Conceptos básicos sobre BBDD SAP y HANA (Parte III) - EntitySet ZCDS_VIEW

Si ejecutamos la aplicación, ya podemos visualizar los datos.

En nuestro ejemplo, hemos utilizado una vista CDS HANA, lo que significa que en la consulta Select podemos incluir funciones específicas SQL como UPPER, LPAD, RPAD etc.Conceptos básicos sobre BBDD SAP y HANA (Parte III) -CDS HANA

Cambiando en mayúsculas el nombre de la compañía, con la función UPPER en la vista CDS, obtenemos:

De esta manera, podemos cambiar los datos mostrados en función de necesidades sin pasar por todos los registros devueltos para actualizarlos, como debería hacer después de una consulta OPEN SQL.

Conclusiones

Como hemos visto, las vistas tienen el propósito de facilitar la creación de los informes complejos, tras el análisis de un montón de datos interdependientes, por lo tanto, será suficiente solamente ver estos resultados. Si miramos en esquema del servicio creado no se permite la manipulación de los datos.

Conceptos básicos sobre BBDD SAP y HANA (Parte III) (1)

En caso de necesitar la actualización, creación o eliminación de ciertos registros, será necesario crear otro servicio oData que ofrezca la posibilidad de crear un EntityType con el tipo del @AbapCatalog.sqlViewName (en nuestro caso: ‘ZCDS_VIEW_N’).

Además, se puede aprovechar y redefinir, en función de las necesidades, las funciones CRUD (Create, Read, Update, Delete) del proprio EntitySet ya creado.

Por otro lado, las vistas CDS permiten la visualización de los datos en función de los permisos de cada usuario, grupo de usuario u otros parámetros, manteniendo el acceso controlado a los datos confidenciales

Con esto, hemos visto desde la teoría a la práctica las características más importantes de las bases de datos en SAP y en HANA y cómo pueden ser útiles para ser utilizadas en las aplicaciones de negocio que queramos desarrollar.

Puedes dejarnos tus preguntas en comentarios o ponerte en contacto con nuestro departamento de User Experience & Integration.

User Experience & Integration