So werden Cloud-Flows entwickelt und genutzt
Microsoft Power Platform lässt sich über ein Portfolio vorkonfigurierter Cloud-Flows in SAP integrieren, die eine Reihe von Transformationen orchestrieren und den SAP ERP-Connector (Enterprise Resource Planning) verwenden.
Jedes von einer Canvas-App verwaltete SAP-Objekt wird einer Reihe von Such--, Erstellungs--, Lese-- und Aktualisierungs- Flows zugeordnet. Für ein Zuliefererobjekt gibt es beispielsweise vier Cloud-Flows:
- ReadVendor: Lesen Sie einen einzelnen Lieferanten basierend auf der Lieferantennummer und schlüsselbezogenen Informationen.
- ReadVendorList: Suchen Sie nach einer Liste von Anbietern basierend auf den übergebenen Suchkriterien.
- CreateVendor: Erstellen Sie ein neues Lieferantenobjekt mit schlüsselbezogenen Informationen.
- UpdateVendor: Aktualisieren Sie ein vorhandenes Anbieterobjekt und schlüsselbezogene Informationen.
Cloud-Flows erweitern
Sie können Cloud-Flows entsprechend Ihren lokalen geschäftlichen Anforderungen erweitern. Mithilfe Ihres SAP Business Analyst können Sie dem SAP-ERP-Konnektor neue Felder hinzufügen und zuordnen und über die JSON-Nutzlasten zwischen den Apps wechseln.
Das Erstellen einer neuen Bestellanforderung bietet ein typisches Transaktionsszenario zwischen Canvas-Apps, Cloud-Flows und SAP:
Die SAP-Anforderungsverwaltungs-App bereitet JSON vor, indem sie Daten aus den Eingabesteuerelementen und gespeicherten Artikelsammlungen verwendet und alle Nullwerte durch leere Zeichenfolgen ersetzt.
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", """""" ) );
Die App ruft den eingebetteten CreateRequisition-Flow mithilfe der Funktion Ausführen auf und übergibt die zuvor erstellte JSON-Zeichenfolge.
Set( varRequisitionReturn, CreateRequisition.Run(varRequisitionJSON) );
Der CreateRequisition-Flow empfängt die JSON-Zeichenfolge von der App über den PowerApps(V2)-Trigger und verwendet eine JSON analysieren-Aktion, um es zu zerlegen.
Variablen werden mithilfe der JSON-Informationen festgelegt, um einfachere Zuordnung in den SAP ERP-Connector-Aufrufen zu ermöglichen.
Mithilfe des SAP-ERP-Connectors wird eine SAP-Sitzung erstellt und die BAPI-Aufrufe (Business Application Programming Interface) werden mithilfe der analysierten, in Variablen gespeicherten JSON-Anforderungsinformationen getätigt.
Von SAP generierte Fehler werden bewertet und entweder eine erfolgreiche oder eine fehlerhafte HTTP-Antwort wird mithilfe einer JSON-Nutzlast an die Canvas-App zurückgegeben.
Die Canvas-App verwendet die Antwortinformationen, insbesondere das Feld Status, um den Endbenutzer über Erfolg oder Misserfolg zu informieren und die nächsten Verarbeitungsschritte zu bestimmen.
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
);
Weitere Informationen:
Mehrsprachige Bereitstellungen unterstützen
Standardmäßig ruft der SAP-ERP-Konnektor die Browsersprache des Benutzers auf, um mit SAP zu interagieren. Daher muss das entsprechende SAP-Language Pack installiert sein.
Wenn Sie jedoch mehrsprachige und globale Bereitstellungen unterstützen müssen, können Sie die Browsersprache des Benutzers überschreiben und standardmäßig eine bestimmte Sprache verwenden. Zum Beispiel ein Power Apps-Benutzer in Spanien, dessen Browsersprache auf Spanisch eingestellt ist, muss möglicherweise mit einem SAP-System interagieren, auf dem nur das Language Pack „Englisch (EN)“ installiert ist. Übergeben Sie in diesem Fall die beiden Buchstaben ENISO 639-1-Code als Teil der Sprach-Eigenschaft innerhalb der SAP-Verbindungszeichenfolge, um Fehler zu vermeiden.
Tipp
Konfigurieren Sie Umgebung-Variablen als Teil Ihrer Lösungsverwaltung und Cloud-Flow-Erweiterungsstrategie, um einen Sprachwert zentral zu speichern, der an verschiedene SAP ERP-Connector-Aktionen übergeben werden kann.
Mehr Informationen: Leitfaden zu SAP-Systemeigenschaften
Fehlerbehandlung
Jeder Flow ist mit einem Try/Catch-Paar von Bereichsoperationen ausgestattet. Innerhalb des Try-Vorgangs finden sich die wichtigsten SAP-Connector-Aufrufe. Nach jedem Aufruf prüfen die Flows, ob im SAP-ERP-Konnektor-Schritt ein katastrophaler Fehler oder ein sogenanntes Kernabbild der erweiterten Geschäftsanwendungs-Programmierung (Advanced Business Application Programming, ABAP) aufgetreten ist. Wenn dies der Fall ist, erfassen die Flows die generierte Fehlermeldung.
Diese Fehlermeldung wird im ErrorTable-Schritt des Catch-Vorgangs angezeigt, zusammen mit allen Fehlern, die während dieser Ausführung des Flows generiert wurden.
Alle fehlerhaften Flows werden in der Tabelle Fehler in der SAP-Lösungsvorlage erfasst. Jeder Flow-Fehler zeigt die erste vom Flow generierte Fehlermeldung zusammen mit anderen Informationen an.
Gehen Sie wie im Artikel Fehler überwachen beschrieben zur SAP Administrator App, um die angezeigten Fehler anzuzeigen.
Nächster Schritt
Erweitern Sie modellbasierte Apps und Dataverse