Understanding SAP Intelligent Robotic Process Automation (RPA)
Ever since the invention of the “Steam Engine”, industrial automation took off across the globe in a big way .. and continues to do so! Robots entered industrial processes to automate activities more than a decade ago. Computerising the manual process was considered as automation until recently. Now it is time for Robots to enter the computerised processes to relieve repetitive human efforts involved.
SAP is a process-centric solution. Even in this, manual tasks which are repetitive & high volume, continue to exist and SAP has brought in “Intelligent Robotic Process Automation (RPA)” as a solution to mitigate this challenge. Many times, such manual tasks are repeatedly performed by different groups of people, also in different systems at times, within an organisation. This blog outlines RPA, at a high level, to enable any SAP Consultant to get an understanding of this solution.
RPA consists of “Bots”, designed and created by an SAP Consultant or an “expert user” for performing certain repetitive tasks in a chosen process. “Bots” can work as a “Digital Assistant” to the user which are classified as “Attended Bots”. Bots can also work in an “unattended mode”, just as a “Digital Worker”, to perform certain tasks in the background. These Bots can be orchestrated and monitored from a supervisor console. This is explained graphically below in Exhibit-1.
SAP Intelligent RPA is a single unified Cloud based solution. It includes “on-premise” automation tools as well. This is an end-to-end solution to automate steps. Most of us are familiar with “Macros and VBA Scripts” to automate certain tasks in Microsoft (MS) applications such as Excel. However, it can work only within the single application and cannot work across other Non-MS applications. This is where RPA overcomes such limitations. It can work with Non-SAP Systems and Legacy applications, as well as SAP’s solutions such as SAP Digital Core, Ariba, Concur etc…. In addition, RPA does not need any programming skills to build a “Bot”. See exhibit-2 below to understand, how RPA integrates seamlessly across solutions.
SAP Intelligent RPA has three components as mentioned below. Let’s look at them in detail in the following sections:
- Desktop Agent
- Cloud Factory
- Desktop Studio
This component is installed by a cloud administrator in an end user’s computer. Once installed, the administrator privileges are not required by the Agent on the machine. The Agent will adopt the user profile and its Windows credentials for operations. The desktop agent is a Java Script based framework. See Exhibit-3 below which shows the framework, diagrammatically. It has a diverse set of drivers to interact with applications such as SAP, Webpages, custom applications etc…. The agent can connect to API’s, file systems and database APIs, accomplish the task and get results. It is also possible to connect to SAP Intelligent services like “Conversational AI” and Leonardo Machine Learning.
Operations such as clicking, navigating and manipulating data on the user screen are all performed by the Desktop agent. The desktop framework provides for creating overlay “user interface”, on top of the business application, on the screen. This is helpful in situations like, when it performs certain steps, collects data and presents it to the user for final “Go/No Go” answers. Refer to Exhibit-4 below for a snapshot of the screen. It has the ability to inject UI elements such as Button or Label on top of business applications without modifying their code. Agent security is established at the time of registration to the Cloud Factory. Desktop and Cloud Factory are constantly connected using a secure WebSocket and necessary authentication is provided by Cloud Factory.
Cloud Factory is a dedicated Bot Management Central component that orchestrates all process automations. It monitors and controls jobs and agents in the landscape and presents them in the form of a dashboard. It consists of three different sub-components named Hierarchies, Environments, Packages and Configurations (See Exhibit-5). We will explain these later in the blog. It supports 5 different languages – English, German, French, Spanish and Japanese. It is a GDPR compliant solution, which means data privacy and protection are in-built. For example, the administrator can delete user provided data if needed.
A structured set of machines and agents, which are responsible to run the bots, are defined in “Hierarchies”. You can assign and, allocate time windows, for Bots to run in “attended” or “unattended” modes. This can be done per Node or per Agent. This helps to schedule certain bots to run during night-time or non-peak hours as per the workload distribution in an organisation. A sample screen shot of a hierarchy can be seen in exhibit-6 below:
Information such as URLs, Credentials, variables and other such information is captured as part of “Environment”. In general, lots of information, which is specific to a given run time, is grouped under environment. An Environment is also bound to one of the SAP recommended “DEV” or “TEST” or “PROD” types. This helps to develop bots in a DEV environment and TEST in a test environment and deploy in “PROD” environment. There can be any number of environments that can be created as needed. The “Environment” is bound to a “Hierarchy”. This enables the hierarchy to derive the run time information from the linked environment. Refer to Exhibit-7 below to see a screen shot of environment.
Desktop Studio is the component (we will go into more detal later in the blog) where the bots are developed. The desktop studio combines all the relevant information of a bot and delivers what is known as the “package”. This package needs to be imported into Cloud Factory.
Once a package is imported into the Cloud Factory, a “Configuration” must be created. Typically, a configuration consists of parameters such as whether the package should be run on “attended” or “unattended” mode, what time frames at which the package is available to run, when a bot/package should be activated to run. A package is bound to an “Environment”.
The Cloud Factory Monitoring Dashboard provides a snapshot of all the important information on the bots. It provides current status as well as the history of different bot executions. From the snapshot view, one can drill down to the lowest level possible. The status of failed/successful/cancelled jobs and much more information is available on the Dashboard. See exhibit-8 below for a snapshot of the Cloud Factory Monitoring Dashboard.
Desktop Studio is an integrated development environment. It consists of the following components:
- Application Capture tool
- Workflow designer
- Code Editor and built in de-bugger
Application capture tool: This tool helps to capture the elements in any user screen. The user needs to identify the elements in a screen where data input needs to be done or actions need to be performed. To do this, users simply have to open the tool and, at the same time, open the application in another screen. The UI inspector, in the capture tool, identifies all the elements in the user screen. The user then needs to save them using the option in the tool, and move to the next screen of data capture, then repeat the process for all the screens covering the full process. The tool creates unique identifiers for all elements in the screen. If users change any of the unique identifiers manually, to suit their ease of understanding/documentation, the tool has a validation wizard which checks for uniqueness of the identifiers. This is important because the actions are performed exactly on the correct UI elements to achieve the right result. See exhibit-9 below for a sample screen shot:
Workflow Designer: This tool is used to design the workflow. Once the application and its UI elements are captured in the application capture tool, they are available here in the workflow designer to tailor them into a process. It starts with a start workflow icon. By dragging and dropping the different screens, along with its captured elements, a process flow is built. The actions performed in the application screen are available as “activities” for dragging and dropping in the workflow designer. See the exhibit-10 below for a sample screen shot of designer tool. Upon completing the process and saving, the java script code is generated at the click of a button.
Code Editor and Built-in Debugger: This tool enables developers to add/tweak their own piece of code, once the code is generated in the workflow designer. The developer has access to SAP provided SDK and can also build and include their own Java Script Libraries. It is possible to navigate between the workflow and the code anytime. Refer to Exhibit-11 below which shows a sample screen shot. It also contains a UI designer tool. This tool helps to design and generate UIs that can interact with users. For example, it can be used to bring a pop-up of help info in a user application screen. A complete debugger is part of the tool. It provides all the features such as a step-by-step execution, variable watch, break points and so on.
In summary, all the necessary tools for bot design, creation, process orchestration, testing, packaging, deployment and monitoring are provided. The following exhibit-12, shows pictorially the same.
SAP Intelligent RPA is a very interesting tool. SAP has articulated a great roadmap ahead for Intelligent RPA. RPA creates a layer that sits on top of existing systems and processes without having a need to rewrite thousands of lines of codes. The automation covers end-to-end steps of the process, spanning across a multitude of systems, including SAP and Non-SAP solutions. These create great advantages for every organisation. Any organisation can spend minimal amounts of time to review the existing processes and come up with areas of optimisation using RPA. It is really a great opportunity for any SAP consultant to review and produce RPA implementations in many areas and it will add great value to every customer.
- Intelligent RPA Home Page
- Intelligent RPA Help Portal
- SAP Intelligent RPA Roadmap
- Top Stories on RPA
- Use Case: Best Offering for a loan using RPA
- Use Case: Machine Learning, Cash Application in Accounts Receivable using RPA