I denne artikel vil jeg give en guide til opsætning af SAP NetWeaver Gateway og Microsoft Power Apps, så information fra SAP kan visualiseres i Microsoft Power Apps.
In order to get information from SAP into Power Apps we need the following components to work.
For at få information fra SAP ind i Power Apps har vi brug for, at følgende komponenter fungerer:
- SAP NetWeaver Gateway
- Microsoft Gateway – læs mere her https://docs.microsoft.com/en-us/power-automate/gateway-reference
- Microsoft Flow
Desuden har Jan-Willem Kaagman lavet følgende guide, der forklarer, hvordan man opsætter SAP Gateway. Hvis du har ingen eller begrænset erfaring med opsætning af en ODATA gateway i SAP, anbefaler jeg denne artikel for yderligere viden: https://blogs.sap.com/2020/11/24/introduction-to-odata-and-how-to-implement-them-in-abap/
I de næste par artikler vil vi dykke ned i, hvordan man får information fra SAP Gateway ind i Microsoft Power Apps.
Lad os dykke ned i SAP-verden.
SAP Netweaver
For det første skal vi oprette et API-endepunkt for at få antallet af ordrer for et specifikt materiale og fabrik i SAP Netweaver.
Først vil vi navigere til “SEGW” for at opsætte et nyt endepunkt i SAP.
Her vil vi oprette et nyt projekt.
For det andet, nu hvor vi har et projekt, skal vi definere entitetstypen for de ting, vi vil arbejde med i SAP. Entitetstypen vil især være vigtig, hvis vi skal arbejde med dyb indsættelse, som vil blive dækket i en senere artikel.
For at oprette vores entitetstype, højreklik på Data Model – vælg Create – vælg Entity Type.
Skriv Entity Type Name som “Order” og tryk enter.
Herfra vælger vi egenskabsmappen i “Order” og udfylder følgende:
På denne side definerer vi nøglekombinationerne, da det giver os endpoint-adressen til at slå ordrerne op på den specifikke materiale- og fabrikskombination.
For det tredje genererer vi runtime-objekterne ved at vælge den røde og hvide cirkel. Du kan trykke enter til den første skærm, der popper op. På den næste skærm definerer vi pakkerne, som i dette eksempel er “$TMP” – tryk på local object bagefter.
ABA workbench
Nu hvor runtime-objekterne er genereret, fokuserer vi på ABA workbench for DPC_EXT objektet.
I dette objekt kan vi definere al backend-logikken for vores endepunkt.
Siden skal se ud cirka som dette:
Til at begynde med, åben methods folder og Inherited method folder – vælg ORDERSSET_GET_ENTITY
Denne fil er logikken bag at hente ordrerne for en enkelt enhed.
Højreklik på GET_ENTITY filen – vælg Redefine.
Følgende er koden, der bruges til at hente ordrerne fra SAP:
Når kodingsdelen er færdig, skal vi kontrollere, at koden er korrekt.
Start med at trykke “CTRL+F2” – Hvis ingen syntax errors findes – tryk “CTRL+F3” i stedet, da det vil aktivere ændringerne. Efter vi har aktiveret ændringerne, skal vi navigere til “SEGW” igen. Herfra vil vi gå til GW_HUB.
Først skal vi registrere vores nye Endpoint i GW_HUB.
Tryk på register og gør følgende:
Med vores tjeneste nu registreret, kan vi gå tilbage til “SEGW” og GW_HUB – vælg SAP Gateway-Client. Dette er SAPs indbyggede klient til at teste API-endpoints (vi kunne også vælge at bruge tjenester som Postman).
Derefter, slet “?$format=xml” fra url-en i SAP Gateway Client, da den er nødvendig.
For det tredje, tryk på Entitysets – vælg our service som burde hedde noget i retning af “OrdersSet”.
Efter OrdersSet typen (Werks=’plant name’,Matnr=’material name’) er det vigtigt ikke at have nogen mellemrum i URL-en!!
Nu kan vi eksekvere, og skærmen burde se nogenlunde sådan ud:
Vi har nu med succes oprettet vores endpoint i SAP, hvilket vil tillade os at få data ud af SAP.