Hay situaciones en las que es posible que sea necesario ejecutar algunos cálculos de back-end a partir de una historia en SAP Analytics Cloud (SAC). Por ejemplo, cuando queremos ejecutar lógica o cálculos complejos a datos o parámetros que han sido actualizados.
En esta publicación, mostraré cómo usar las acciones múltiples en SAP Analytics Cloud para llamar a un procedimiento almacenado que reside en SAP HANA Cloud o SAP Data Warehouse Cloud (DWC).
Para ello utilizaré el blog recientemente publicado sobre cómo crear una API en Cloud Foundry para llamar a procedimientos almacenados en SAP HANA Cloud, utilizando el modelo SAP Cloud Application Programming (CAP). En esa publicación, creé un procedimiento almacenado que agrega un registro a una tabla HISTORIAL DE LLAMADAS con la marca de tiempo actual y alguna información adicional. Aquí se utilizará el mismo procedimiento, pero implementado en SAP Data Warehouse Cloud. Usaré la historia de acciones múltiples en SAP Analytic Cloud para llamar a esa API. Se creará una vista en SAP DWC para mostrar el contenido de HISTORIAL DE LLAMADAS en la misma historia de SAC.
El procedimiento almacenado de HANA se implementará en un contenedor HDI que puede residir en SAP HANA Cloud o dentro de SAP Data Warehouse Cloud. Este contenedor tendrá los artefactos nativos de HANA: tabla y procedimientos.
Además de eso, se utilizará el modelo de programación de aplicaciones en la nube para proporcionar el servicio API, así como la autenticación de usuario en Cloud Foundry.
Este escenario está completamente cubierto en el blog: cómo crear una API en Cloud Foundry para llamar a procedimientos almacenados en SAP HANA Cloud, utilizando el modelo SAP Cloud Application Programming (CAP).
En las próximas secciones usaré el nombre DWC_API_Servicio_Prueba para la aplicación y los servicios, que es exactamente lo mismo que el HANA_API_Servicio_Prueba creado en ese blog, pero que apunta a una instancia de HANA Cloud dentro de SAP Data Warehouse Cloud, como se describe en la siguiente opción.
En este caso el mismo blog (cómo crear una API en Cloud Foundry para llamar a procedimientos almacenados en SAP HANA Cloud, utilizando el modelo SAP Cloud Application Programming (CAP)), se utilizará como línea de base. Sin embargo, dado que el proyecto se implementará en la instancia de HANA Cloud dentro de SAP Data Warehouse Cloud, hay algunas consideraciones adicionales a tener en cuenta:
Todas estas consideraciones se explican en el blog: Desarrolle en SAP Data Warehouse Cloud usando SAP HANA Deployment Infrastructure (HDI)por Nidhi Sawhney
Una vez que el servicio API se implementa en Cloud Foundry, se puede encontrar en BTP Cockpit, dentro de las aplicaciones espaciales. Mi aplicación se llama DWC_API_Service_Test-srv, que aparece como:
Al abrir la aplicación DWC_API_Service_Test-srv, se puede encontrar la URL de la API en las rutas de la aplicación.
Aparte de eso, se necesitará la información de autenticación del usuario, que se describe en las instancias de los servicios. En mi caso, este es el servicio DWC_API_Service_Test-auth:
Al hacer clic en Ver credenciales (arriba a la derecha), se muestran todos los detalles. Solo se necesitan los tres primeros parámetros: ID de cliente, secreto de cliente, y URL
Con toda esta información estamos listos para crear una conexión a la API en SAC.
En SAP Analytics Cloud, crearé una nueva conexión para la API HTTP:
La URL del servicio de datos es la URL de la aplicación del paso anterior.
Para esta API, el tipo de autenticación es Credenciales de cliente de OAuth 2.0. Los siguientes tres parámetros son del servicio de autenticación:
Después de hacer clic en Aceptar, la conexión debería crearse correctamente.
El siguiente paso es crear una nueva Multi-Acciones, haciendo clic en Multi-Acciones en el menú de la izquierda. Lo llamé DWC_API_Service_Test y agregaré un paso API,
Se debe dar un nombre al paso de la API. En mi caso usé Stored_Procedure_API.
En este momento, solo las API POST están permitidas en acciones múltiples. Por lo tanto, usaré el servicio: act_register_call_with_param (ver blog anterior: cómo crear una API en Cloud Foundry para llamar a procedimientos almacenados en SAP HANA Cloud, utilizando el modelo SAP Cloud Application Programming (CAP))
En la URL de la API, la URL de la aplicación se escribe con la adición de /catalog/
Todos los parámetros deben estar en el cuerpo:
{
"comment": "Calling from SAC",
"name": "Hernan",
"value": 1
}
Para los resultados de la ejecución, seleccioné «Retorno sincrónico» y lo guardé.
Para acceder a la tabla HISTORIAL DE LLAMADASel contenedor HDI debe agregarse al espacio SAP DWC:
Una vez que se agrega el contenedor HDI, se puede crear una vista gráfica en Data Builder. Al crear una vista, la tabla debe estar visible yendo a las fuentes. Crearé una vista analítica con VALOR como un Medida para consumirlo desde SAP Analytics Cloud.
Después de su implementación, debe ser accesible desde SAP Analytics Cloud.
En SAP Analytics Cloud, voy a crear una historia básica que se conecte a SAP Data Warehouse Cloud. Después de crear el nuevo lienzo, agrego datos de la fuente de datos, en este caso, datos en vivo de SAP Data Warehouse Cloud.
En este ejemplo, solo crearé una tabla para mostrar los datos y el Multi-acciones. La acción múltiple aparece en las opciones de inserción como una Disparador de planificación.
En la configuración de Multi-Acción solo tengo que seleccionar el nombre de Multi-Acción previamente definido.
Luego agrego una tabla para mostrar el Ver_HISTORIAL_DE_LLAMADAS de SAP DWC.
Ahora, al hacer clic en el control de acción múltiple, se activará la API. Una vez finalizada su ejecución, los datos se pueden actualizar haciendo clic en el botón Actualizar botón en la barra de herramientas.
Esta publicación de blog muestra un ejemplo sobre cómo desencadenar la ejecución de un procedimiento almacenado de HANA a través de la API de SAP Analytics Cloud. El procedimiento almacenado puede residir en SAP Data Warehouse Cloud, así como en una nube independiente de SAP HANA.
De esta forma, los usuarios comerciales pueden ejecutar la lógica en el backend directamente desde un informe. Por lo tanto, se pueden implementar casos de uso más complejos. Por ejemplo, las simulaciones de Monte Carlo que aprovechan la biblioteca de análisis predictivo (PAL) de SAP HANA podrían activarse directamente desde SAP Analytics Cloud.
quiero agradecer ian henry, María TZATSOU y Nektarios Vasileiou por todas las discusiones, experiencias compartidas y apoyo recibido en relación con esta publicación de blog.
Verifique los recursos de la comunidad y haga preguntas sobre
Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010
Paseo de la Reforma 26
Colonia Juárez, Cuauhtémoc
Ciudad de México 06600
Real Cariari
Autopista General Cañas,
San José, SJ 40104
Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073