
Este blog es una perspectiva personal y una guía técnica sobre una nueva forma de extender el núcleo de ERP con un enfoque de lado a lado. SAP Build apps es una plataforma poderosa para crear aplicaciones de pila completa con poco o ningún esfuerzo de codificación requerido. Además, puede consumir datos de ERP (S4 on-prem/Cloud) y ahora puede actualizar directamente la base de datos en ERP con una de sus características AppGyver Classic.
En este blog, se utiliza el clásico AppGyver para demostrar la capacidad y la implementación.
requisitos previos:
Descargo de responsabilidad: Los contenidos y la opinión expresada en este blog son propiedad del autor del blog y no reflejan necesariamente los de SAP. |
Desde que se introdujo el enfoque de núcleo limpio, muchas empresas se están dando cuenta de su importancia y están cambiando hacia el enfoque de extensión de lado a lado, en lugar de construir extensiones en el lado del ERP.
Cuando se trata de crear informes transaccionales, el marco más favorecido ha sido SAPUI5 freestyle o Fiori Element en la plataforma en la nube. La interfaz de usuario y la lógica empresarial están desacopladas del lado del ERP a la aplicación UI5 y la aplicación de estilo libre de UI5 tiene la mayor flexibilidad para crear la interfaz de usuario y controlar la lógica empresarial en la pantalla.
Sin embargo, desde que la plataforma No-Code/Low-Code se presentó el año pasado en Business Technology Platform, las cosas han cambiado para el desarrollo de aplicaciones SAP UI. SAP AppGyver (ahora SAP Build App) permite al usuario crear una interfaz de usuario fantástica y un control de interfaz de usuario flexible con poca o ninguna codificación requerida y, sin embargo, se puede implementar en el servicio Cloud Foundry y Launchpad, al igual que la aplicación SAPUI5.
Ahora, con la actualización de funciones más grande recientemente, la plataforma sin código/de código bajo admite soporte completo para el comportamiento transaccional y se comunica con la tabla de la base de datos de back-end. Esto incluye Crear, Leer, Actualizar, Eliminar y es especialmente poderoso para realizar estas operaciones en su lado de S4 ERP.
La administración de sus datos S4 (transacción/maestro) se realiza una vez mediante la aplicación SAPUI5 que requiere codificación. Ahora se puede hacer el mismo trabajo sin codificación, con un tiempo de entrega mucho más rápido y menos recursos de TI.
*Tenga en cuenta que esta comparación es solo para el esfuerzo de desarrollo de informes de front-end. Por lo tanto, la aplicación full-stack con modelo CAP y la aplicación con modelo ABAP RAP están excluidas del tema. El desarrollo de aplicaciones full-stack se abordará al final del blog. |
Arquitectura tosca
Para probar esta nueva función CRUD, estoy usando el sistema local S4 y BTP. Están conectados mediante un conector en la nube para que la API OData/REST sea consumible en la subcuenta BTP. AppGyver classic usa OData, que es API_SALES_ORDER_SRV en este blog, para crear, leer, actualizar y eliminar pedidos de ventas en el lado S4.
La conexión debe establecerse entre su S4 y la subcuenta BTP. En mi sistema, conexión HTTPS con certificado X.509 y Propagación principal son Se utiliza para conectarse a S4. Asegúrese de que tanto la conexión a S4 como BTP sean accesibles.
Utilice el destino del conector de la nube que apunta a S4. Asegúrese de usar una conexión local y de tener estas dos propiedades configuradas como «verdaderas».
Vaya a SAP Build Lobby y vaya a Crear. Elija ‘Crear aplicación’ y elija ‘AppGyver Classic’. Introduce el nombre y la descripción y crea.
Habilite la autenticación BTP desde la pestaña AUTH en la parte superior. Puede optar por no utilizar la autenticación en la página inicial.
Vaya a la pestaña DATOS y Agregar Integración. Elija la autenticación BTP y se muestra una lista de todos los destinos disponibles configurados en la subcuenta BTP. Elija el destino OData de S4 Sales creado en el paso anterior.
Si el destino y el conector de la nube están configurados correctamente, obtendrá todos los conjuntos de entidades de OData API_SALES_ORDER_SRV. Instale esta integración.
Vamos a utilizar el conjunto de entidades ‘A_SalesOrder’ para crear, actualizar y eliminar pedidos de venta. Habilite el conjunto de entidades y guarde su cambio.
Cambie a la vista de variables y cree la variable de datos. ‘Agregar variable de datos’ sugerirá A_Sales_Order, que habilitamos en el paso anterior. Una vez agregado, guarde el cambio.
*Si su S4 tiene una gran cantidad de datos de pedidos de ventas, se recomienda restringir la cantidad de datos agregando la siguiente consulta.
Cree variables de aplicación como a continuación. Estos se utilizarán para crear una nueva orden de venta. Todos ellos están en tipo de texto.
Agregue el componente Tarjeta, tres botones y diez campos de entrada, cada uno de los cuales corresponde a las variables de la aplicación que se crearon en el paso anterior.
El componente Tarjeta mostrará todos los pedidos de venta existentes. Nombre los tres botones para Crear, Actualizar y Eliminar. Todos los campos de entrada se utilizan para crear nuevos pedidos de venta.
Asegúrese de vincular las variables de cada aplicación al parámetro de valor de los campos de entrada respectivos.
Agregue lógica de flujo para los botones. Para el botón Crear, use ‘Crear registro’ y agregue un mensaje de éxito/error es opcional.
*Pista: Es una buena idea usar el mensaje de retorno de la función ‘Crear registro’, para que sepamos el número de pedido de Venta creado en el backend. Puede usar la siguiente fórmula en el flujo de la función de notificación de mensajes para hacerlo.
Para el botón Actualizar, use ‘Actualizar registro’ y agregar un mensaje de éxito/error es opcional. Asegúrese de configurar la variable Número de orden de venta en el parámetro. En este tutorial, solo cambiaremos ‘PurchaseOrderByCustomer’ en el encabezado del pedido de ventas.
Para el botón Eliminar, use ‘Eliminar registro’ y agregar un mensaje de éxito/error es opcional.
Guarde el progreso.
Abra la vista previa de la aplicación desde la pestaña Iniciar. Elija ‘Abrir portal de vista previa de la aplicación’ en su navegador web.
Leer
La lista de pedidos de ventas de S4 debe estar visible.
Crear
Rellene todos los campos de entrada excepto el número de orden de venta. El valor debe coincidir con los datos maestros en su lado S4. Después de eso, haga clic en el botón Crear. Se debe crear un nuevo pedido de ventas en el backend de S4.
Actualizar
Elijamos un pedido de venta y cambiemos su ‘Orden de pedido de referencia del cliente’. Ingrese el número de orden de venta y el nuevo valor en ‘PurchaseOrderByCustomer’. Haga clic en el botón Actualizar.
El cambio se refleja ahora en el lado S4, si el proceso de actualización fue exitoso.
Borrar
Eliminemos el pedido de venta 20823 creado en el paso anterior. Ingrese el número de orden de venta y haga clic en eliminar. Si tiene éxito, se elimina en el backend de S4.
Como se probó anteriormente, las operaciones CRUD sin duda funcionan y, técnicamente, funcionarán no solo para la API estándar de SAP, sino también para la API OData personalizada integrada en su lado S4. Esto significa que tenemos una muy buena alternativa para crear informes transaccionales, y es NoCode/LowCode. De hecho, este nuevo marco de desarrollo tiene ventajas sobre el elemento clásico UI5/Fiori en:
Aplicación de pila completa
Probé esta capacidad con AppGyver clásico, no con el desarrollo de aplicaciones de pila completa de SAP Build App. No estoy seguro de que se puedan realizar las mismas operaciones CRUD con la aplicación de pila completa SAP Build App, pero al menos espero que esté en la hoja de ruta. Si CRUD es posible en la aplicación de pila completa SAP Build App, eso significa que será una buena alternativa (o incluso mejor) para reemplazar la aplicación CAPM de pila completa o la aplicación ABAP RAP. Definitivamente vale la pena vigilar esto, y es emocionante ver que el futuro de la aplicación se reemplaza cada vez más por No-Code/Low-Code 😀
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