29. June 2023 By Lajos Máté Kiss
SAP Business ByDesign integráció - I. rész
Bevezetés
Ehhez 39 end-to-end folyamatot definiáltak a teljes ügyvitel lebonyolításához, viszont előfordulhat, hogy a kapott, beépített funkciók, szolgáltatások mellett, egyéni vagy speciális igényeknek megfelelően szükségünk van bizonyos kiegészítésekre, összeköttetésre más rendszerekkel.
Az SAP Business ByDesign több lehetőséget is ad ezeknek az egyéni változtatásoknak a megvalósítására.
Két részes blogbejegyzésem első részében bemutatom a ByDesign rendszer integrációs kiegészítési lehetőségeit példával illusztrálva. A második részben az SAP Business ByDesign és az SAP Cloud Platform Integration Suite segítségével mutatok gyakorlati példát a való életből vett probléma megoldására.
Kiegészítési, bővítési, fejlesztési lehetőségek
A ByDesign rendszerben kód írása nélkül is lehetőségünk van a rendszer bővítésére. Például felvehetünk egy plusz mezőt, ahol akár az adott megrendeléshez tartozóan, a számunkra szükséges, máshová nem illeszkedő adatot tárolhatunk.
A programozóknak az SAP Cloud Application Studio nyújt lehetőséget különböző beépülők (Add-in-ek) fejlesztésére. Az elkészült megoldást telepíteni kell a meglévő rendszerünkre, mely a rendszerben futtatható.
A ByDesign-tól függetlenül menedzselhető, de azzal szorosan együttműködő megoldást nyújt az SAP Colud Platform, ahol különböző applikációk futtatására van lehetőség.
Más, külső rendszerekkel való összeköttetés, előre definiált vagy saját magunk által fejlesztett folyamatok futtatása, használata esetén, cégünk ajánlása szerint a legjobb megoldás, ha a SAP Cloud Platform Integration Suite service-t használjuk a SAP Business Technology Platform-on. Erről részletesebben a blog második részében írok.
Public Solution Model
A ByDesign Public Solution modellje biztosítja a lehetőséget, hogy külső alkalmazásból kommunikáljunk a rendszerrel. Több mint 200 API áll rendelkezésre, melyek alkalmasak business objektumok lekérdezésére, olvasására, menedzselésére, módosítására, törlésére (query, read, maintain, create, update, delete funkciók).
A meglévő, beépített API-kon kívül saját magunk is definiálhatunk egyedi API-kat.
Lehetőségünk van egyedi OData service készítésére is, ahol csak ki kell választanunk a szükséges business objektumot és egyesével a szolgáltatásban használni kívánt tulajdonságokat. Megadhatjuk, hogy ezek a tulajdonságok milyen hozzáférési szinttel – például csak olvasható – rendelkezzenek.
Számlák lekérdezése külső rendszerből
Ezen a gyakorlati példán keresztül azt mutatom be, hogy hogyan lehet lekérdezni egy külső rendszerből a ByDesign rendszerben szereplő számlákat. A megoldáshoz a példa kedvéért a SOAP UI alkalmazást használom, mely ingyenesen elérhető. Ezzel az alkalmazással a ByDesign rendszer standard Query Customer Invoices API-t hívjuk meg. Az API hivatalos dokumentációja itt érhető el.
Kommunikációs kapcsolat felépítése
Külső rendszerrel való kommunikáció kialakításához minden esetben szükségünk van a kapcsolat felépítéséhez Communication System, Communication Scenario és Communication Arrangement létrehozására. Ezeket a ByDesign rendszeren belül az Application and User Management menü Input and Output Management kategória alatt tehetjük meg. Ezek az objektumok adnak választ, a ki? – Communication System, mit? – Communication Scenario, hogyan? – Communication Arrangement kérdésekre.
A Communication Scenario létrehozásakor ki kell választani a használni kívánt műveletet, mely esetünkben a Find customer invoices lesz:
Service URL
A ByDesign rendszerünk Application and User Management, Input and Output Management kategóriáján belül a Service Explorerben férhetünk hozzá a használni kívánt standard API service URL-hez, melyet a SOAP UI alkalmazásból fogunk meghívni. Ez az URL a Communication Arrangement-ben is elérhető.
Hozzáférési jelszó beállítása
Az API híváshoz szükséges tanúsítvány vagy felhasználói név és jelszó párost a Communication Arrangement technikai beállításánál adhatjuk meg. A példában a felhasználói név és jelszó párost alkalmazom, de éles környezetben érdemes átgondolni, melyik megoldás lehet biztonságosabb.
WSDL fájl letöltése
A SOAP UI alkalmazásból teszteléshez le kell töltenünk az API-hoz tartozó WSDL fájlt, melyet a ByDesign rendszerben az Application and User Management, Input and Output Management kategóriáján belül a Service Explorerben találunk.
SOAP UI új projekt készítése
Indítsuk el a SOAP UI alkalmazást és a letöltött WSDL fájl segítségével készítsünk egy új SOAP projektet.
Hitelesítő adatok megadása
Nyissuk meg az előre definiált lekérdezést, és adjuk hozzá a hitelesítő adatokat.
Lekérdezés készítése
A dokumentációban található példa lekérdezés alapján készítsünk saját lekérdezést:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:glob="http://sap.com/xi/SAPGlobal20/Global">
<soapenv:Header/>
<soapenv:Body>
<glob:CustomerInvoiceByElementsQuery_sync>
<CustomerInvoiceSelectionByElements>
<SelectionByID>
<InclusionExclusionCode>I</InclusionExclusionCode>
<IntervalBoundaryTypeCode>1</IntervalBoundaryTypeCode>
<LowerBoundaryIdentifier>AO-1-2023</LowerBoundaryIdentifier>
</SelectionByID>
</CustomerInvoiceSelectionByElements>
</glob:CustomerInvoiceByElementsQuery_sync>
</soapenv:Body>
</soapenv:Envelope>
Eredmény
A visszakapott válasz tartalmazza a rendszerben található, AO-1-2023 számú számlánál nagyobb sorszámú számlákat:
Természetesen a lekérdezés tovább paraméterezhető, hogy például csak a jóváhagyott vagy éppen a jóváhagyásra váró számlákat kapjuk eredményül.
Források
- SAP Business ByDesign Extensibility blogbejegyzés szerző: Maria Trinidad MARTINEZ GEA
- SOAP UI alkalmazás web oldala
- Query Customer Invoices API dokumentációja