Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
alexis_naibo
Explorer
SAP Intelligent RPA 2.0 is an updated product version offering simple-to-use bot building capabilities following the Low-Code/No-Code approach creating the path to Hyperautomation.

With SAP Intelligent RPA 2.0, expert developers, citizen developers and business process experts can build bots to augment and automate human tasks across LoBs to save time, costs and reduce human errors in business operations.

There has been a series of blog posts on “Low Code – No code” with SAP Intelligent RPA 2.0which you can find here and I recommend particularly the latest one here for more context.

First, with Low-Code, developers can build, version, deploy and run their enterprise-class application bots, with little Java Script hand-coding knowledge 

On the No-Code corner, business users can build bots without having to write a line of code, just by dragging and dropping elements in the automation canvas. Business users use an intuitive interface with guided navigations and a simple workflow design to become citizen developers. To help them, I will explain in this blog post some very simple key concepts. 

Before jumping to new SAP Intelligent RPA 2.0 No-Code  features, a quick reminder that the SAP Intelligent RPA Cloud Studio is the web application used to design bots to automate your applications. It is already available in your SAP Intelligent RPA 1.0 (Cloud Studio documentation - SAP Intelligent RPA Trial), and it will be complemented with the features in this blog. At the time I am writing the post, to participate in the SAP Intelligent RPA 2.0 BETA program, please read the last paragraph of this blog where Andreas explains what to do. Note that when SAP Intelligent RPA 2.0 will be released, the 2.0 features will automatically appear in your SAP Intelligent RPA Trial tenant without you having to do anything other than update your agent to the latest version to run the new 2.0 features.

I will start the SAP Intelligent RPA 2.0 No-Code  presentation explaining automation and how you can create one from inside a Cloud Studio project. An automation contains a series of computational steps to be carried out. An automation, as you can see in video below , has: 

  • Name, 

  • an Identifier automatically setup that could be used in advanced scenario by developers to callback the automation,  

  • Description, 

  • a Triggerable property set to ON to enable the trigger (schedule, attended...) of the automation in Factory or OFF to limit the automation to get called only through another automation, 

  • and minimal version of the agent to help manage your agent deployment version (here it uses my local machine agent). 


 



 

The automation designer tool delimits the part of the program that makes up the automation. Users compose this succession of steps inside the automation designer. An automation is a sequence of steps in the form of activity, application, data, or controls to perform a specific task. An automation can orchestrate multiple activities on different applications and screens that are available on a specific computer as well as other automations. As you can see too in the video belownotice also each step could be renamed so your colleagues will better understand the flow of the automation with this documentation.

 



 

Input parameters are used to pass data as input of the automation. They are named variablestoring the values with which the automation is going to be called.  Say differently, an input parameter acts within the automation as a new local variable initialized by value* with the data passedIn general, an automation may be defined with any number of input parameters, or no input parameters at all. Note also that input parameters are strongly typed, which means that each parameter's type must be specified while they created. Here again the User Interface drive you to do the correct thing. 

Aexample in the video below shows automation input parameters for passing first name, last name values as string and is masculine gender value as Boolean. 



A variable is a data storage that has a name, a type (e.g. string, list of string or data type) and a value. A variable in the automation is also linked with a  step represented by its number. For example in the video below, Input Parameters are variables represented with a 0 as this is step number 0. In the same video, we will rename the output variable of the step 1 (aka. "Set full name"), to FullNameVariable. This way you can document the meaning of the variable to make it more understandable. 

Here again the User Interface helps you by showing the step version next to the name each time you want to use those variables. 



While variables can be a constant, you can also use the power of the Formula Editor to build an expression formula that returns a computation. The video below shows you how to use the formula editor to concatenate the first name and the last name to create the full name. 



Controls allow you to add steps such as conditions, loops, and scripts to your automation. Conditions allow a sequence of steps to be executed only if some conditions are met. Otherwise, the steps are skipped, and the execution sequence continues from the steps next to them.

The video below shows you how to use the condition IsMasculineGender to concatenate “Mr.” or “Ms.” To the full name. 



An output parameter, also known as return parameter, is an automation parameter used to output value to the automation that will call it. It is evaluated at the end of the called automation, therefore you set its value in the automation’s end node, and value is returned to the calling program. Like input parameters, you define automation output parameter name and type in the I/O tab of the automation. An automation may be defined with only one output parameter, or no output parameters at all. 



As we explained above, an automation leverages several steps that could be in the form of activity, application, data or controls to perform a specific task. 

Activities are used to build parts of the workflow of your automation. These activities are coming from the SDK package added in the dependencies of your project. The Core SDK package containing the most frequent activities used in RPA is added by default. 



When a user tests, also called debugs, an automation, this one is compiled in the background into JavaScript, then, its package is deployed to a Desktop Agent. Lastly, the automation’s JavaScript code is executed by the Desktop Agent. This is a similar flow that happens when a user deploys his projects using triggers for example.  

You can notice in the video below that user selects his environment with his agent definition created in factory and then enters the automation’s input parameters such as FirstName string, LastName string and IsMasculineGender Boolean. 



 

hope you enjoy this blog post on the No-Code development basis concept with SAP Intelligent RPANext time we can discuss other No Code features like Excel management, looping on a list and modularity by using automation in automation. 

 

/Alexis – SAP Intelligent RPA Engineering Lead 

 

“by value”  Similar to JavaScriptthe caller automation pass by value input parameters are passed to called automation/activities. This means that when an input parameter is a simple type, like a string or a numberwhen returned into caller automation, the parameter value stays unchanged with the value it had before calling the automation/activities and this even if it has been changed inside those called automation/activities. This is shown in the video below. 



Now, when the input parameter is a list or a data type, it is passed to an automation/activity, when returned into caller automation, the values in the list or in the data type properties will change if they have been changed inside the called automation/activity. The nuance with list and data type is that this is the object of the list or of the data type that are passed by value, meaning that if the called automation/activities  replace the object of the list or of the data typethose will stay unchanged with the value they had before calling the automation/activities. You can see this in the video below. 



While I explain the “by value” in detail, please understand that automation design will hide this complexity so you can perform the correct action directly.

 

For more information on SAP Intelligent RPA



  • Exchange knowledge:


SAP Community | Q&A | Blog

  • Learn more:


Webinars | Help Portal | openSAP

  • Explore:


Product Information | Successful Use Cases

  • Try SAP Intelligent RPA for Free:


Trial Version | Pre-built Bots

  • Follow us on:


LinkedIn, Twitter and YouTube

17 Comments