Condividi tramite


Come vengono sviluppati e utilizzati i flussi cloud

Microsoft Power Platform si integra con SAP attraverso un portafoglio di flussi cloud preconfigurati che orchestrano una serie di trasformazioni e utilizzano il connettore SAP ERP (Enterprise Resource Planning).

Ogni oggetto SAP gestito da un'app canvas è mappato a una serie di flussi di ricerca, creazione, lettura e aggiornamento. Ad esempio, esistono questi quattro flussi cloud per l'oggetto fornitore:

  • ReadVendor: legge un singolo fornitore in base al numero di fornitore e alle informazioni relative alla chiave.
  • ReadVendorList: cerca un elenco di fornitori in base ai criteri di ricerca passati.
  • CreateVendor: crea un nuovo oggetto fornitore con informazioni relative alla chiave.
  • UpdateVendor: aggiorna un oggetto fornitore esistente e le informazioni relative alla chiave.

Estendere i flussi cloud

Puoi estendere i flussi cloud in base ai requisiti aziendali locali. Con l'aiuto del tuo analista aziendale SAP, puoi aggiungere e mappare nuovi campi al connettore SAP ERP e spostarti tra le app tramite i payload JSON.

La creazione di una nuova richiesta di acquisto offre un tipico scenario di transazione tra app canvas, flussi cloud e SAP:

  1. L'app Gestione richieste SAP prepara JSON utilizzando i dati dei controlli di input e delle raccolte di elementi archiviati, sostituendo qualsiasi valore null delle stringhe vuote.

         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. L'app richiama il flusso CreateRequisition incorporato utilizzando la funzione Run e passando la stringa JSON creata in precedenza.

            Set(
                varRequisitionReturn,
                CreateRequisition.Run(varRequisitionJSON)
            );
    
  3. Il flusso CreateRequisition riceve la stringa JSON dall'app tramite il trigger PowerApps(V2) e utilizza un'azione Analizza JSON per decomporla.

  4. Le variabili vengono impostate utilizzando le informazioni JSON per consentire un mapping più semplice nelle chiamate del connettore SAP ERP.

  5. Una sessione SAP viene creata utilizzando il connettore SAP ERP e le chiamate BAPI (Business Application Programming Interface) vengono effettuate utilizzando le informazioni JSON della richiesta analizzata archiviate nelle variabili.

  6. Gli errori generati da SAP vengono valutati e una risposta HTTP corretta o con errori viene restituita all'app canvas utilizzando un payload JSON.

  7. L'app canvas utilizza le informazioni della risposta, in particolare il campo Stato, per notificare all'utente finale l'esito positivo o negativo e per determinare i passaggi di elaborazione successivi.

    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
    );

Ulteriori informazioni:

Supportare distribuzioni multilingua

Per impostazione predefinita, il connettore SAP ERP richiama la lingua del browser dell'utente per interagire con SAP, pertanto è necessario installare il language pack SAP corrispondente.

Tuttavia, se devi supportare distribuzioni multilingua e globali, puoi ignorare la lingua del browser dell'utente e impostare una determinata lingua come predefinita. Ad esempio, è possibile che un utente Power Apps in Spagna, la cui lingua del browser impostata è lo spagnolo, debba interagire con un sistema SAP in cui è installato solo il Language Pack inglese (EN). In questo caso, passa il codice a due lettere EN ISO 639-1 come parte della proprietà Language nella stringa di connessione SAP per evitare errori.

Suggerimento

Configura le variabili di ambiente nel quadro della strategia di gestione delle soluzioni e di estensione dei flussi cloud per archiviare centralmente un valore di lingua da passare a varie azioni del connettore SAP ERP.

Maggiori informazioni: Guida alle proprietà del sistema SAP

Gestione degli errori

Ogni flusso è progettato con una coppia Try/Catch di operazioni di ambito. All'interno dell'operazione Prova sono presenti le principali chiamate del connettore SAP. Dopo ogni chiamata, i flussi controllano se per il passaggio del connettore SAP ERP si è verificato un errore irreversibile o ciò che viene anche chiamato core dump ABAP (Advanced Business Application Programming). Se è il caso, i flussi acquisiscono il messaggio di errore generato.

Questo messaggio di errore viene visualizzato nel passaggio ErrorTable dell'operazione Catch, insieme a tutti gli errori generati durante quell'esecuzione del flusso.

Tutti i flussi con errori vengono registrati nella tabella Errore del modello della soluzione SAP. Ogni errore di flusso mostra il primo messaggio di errore generato dal flusso insieme ad altre informazioni.

Vai all'app Amministratore SAP come descritto nell'articolo Monitoraggio errori per vedere gli errori visualizzati.

Passaggio successivo

Estendere le app basate su modello e Dataverse

Vedi anche

Introduzione al modello Approvvigionamento SAP