Díl 8. Ed v oblacích – NetSuite jako příklad automatizace cloudových ERP systémů

Dnes bychom Vám chtěli s Przemkem povědět něco o automatizaci systémů ERP, jiných než jsou JD Edwards nebo SAP, tedy systémů založených na cloudovém řešení. Jedním z takových systémů je NetSuite, pravděpodobně nejlepší cloudový production managment systém. Zajímavostí je i fakt, že tento článek o NS „uzrával“ velmi dlouho. Když jsme ho úspěšně dokončili, přemýšlel jsem, proč nám to s Przemkem vlastně zabralo tolik času? Koneckonců, toto téma je prostě úžasné.

Jak to vidí Expert:

NetSuite od společnosti Oracle je kompletní, plně škálovatelné řešení určené pro rychle rostoucí podniky. Je to jeden z produktů, který rychle zvyšuje svůj podíl na trhu cloudových ERP systémů. Toto řešení využívá k ukládání dat cloud, tedy jeho automatizace se mírně liší. Na příkladu procesu, který jsme implementovali pro jednoho z našich zákazníků, si můžeme ukázat některé rozdíly. Jednalo se o aktualizaci verze Bill of Materials (BOM).

Rád bych ještě na začátek dodal, že specializovaná řešení pro automatizaci backendu zavedla UiPath, ale… ne každý je může používat z důvodu konfigurace a přístupu. V našem případě řešení nedovolilo provést změny v celém NS, ale pouze v části aplikace. Proto jsme se rozhodli pro klasickou automatizaci UI.

Prvním rozdílem mezi klasickým ERP a NS je absence databáze, která by bránila extrahování požadovaných informací, jako například seznam úkolů (Work Order List), nebo součásti BOM revize, z úrovně SLQ. K vyřešení tohoto problému jsme použili Web Scraping – tedy čtení dat přímo z obrazovky.

Dále, když používáte mechanismus pro přechod na další Work Order (další „transakce“), v cloudové ERP nemůžete zadat do aplikace například číslo WO, ale musíte přejít na WO unikátním odkazem. Totéž také platí pro ostatní karty/aplikace. Pomocí pole Interní ID (ve výchozím nastavení skryté, ale v NS volitelné) a pevné části adresy se nám podařilo vytvořit mechanismus, který Vám umožnuje procházet systémem NetSuite bez otravného a dlouhého klikání na obrazovku – tj. přímá navigace.

Jednou z posledních nesrovnalostí byly selektory. Zatímco v klasických ERP má pole jeden pevný selektor, v NetSuite jsme se setkali s případy polí se dvěma (nebo někdy dokonce třemi) různými selektory, podle toho, zda to bylo aktivní (zakliknuté) nebo ne. Kouzlo webové aplikace navíc spočívá v tom, že někdy, i když některé vnitřní okno/tlačítko není na obrazovce viditelné (parametr viditelný/aktivní na stránce je vypnutý), pro robota, který hledá selektor ve skutečnosti viditelné je.

Poslední problém, na který jsme narazili, souvisel s jednoznačným výběrem názvu komponenty (produktu), pokud se objevovalo v seznamu „Hodnota pole“ několik položek začínajících stejnými znaky. To je dáno striktně povahou NS a jeho způsobu zobrazování seznamů. Navzdory počátečním obtížím se nám podařilo vyvinout mechanismus, který ověří, zda je výběr nejednoznačný, nebo nikoliv. Pro toto jsme použili rozšířené vyhledávání s možností nastavit hledání konkrétního textu. Možná Vás napadá, zda by nebylo lepší používat toto hned od začátku? Odpověď zní ne – takovéto hledání vyžaduje otevření nového okna, zaškrtnutí několika políček a čekání na výsledek, což znamená, že zpracování jedné komponenty (produktu) trvá až několik sekund. Nezdá se to moc, ale v kontextu celého procesu by nám čas výrazně narostl.

Ve zkratce můžeme říci, že automatizace cloudových systémů ERP má svá pro i svá proti. V některých případech bude určitě rychlejší než automatizace tradičních systémů ERP, i když to bude vyžadovat nalezení vhodných řešení.

Autor: Przemysław Wal – RPA Developer

Foto: iStock