APIT, BAPIT, SAPIT vai NAPIT

18.1.2018

Olen yli kymmenenvuotisen vaiherikkaan IT-työurani aikana huomannut, että yksi varmimmista tavoista saada ei-teknisen projektipäällikön tai budjettivastuussa olevan johtoryhmän jäsenen verenpaine nousemaan, on aloittaa keskustelu lauseella ”Meillä on ihan vaan pieniä ongelmia näiden kahden järjestelmän integroimisessa…”

Integraatiot nousevat arvoon arvaamattomaan aina sen jälkeen, kun projektisopimus on allekirjoitettu ja loppuun on lisätty toteamus siitä, että liittymien toteuttaminen on lisälaskutettavaa työtä. Erilaisia IT-liittymiä on kaikenlaisia, joten keskityn tässä kirjoituksessani iskemään tarinaa SAP:n automatisointiin ja RPA-toiminnollisuuksiin käytettävistä liittymätavoista.

Ensimmäisenä maininnan saavat Intermediate Document:it, eli IDocit, nuo ihanat liittymien välisessä tiedonvaltameressä temmeltävät datavalaat. Tiesitkö että SAP:n IDoceissa on kolme osaa: kontrollointiin, varsinaiseen dataan ja statukseen liittyvät osat. Pelkästään IDoceiden käsittelyyn ja luomiseen on SAP:ssa yli 15 transaktiota, jonka päälle tulevat vielä IDoc-konfigurointi transaktiot.

Toisena tärkeänä toiminallisuutena nostan esiin RFC:n, eli mahdollisuuden ajaa SAP:n ulkopuolelta SAP:n sisälle koodattuja toimintoja. Ennen kuin SAP:n function moduuleita päästään ajamaan väärillä syöttötiedoilla ja ihmettelemään kryptisiä virheilmoituksia täytyy funktiot aktivoida transaktiossa SE37. Samoin funktioiden ajoa varten tarvitaan SAP connectori, joka voi olla esim. .NET tai Java-pohjainen.

BAPI:t, eli Business Application Programming Interfacet, ovat SAP:n suunnittelemia Remote enabloituja Function moduleita, joihin SAP on sanojensa mukaan yrittänyt laittaa kaikki tarvittavat liittymätiedot. No yleensä näin ei tietenkään ole, mutta onneksi SAP tarjoaa hyvät enhancement ja user exit mahdollisuudet lisätä BAPI:hin lisätoiminnallisuuksia. BAPI:en tarkasteluun tarkoitettu nelimerkkinen transaktio on BAPI.

Kaikki BAPI:t ovat RFC-enabloituja function moduuleita, mutta kaikki RFC-enabloidut FM:t eivät ole BAPI:ja. Mielenkiintoisimmat RFC-function moduulit ovat itse koodattuja Z-funkkareita, joiden taso vaihtelee huimasti. Itse pyrimme aina seuraamaan SAP:n suosituksia kuten esim. naming conventioita ja lisäksi hyödyntämään omassa ABAP-koodissamme SAP:n jo olemassa olevia toiminallisuuksia. Pyörää ei aina tarvitse keksiä uudelleen.

SOAP, REST ja muut webserviceihin liittyvät lyhenteet tarkoittavat sitä, että SAP:n function moduulin rajapinta tarjotaan verkkopalveluna, joko XML:nä, JSON:ina tai jotain muuna formaattina, jota voidaan sitten hyödyntää ilman, että SAP:iin tarvitsee avata liittymälle RFC-yhteyttä. Tämä tapa tulee varmasti yleistymään yhä enemmän nykyisten #API-käytäntöjen yleistyessä.

Kokonaisuutena integraatioista kannattaa aina muistaa, että oikeaan aikaan otetut NAP:it (eli päivätorkut) auttavat aina ongelman ratkaisussa enemmän kuin itsensä stressaaminen siihen pisteeseen, että tarvitaan lääkärin määräämät napit.

Sampo Laakkonen

Senior Consultant & Team Lead

Tilaa uutiskirje

Saat tietää ensimmäisenä alamme kuumimmat uutiset. Lähetämme tyypillisesti uutiskirjeen neljästi vuodessa.

Kanavat

Löydät meidät myös seuraavista kanavista: