Miten onnistuu pilvessä olevan toiminnanohjausjärjestelmän ohjaaminen ohjelmistorobotiikan eli RPA:n avulla? Mitä hyötyä ohjelmistorobotiikasta on SAP-ympäristössä? Sofigaten ERP-kehittäjä Kari Lehtomaa kokeili ohjelmistorobotiikan yhdistämistä SAP Business ByDesigniin ja jakaa kokemuksensa myös muille kokeilunhaluisille.

Ohjelmistorobotiikka, RPA, on päivän sana. Sen avulla liiketoimintaratkaisuja voidaan automatisoida ihmisille tarkoitetun käyttöliittymän avulla. Tylsät, yksinkertaiset ja toistuvat tehtävät kannattaa antaa robotin hoidettavaksi. Roboteista on hyötyä myös testaamisen tukena, esimerkiksi silloin, kun testataan isoja massoja erilaisia testiskriptejä.

Päätin kokeilla, miten pilvi-SAPin ohjaaminen onnistuu ohjelmistorobotilla. Käytin kokeilussani SAP Business ByDesignia, mutta vastaavia rutiinitehtäviä voit automatisoida myös Netsuiten tai S/4 Hanan kaltaisissa ERPeissä.

Ennen kuin mennään elävän elämän koodausesimerkkiin, pohditaan hetki sitä, miten ohjelmistorobotiikka helpottaa SAP-käyttäjän arkea. Lue läpi alla oleva, kollegani Sampsa Akonniemen laatima kysymyslista. Jos vastaat yhteenkin kohtaan ”kyllä”, kannattaa pohtia vakavasti automatisointia.

Mitä hyötyä ohjelmistorobotiikasta on SAP-ympäristössä?

  • Tehdäänkö teillä esimerkiksi SAP-järjestelmään osto-, tai myyntitilaus aina tietyllä logiikalla, jonkun toisen järjestelmän syötteen perusteella? Ohjelmistorobotti voi käynnistää SAP:n ja syöttää sinne tilaukset.
  • Joudutaanko toisessa järjestelmässä avattu projekti avaamaan käsin SAP:ssa ja se unohtuu usein? Ohjelmistorobotti voi käydä avaamassa projektin SAP-järjestelmään, kun se on avattu lähdejärjestelmään.
  • Onko teillä liittymä, jonka virheenkäsittely on puutteellista järjestelmän ominaisuuksien takia? Liittymän valvonnan voi automatisoida RPA:lla. Ohjelmistorobotti voisi esimerkiksi yrittää vielä kerran uusia sanoman ja ilmoittaa pääkäyttäjälle, että liittymä on virheessä. Viestin liitteenä voi olla virheeseen mennyt sanoma.
  • Perustetaanko SAP-järjestelmään tuotteita, asiakkaita, toimittajia tai ylläpidetään master dataa jossain toisessa järjestelmässä tapahtuvan asian takia? Ohjelmistorobotti voi tehdä tämän puolestanne.
  • Helpottaisiko työtä, jos pystyisittekin integroimaan SAP:n toisen järjestelmän kanssa, jossa ei ole perinteisen integraation tarvitsemia rajapintoja?
  • Onko vanhasta legacy-järjestelmästä tietojen tuonti SAP-järjestelmään hankalaa ja vaatii paljon manuaalista työtä? RPA:lla voidaan esimerkiksi käydä hakemassa tiedot vanhasta järjestelmästä ja syöttää ne Exceliin − tai jopa suoraan SAP-järjestelmään.
  • Täsmäytetäänkö yrityksessänne laskujen tietoja järjestelmän tietoihin? RPA:lla voidaan lukea kuvia ja PDF-dokumentteja ja tehdä tämä puolestanne.
  • Menevätkö laskut laskuntarkastuksessa virheeseen, koska laskutettuja tuotteita ei ole avattu oikealle myyntiorganisaatiolle? Ohjelmistorobotti pystyy tarkastamaan laskun ja avaamaan tuotteen oikealle myyntiorganisaatiolle ja hyväksyä laskun, jos se täsmää.

Kiinnostuitko, mutta oman organisaation osaaminen ei riitä automatisointiin? Ota meihin yhteyttä! Sofigate toimii automatiikassa UiPathin liiketoiminta- ja teknologiakumppanina Pohjoismaissa. Kokeneet asiantuntijamme automatisoivat päivittäin asiakkaidemme liiketoimintaprosesseja, esimerkiksi juuri SAP Business ByDesigniin.

Sinä, joka olet kiinnostunut katsomaan konepellin alle, lue tästä vielä käytännön esimerkki SAP Business Designin ohjaamisesta robotiikalla!

ERP-kehittäjä testaa: Kuinka laskuliitteiden lisäämisen myyntilaskuille voi automatisoida SAP Business ByDesignissa?

Myyntilaskujen luonti ja laskuliitteiden lisääminen on työvaihe, jonka moni yritys suorittaa manuaalisesti. Siksi se on houkutteleva prosessi automatisoitavaksi.

Jotta muutkin voisivat kokeilla samaa, käytän tässä esimerkissä avoimen lähdekoodin RobotFrameworkia. RobotFramework on laajasti käytetty työkalu ohjelmistotestaamisessa. Ohjelmistorobotiikassa se ei ole yhtä kyvykäs kuin kaupalliset ratkaisut, ja ohjelmointiin perustuvan käyttöliittymänsä vuoksi se saattaa olla liiketoimintakäyttäjälle vaikeasti lähestyttävä.

Ohjelmointia tuntevan asiantuntija pääsee sillä kuitenkin vaivattomasti alkuun, koska siinä tehtävät tai testit kirjoitetaan koodina ja se on helposti laajennettavissa Java-ohjelmointikielellä. Tämän lisäksi RobotFramework houkuttelee huokeiden kustannuksien vuoksi: se perustuu avoimeen lähdekoodiin ja on täten ilmainen.

Millaisia havaintoja kokeilussani syntyi? Tässä yhteenveto:

Laskuliitteiden lisääminen tehdään tässä esimerkissä laskutus-APIa hyödyntäen SAP Business ByDesignin valinnalla ”Include in Output” seuraavasti:

Invoice API in SAP Business ByDesign

Jotta pääsin alkuun, jouduin ottamaan käyttöön RobotFrameworkissa lisäosan ”SeleniumLibrary”.

Tarvittava testauskoodi on varsin lyhyt, noin 60 riviä. Se sisältää kaikki toiminnot: selaimen avauksen, kirjautumisen SAP Business ByDesigniin ja itse tehtävän suorituksen.

Ohessa pätkä koodia, jossa:

  • Avataan laskuehdotus
  • Siirrytään liitetiedosto välilehdelle.
  • Asetetaan ruksi haluttuun kenttään, jollei se ole jo asetettu

Huomioitavaa koodissa on web-elementtien kohdistus jqueryn avulla ja elementtien odotukset.

SAP Business ByDesign hankaloittaa hieman säätöjen tekemistä, koska elementeillä ei ole kiinteitä tunnisteita (id) ja lisäksi useat toiminnot ovat tietenkin asynkronisia. Oheisessa koodissa on myös hidastuksia (”Sleep n”) vain sen takia, että testauksessa nähdään suoritus paremmin.

RobotFramework in Business By Design code

RobotFramework-testit voidaan ajaa ajastetusti esimerkiksi Jenkins CI/CD -alustalla. Tällöin käyttäjän ei tarvitse käynnistää prosesseja manuaalisesti.

Ensimmäiset kokeilut vaativat hieman testailuja, mutta sen jälkeen automaatiotehtävien tekeminen ei vienyt kovin paljoa aikaa. Itse koodikieli on hyvin helppo omaksua, ja tarvittava apu löytyy hyvästä dokumentaatiosta.

Robot Framework tekee myös lokitiedostot ajon aikana. Lokitiedostot ovat tärkeitä testausautomaatiossa, johon RobotFramework onkin suunniteltu.

Robot framework text statistics

robot framework test statistics

 

Kirjoittaja

Kari Lehtomaa työskentelee Senior Developerina Sofigatella Business Core Renewal -liiketoiminta-alueella. Hänellä pitkä ja monipuolinen kokemus ICT-alalla, SAPin tuotteista noin viisi vuotta. Tällä hetkellä  Kari toimii Sofigaten ERP-projekteissa kehittäjänä ja muun muassa Fiori-sovelluskehittäjänä. Hänessä yhdistyy halu, into ja kyky edistää digitalisaatiota automatisoinnilla, tekoälyllä ja muilla uusilla teknologioilla. Vuonna 2018 hän oli tärkeässä roolissa mukana Sofigaten joukkueessa voittamassa Future City Challenge -kilpailua.

 

Read these next

Cookies Settings