Today, I and Przemek would like to tell you about the automation of ERP systems other than JD Edwards or SAP, meaning those based on cloud solutions. One such system is NetSuite, probably the best cloud-based production management system. As an interesting fact, I can tell you that the article on NS has been “ripening” for a very long time. And all in all, when it came to being, I don’t know why we worked on it with Przemek so long. After all, this subject is so amazing.
The Expert’s eye:
NetSuite from Oracle is a complete, fully scalable solution designed for fast-growing businesses. It is one of the products that is rapidly increasing their share in the cloud-based ERP market. This solution uses a cloud to store data, so its automation is slightly different. By using an example of a process we have implemented for one of our customers, which was the updating of the Bill of Materials (BOM) version, I will tell you about the differences.
At the beginning, I’d like to add that dedicated solutions for backend automation had already been introduced by UiPath, but… not everyone can use them for configuration or access reasons. In our case, the solution did not allow changes to be made in the entire NS, but only in part of the application. Therefore, we decided on classic UI automation.
The first difference between a classic ERP and NS is that there is no database, which prevents the required information, such as the Work Order List or BOM Revision components, from being extracted at the SQL level. To solve this problem, we used Web Scraping – reading data directly from the screen.
Then, when using the mechanism for moving to the next Work Order (next ‘transaction’), in a cloud-based ERP you are not able, for example, to enter the WO number in the application, but you have to go to the WO with a unique link. The same applies to other tabs/applications. By using the Internal ID field (hidden by default, but optional in NS) and the fixed part of the address, we have managed to create a mechanism that allows you to navigate within the NetSuite system without the nuisance of clicking on the screen for a lengthy period – i.e., direct navigation.
One of the last discrepancies was the selectors. While in classic ERPs a field has one fixed selector, in NetSuite we have encountered cases of fields with two (or sometimes even three) different selectors, depending on whether it was active (clicked) or not. In addition, the allure of a web application is that sometimes an internal window/button is visible for the robot searching for a selector even though it does not appear on the screen (visible/active parameter disabled on the page).
The last problem we encountered was related to the unambiguous selection of a component (product) name if there were several items starting with the same characters in the Field Values list. This was strictly due to the nature of NS and its manner of displaying lists. Despite the initial difficulties, we have managed to develop a mechanism to check whether the selection is ambiguous or not, and for this we used an extended search with the option to set searching for a specific text. You may ask if it was not better to use it from the beginning? The answer is no – this search requires the opening of a new window, checking several boxes and waiting for the result, which means it takes a few seconds more for processing a single component (product). It doesn’t seem much, but in the context of the entire process, it extends it significantly.
In summary, the automation of cloud-based ERP systems has pros and cons. In some cases, it will certainly be faster than automating traditional ERP systems, but it requires finding the appropriate solutions.
Author: Przemysław Wal – RPA Developer