Hola de nuevo a la comunidad de SAP. Espero se encuentren bien y que hayan tenido tiempo de leer el primer blog que escribí acerca del CAP
aquí. Hoy me gustaría agregarle funcionalidad al blog que hice acerca de las aplicaciones full stack en el framework de CAP. Nuevos artefactos de la base de datos como lo son las calculation views y stored procedures para hacerlo ver más como una aplicación real. Para leer este blog en inglés ve
aquí
Empecemos agregando un
calculation view. Como ya deben saber, los calculation views representan datos de tablas/vistas múltiples para presentar un modelo de datos.
Recuerda que, cuando creas nuevos objetos,
debes hacer un build (cds build) a nivel de proyecto para poder hacer el deployment asegurándote de que no haya nada malo en el HDI.
Para agregar un calculation view a tu proyecto de CAP sigue los siguientes pasos:
- Crea un calculation view dentro del folder db/src del proyecto.
Desde el command palette, escribe
>hana: para abrir el menú de sugerencias y seleccionar del drop down “Create SAP HANA Database Artifact”
- Sigue los pasos del wizard para añadir la información correspondiente al tipo de objeto db, nombre, path, etc.
Una vez que hayas creado el modelo de datos, necesitamos reconstruir el proyecto antes de hacer el deploying. Para reconstruir el proyecto, desde la terminal, escribe: cds build
*Nota que las tablas y el nuevo view sean reconstruidos (lo puedes ver desde el output de la terminal)
Una vez que los objetos sean construidos, puedes usar el icono de cohete desde la herramienta BAS para hacer deploy – pon el ratón al nivel de proyecto y no al nivel de objeto.
Una vez que se haga el deployment, puedes verificar si el calc view se creó correctamente dentro de la instancia de HANA usando el explorador de bases de datos (desde la sección de Column views)
Y también puedes hacer un query al view desde la consola de SQL
O también desde la terminal usando la herramienta de hana-cli
El siguiente paso es agregar el calculation view al archivo de modelos de la DB y hacer referencia a él desde el servicio de OData. Ya que el CV existe en el sistema, debemos incluir anotaciones al archivo de cds de la BD para que el sistema sepa que es un objeto ya existente.
Usando la herramienta de hana-cli tool, inspeccionemos el view. Usando el de output cds (-o flag) Podemos generar este view como si fuera un view de CDS. Como ya lo mencioné anteriormente, y que ya existe el objeto, la herramienta de hana-cli incluye esas anotaciones al calculation view (@cds.persistence annotations arriba del nombre de la Entity) juega con el comando para ver que otras opciones puedes usar y también para ver la definición completa del mismo
Con esta definición de CDS, continuamos hacia el archivo de CDS. Nota los cambios que quitamos el namespace y lo añadimos como context en la estructura abajo. Eso se hace para no tener que poner un namespace en el calculation view.
Una vez que el view se haya incluido en esta definición, continuemos al servicio de OData.
Lo incluimos aquí para poder exponerlo como un endpoint diferente. La anotación @readonly se incluyó en el servicio pues muestra que solo es para leer y el consumidor del servicio no trate de crear o manipular los datos desde este endpoint.
El siguiente paso es asegurarnos que funcione la construcción y deployment de la aplicación como lo hicimos anteriormente. Después de que se haya hecho el deployment, corre el servicio desde la