Hoe cloudstromen worden ontwikkeld en gebruikt
Microsoft Power Platform integreert met SAP via een portfolio van vooraf geconfigureerde cloudstromen die een reeks transformaties orkestreren en gebruikmaken van de SAP ERP-connector (enterprise resource planning).
Elk SAP-object dat wordt beheerd vanuit een canvas-app wordt toegewezen aan een reeks stromen zoeken, maken, lezen en update. Voor leveranciersobjecten zijn bijvoorbeeld vier cloudstromen beschikbaar:
- ReadVendor: Lees een enkele leverancier op basis van het leveranciersnummer en sleutelgerelateerde informatie.
- ReadVendorList: Zoek naar een lijst met leveranciers op basis van de opgegeven zoekcriteria.
- CreateVendor: Maak een nieuw leveranciersobject met sleutelgerelateerde informatie.
- UpdateVendor: Werk een bestaand leveranciersobject en sleutelgerelateerde informatie bij.
Cloudstromen uitbreiden
U kunt cloudstromen uitbreiden op basis van uw lokale bedrijfsvereisten. Met de hulp van uw SAP-bedrijfsanalist kunt u nieuwe velden toevoegen en toewijzen aan de SAP ERP-connector en heen en weer gaan naar de apps via de JSON-payloads.
Het maken van een nieuwe opdracht tot inkoop biedt een typisch transactiescenario tussen canvas-apps, cloudstromen en SAP:
De SAP Requisition Management-app bereidt JSON voor door gebruik te maken van gegevens van de besturingselementen voor invoer en verzamelingen opgeslagen items, waarbij alle null-waarden worden vervangen door lege tekenreeksen.
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", """""" ) );
De app roept de ingesloten stroom CreateRequisition aan met behulp van de functie Uitvoeren en geeft de eerder geconstrueerde JSON-tekenreeks door.
Set( varRequisitionReturn, CreateRequisition.Run(varRequisitionJSON) );
De stroom CreateRequisition ontvangt de JSON-tekenreeks van de app via de PowerApps (V2)-trigger en gebruikt een actie JSON parseren om deze te ontleden.
Variabelen worden ingesteld met behulp van de JSON-informatie, zodat toewijzing eenvoudiger kan worden opgenomen in de sap ERP-connectoraanroepen.
Er wordt een SAP-sessie gemaakt met behulp van de SAP ERP-connector en de Business Application Programming Interface (BAPI)-aanroepen worden gedaan met behulp van de geparseerde JSON-informatie die is opgeslagen in variabelen.
Door SAP gegenereerde fouten worden beoordeeld en een geslaagde of mislukte HTTP-respons wordt teruggestuurd naar de canvas-app met behulp van een JSON-payload.
De canvas-app gebruikt de responsinformatie, met name het veld Status, om de eindgebruiker op de hoogte te stellen van slagen of falen en om de volgende verwerkingsstappen te bepalen.
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
);
Meer informatie:
Meertalige implementaties ondersteunen
Standaard roept de SAP ERP-connector de browsertaal van de gebruiker aan om met SAP te communiceren, dus het bijbehorende SAP-taalpakket moet worden geïnstalleerd.
Als u echter meertalige en wereldwijde implementaties moet ondersteunen, kunt u de browsertaal van de gebruiker overschrijven en standaard een bepaalde taal gebruiken. Een Power Apps-gebruiker in Spanje die de taal van zijn browser op Spaans heeft ingesteld, moet bijvoorbeeld mogelijk communiceren met een SAP-systeem waarop alleen het Engelse (EN) taalpakket is geïnstalleerd. Geef in dit geval de uit twee letters bestaande ENISO 639-1-code door als onderdeel van de eigenschap Language binnen de SAP-verbindingsreeks om fouten te voorkomen.
Fooi
Configureer omgeving-variabelen als onderdeel van uw oplossingsbeheer en cloudstroom-extensiestrategie om een taalwaarde centraal op te slaan die kan worden doorgegeven aan verschillende sap ERP-connectoracties.
Meer informatie: Richtlijnen voor SAP-systeemeigenschappen
Foutafhandeling
Elke stroom is ontworpen met een stel scope-bewerkingen van het type Try/Catch. Binnen de bewerking Try bevinden zich de belangrijkste SAP-connectoraanroepen. Na elke aanroep controleren de stromen of in de stap van de SAP ERP-connector een catastrofale storing of wat ook wel een ABAP-kerndump (Advanced Business Application Programming) wordt genoemd is opgetreden. Als dat het geval is, leggen de stromen het gegenereerde foutbericht vast.
Deze foutmelding wordt weergegeven in de stap ErrorTable van de bewerking Catch, samen met alle fouten die tijdens die uitvoering van de stroom zijn gegenereerd.
Alle foutieve stromen worden vastgelegd in de tabel SAP-oplossingssjabloonfout. Elke stroomfout toont het eerste foutbericht dat door de stroom wordt gegenereerd, samen met andere informatie.
Ga naar de app SAP Beheerder zoals beschreven in het artikel Fouten monitoren om de weergegeven fouten te bekijken.
Volgende stap
Breid modelgestuurde apps uit en Dataverse