BW/4HANA queries gebruiken in Mendix? Het kan!
Het zal niemand zijn ontgaan. Afgelopen jaar werd tijdens de TechEd in Las Vegas de samenwerking tussen Mendix en SAP beklonken. Volgens velen een uitstekende strategische zet waarmee app ontwikkeling in het HANA Cloud platform versneld moet gaan worden.
Mendix met haar “low code” platform is een droom voor veel klanten en ontwikkelaars van enterprise apps. Zonder veel te hoeven coderen, slechts met drag & drop, kunnen slimme applicaties gemaakt worden.
De voorbeelden op S/4 kunt u zich vast voorstellen. Een PO approval app, een leave request app, een time writing app, het is allemaal mogelijk met een aantal klikken en de bijbehorende RESTFul service uit S/4.
Het mooie van deze services is dat SAP deze tegenwoordig standaard uitlevert in haar S/4 systeem. Nog mooier wordt het voor u als klant om deze data uit S/4 te combineren met data uit uw HANA Data Warehouse. Dit kan al eenvoudig door het “exposen” van een CDS of calculation view. Dat dit ook eenvoudig kan in BW (BW 7.5 of BW/4HANA) wil ik u laten zien in deze blog.
Stap 1: de basis is een BW query
Het begint natuurlijk met een BW Query. In dit geval een eenvoudig voorbeeld met omzet per maand.
In de Eclipse modeller, is er een klein vinkje “By Odata” welke voor u in de BW backend een service genereert op basis van een BW query:
De service is gegenereerd in de (embedded) gateway in BW:
De URL welke vervolgens gebruikt kan worden kan in eerste instantie wat vraagtekens oproepen. De syntax is als volgt:
http://xxxxxxxx/sap/opu/odata/sap/Z_INTERDOBS_OMZET_MAAND_SRV/Z_INTERDOBS_OMZET_MAANDResults/?$format=json
- “Z_INTERDOBS_OMZET_MAAND_SRV” geeft de naam van de service aan
- “Z_INTERDOBS_OMZET_MAAND” is de naam van de query
- “Results” geeft het resultaat uit de query
- “?$format=json” geeft het formaat aan (xml of Json)
Na het uitvoeren van de query en het aanloggen op het systeem, is er output!:
Stap 2: Mendix
Vervolgens kunt u aan de slag met Mendix. Mendix kan gebruikt worden als trial en zelfs het draaien van uw app in de Cloud kan onder een trial licentie.
Na het aanmaken van een nieuw project kan er gestart worden met 1 van de beschikbare templates of een lege app. Voor mijn voorbeeld, kies ik voor het laatste.
De eerste stap is het definiëren van de json structuur (copy/paste uit de output in de browser)
Vervolgens kan er een mapping gemaakt worden met de output velden
Er is ook nog een microflow nodig welke de data uit de BW service oproept en vervolgens in de endpoint in een variabele zet. Deze output gebruiken we natuurlijk straks in de app om de omzet per maand te tonen.
Als laatste kunt u de Microflow koppelen aan een tabel of grafiek, de benodigde data filteren en van input voorzien:
De app is klaar om gepubliceerd te worden naar de Cloud!
Natuurlijk is het mogelijk om de data ook mobiel te tonen. Hiervoor kan bijvoorbeeld de Mendix app gebruikt worden:
Een app zonder ook maar 1 regel code is het resultaat:
In dit voorbeeld heb ik u laten zien dat het combineren van een transactioneel proces met data uit het data warehouse eenvoudig kan. Erg krachtig natuurlijk als data gecombineerd moet worden tussen S/4 en B4. Denk bijvoorbeeld aan de combinatie van de historisch omzet cijfers met de huidige cijfers uit S/4. Of misschien wilt u wel even weten wat het percentage aan korting eigenlijk moet zijn voordat de sales order wordt goedgekeurd. De mogelijkheden zijn eindeloos!