Compartir a través de


Cómo se desarrollan y utilizan los flujos en la nube

Microsoft Power Platform se integra con SAP a través de una cartera de flujos de nube preconfigurados que organizan una serie de transformaciones y utilizan el conector SAP ERP (planificación de recursos empresariales).

Cada objeto SAP administrado desde una aplicación de lienzo se asigna a una serie de flujos buscar, crear, leer y actualizar. A modo de ejemplo, contemplemos cuatro flujos de nube para el objeto del proveedor:

  • ReadVendor: lea un solo proveedor según el número de proveedor y la información relacionada con la clave.
  • ReadVendorList: busque una lista de proveedores según los criterios de búsqueda aprobados.
  • CreateVendor: cree un nuevo objeto de proveedor con información relacionada con la clave.
  • UpdateVendor: actualice un objeto de proveedor existente y la información relacionada con la clave.

Extender flujos de nube

Puede ampliar los flujos de nube según los requisitos de su negocio local. Con la ayuda de su analista de negocios de SAP, puede agregar y asignar nuevos campos al conector de SAP ERP e ir y venir a las aplicaciones a través de las cargas útiles de JSON.

La creación de una nueva solicitud de compra ofrece un escenario de transacción típico entre aplicaciones de lienzo, flujos en la nube y SAP:

  1. La aplicación SAP Requisition Management prepara JSON utilizando datos de los controles de entrada y las colecciones de elementos almacenados, sustituyendo cualquier valor nulo valores para cadenas vacías.

         Set(
            varRequisitionJSON,//Build the requisition JSON
            "{Header: " & JSON(//Build the requisition header JSON
                {
                    PurchaseRequisitionNumber: varRequisition,
                    Vendor: Trim(txtRequisitionDetailsVendor.Text),
                    PurchasingOrganization: cmbRequisitionDetailsPurchasingOrg.Selected.'Value Code',
                    PurchasingGroup: cmbRequisitionDetailsPurchasingGroup.Selected.'Value Code',
                    Currency: cmbRequisitionDetailsCurrency.Selected.'Value Code'
                },
                JSONFormat.IndentFour
            ) & ", items: " & JSON(//Build the requisition items JSON from cached collection
                colRequisitionItems,
                JSONFormat.IndentFour
            ) & "}"
        );    
        Set(
            varRequisitionJSON,
            Substitute(
                varRequisitionJSON,
                "null",
                """"""
            )
        );
    
  2. La aplicación invoca el flujo CreateRequisition incrustado mediante la función Ejecutar y pasa la cadena JSON construida anteriormente.

            Set(
                varRequisitionReturn,
                CreateRequisition.Run(varRequisitionJSON)
            );
    
  3. El flujo CreateRequisition recibe la cadena JSON de la aplicación a través del disparador PowerApps(V2) y usa una acción Analizar JSON para descomponerla.

  4. Las variables se configuran utilizando la información JSON para permitir una asignación más sencilla a las llamadas del conector SAP ERP.

  5. Se crea una sesión de SAP utilizando el conector SAP ERP y las llamadas a la interfaz de programación de aplicaciones empresariales (BAPI) se realizan utilizando la información JSON de solicitud analizada almacenada en variables.

  6. Los errores generados por SAP se evalúan y se devuelve una Respuesta HTTP de éxito o error a la aplicación de lienzo mediante una carga JSON.

  7. La aplicación de lienzo utiliza la información de respuesta, específicamente el campo Estado, para notificar al usuario final sobre el éxito o el fracaso y para determinar los próximos pasos de procesamiento.

    Switch(
        varRequisitionReturn.Status,
        "Error",//Raise error messages leaving variables in existing state for user to try again
        Notify(
            Concat(
                varRequisitionReturn.Messages,
                Message,
                " "
            ),
            NotificationType.Error
        ),
        "Success",//Raise success message
        Notify(
            Concat(
                varRequisitionReturn.Messages,
                Message,
                " "
            ),
            NotificationType.Success
    );

Más información:

Compatibilidad con implementaciones en varios idiomas

Por defecto, el Conector SAP ERP invoca el idioma del navegador del usuario para interactuar con SAP, por lo que se debe instalar el paquete de idioma de SAP correspondiente.

Sin embargo, si necesita admitir implementaciones globales y en varios idiomas, puede anular el idioma del navegador del usuario y establecer un idioma predeterminado. Por ejemplo, un usuario de Power Apps en España que tiene el idioma de su navegador configurado en español puede necesitar interactuar con un sistema SAP que solo tiene instalado el paquete de idioma inglés (EN). En este caso, pase las dos letras ESdel código ISO 639-1 como parte de la propiedad de idioma dentro de la cadena de conexión de SAP para evitar errores.

Propina

Configurar variables de entorno como parte de su estrategia de administración de soluciones y extensión de flujo en la nube para almacenar de forma centralizada un valor de idioma para pasar a varias acciones del conector SAP ERP.

Más información: Guía de propiedades del sistema SAP

Gestión de errores

Cada flujo está diseñado con un par de operaciones de alcance Try/Catch. Dentro de la operación Probar se encuentran las principales llamadas al conector SAP. Después de cada llamada, los flujos verifican si el paso del conector SAP ERP tuvo una falla catastrófica o lo que también se llama un volcado de núcleo de programación avanzada de aplicaciones empresariales (ABAP). Si es así, los flujos capturan el mensaje de error generado.

Este mensaje de error se muestra en el paso ErrorTable de la operación Catch, junto con todos los errores generados durante esa ejecución del flujo.

Todos los flujos erróneos se registran en la tabla Error de plantilla de solución de SAP. Cada error de flujo muestra el primer mensaje de error generado por el flujo junto con otra información.

Vaya a la aplicación Administrador SAP como se describe en el artículo Supervisar errores para ver los errores mostrados.

Siguiente paso

Extender aplicaciones basadas en modelos y Dataverse

Consulte también

Introducción a la plantilla de SAP Procurement