Automate SAP SuccessFactors with SAP Intelligent RPA
Why is IRPA relevant?
RPA is about creating software robots to carry out rule-based repetitive task on any platform. RPA helps in automating labor-intensive tasks.
Agility- helps improve business processes, Acceleration – SAP IRPA stands apart as this can be built quickly, Productivity – RPA improves the quality of work with accuracy.
RPA is relevant today because business process in organizations are very individual and are getting complex. With the increasing number of systems that businesses wants to integrate and include more stakeholders its good to automate applications so humans can rather do tasks that are beneficial for business objectives.
What are assignment profiles in learning management SuccessFactors?
Assignment profile automates the assignment of various learning activities to group of users who share the common learning needs. Assignment profiles provide the ability to specify assignment rules to dictate user population that should receive learning assignment.
In addition, to design the rule, assignment profile lets you organize the courses (Items, programs, curricula, recommendations, catalogs, etc.) you would want to assign to target population.
The below screenshot shows the assignment profile in SuccessFactors. – This is the release in preview for 2020 LMS flash depreciated.
Attributes from user entity can be used for defining the population
Why do we need ROBOTS for assignment profiles?
Creation of Assignment profiles – Repetitive task
In any SF Learning project we need to build assignment profile to assign courses to set of user population. This set of user population depends on training need analysis and varies for each company.
Implementing LMS we usually use position, locations, job profile data etc. to identify target user population for assignment of courses. We often have large number of positions, locations, job codes etc. which means we will need to create a large number of assignment profiles. Some of my clients had to create 500 – 2000 assignment profiles depending on the need.
This means a team has to be deployed to complete this task which inturn increases a lot of manual labour and sometimes frustration among users. This team approximately works for 5 hrs a day creating assignment profiles for 5 days. This time should rather be used by humans to create new things, discover new points and get better for business and self.
Note: Assignment profile do not have a bulk upload option, it is a task that is highly important for business however creation of each rule can become a mundane task for some organizations
IRPA picks the values from a simple excel sheet which holds Assignment profile ID, attributes and other terminologies to be used and places them as an attended/unattended job in SuccessFactors learning. Which means by the time training administrators login the next morning they will have fully functioning assignments ready to go for the entire population of their organizations
Some prerequisites for following this blog that might be helpful
– Desktop studio and desktop agent installed and configured (https://help.sap.com/viewer/6b9c8e86a0be43539b670de962834562/Cloud/en-US)
– SuccessFactors system and its corresponding API url to connect to.
– Base knowledge of SAP iRPA (creating a project/workflow, adding applications/pages,…) – openSAP course on IRPA
This blog is divided into following parts
1. Declare SAP SF screens – Add applications in SAP IRPA.
2. End to End workflow process which tells system how to navigate on declared screens
3. Excel library – to hold the values to be filled in to the assignment profile SF screens.
PART 1 – Declaration of screens and applications are shown as below:
To start with – The browser must have SAP RPA Intelligent Extensions please let me know if we need instruction on how to for the same – https://help.sap.com/doc/0b462ceb51654e289d54e88815868e35/Cloud/en-US/loio9166572b064645408b95623ead57e36f.pdf
By clicking add application – Desktop studio with the help of browser extensions scans the application open in your browser window (depending upon which browser you read it from)
Likewise we can capture all pages as we proceed and screens should almost look like below
Any IRPA creation starts with capturing, declaring criteria to identify the screens and its components, sometimes you can declare and create workflow if you are a pro in IRPA, however for beginners it is good to declare the screens and components to be used.
We always capture the application at top level as shown below – we then identify the pages to be used by this application.
Where ever the domain or URL changes within applications it is always good to capture separate applications to be called in workflows.
The first application for us is SuccessFactors home page – however after navigating from SF to Learning home page URL changes to Plateau. Hence we have captured this twice as shown in screen below
First – SF home page URL is the identifier / criteria
Now with the URL change we need to capture a different application
The first screen to declare is pSuccessfactors login (can be named according to the user choice p usually stands for page captured) – where robot logs in to the system using credentials
Make sure the credential for the user provided must have rights of creating assignment profile from learning administration (Roles and permission + Learning management admin workflows)
Note: When we see page as green this means the page is identified, components of the page are associated. Whereas red means there are components in there that needs to be declared.
The above green marked area shows the content. We then login and mark the area where the system goes next as shown in below screen – phome – means page home
ROBOT will click on learning administration (As marked)
The URL or Domain must be an identifier at application level. The pages inside the application are related to that identifier.
Please do not misunderstand domains in learning and domains in IRPA – Domains in learning are used for security reasons (Roles and permissions), however domains in IRPA are used as identifier of a specific page / application.
With any screen we have following components of IRPA (also refer to basic knowledge on IRPA) where we define proper criteria –URL and / or title of the page (This criteria should identify the page) – this helps IRPA to recognize the page uniquely.
The next is Robot jumps into SuccessFactors learning administration page from home page.
Note: As mentioned above this is a change of URL so we need to declare a new application in the same project to proceed
Declare the arrow on manage user learning so robot clicks on the same to proceed – we will see more in this blog, about robot deciding on which field to click. – this information is provided in the workflow section.
we need to specify the criteria and parameters accordingly, however here you can actually follow step by step instructions on how this goes.
On the assignment profile please declare the field – add new link as shown in below picture
Bt – button to add new link as shown in image below
Declaring the fields is next where in Assignment profile entries have to be made, we will see in workflows how this entry is made from excel i.e. clients will only need to enter the data in excel sheet ex. ID of assignment profile, rules for Aps, what is the purpose of these assignments etc. The robot will then automatically feed this information from excel into various sections of assignment profile build – This is part of workflow design we will talk about going further in this blog
Next is to declare each field so robot knows what fields it needs to look for.
As an example I will show below a few fields, likewise all fields need to be maintained
We use workflow to declare these fields following which you will see excel library
PART 2 – of the this blog to – creation of IRPA for Assignment profile build in successfactors LMS is – adding new workflows
Workflow screen will look as below – for successfactors assignment profile creation. We will talk about each page captured in the following slides
We will go into each workflow page (Pages are captured from applications) to (define the activity to be performed on the components and the arrows between the pages define the flow of the application) identify where the data flows from.
After creating the workflow the first process is to start it.
Context – the path of each declaration is under context. Context helps to identify the application
Capture context in properties – Here we use the identified items/components. We define a flow like setting the values, getting the values, clicking on button etc. Properties shows the properties related to that specific item/component.
Going to next screen to capture User ID and Password values for a robot to jump into machine
Use wait exists (or delay) activity is a good practice – that means robot waits for the page / fields to load up.
Then use set activity to set ID and password. On the same page so robot clicks on login as the last step – set click activity. You can either drag and drop activities from following page or right click on the item and use the required activity.
Set can be used as shown below to set a particular value of login ID or password so robot can login to the SF system
Robot will then enter SuccessFactors system to click on learning administration tile – this can all be modified as per the changing UI of SuccessFactors and will only need to make small changes to this BOT
The further activities are defined below
Robot clicks on manage user learning to expand the tile
On the same screen we can declare that robot waits for several seconds until manage assignment profile appears, once it appears robot clicks on it. Below screen defines various activities used for the same
We can scan and capture more pages to the same workflow as shown with the camera icon in above screen
By clicking the camera icon, lets you to scan and add more screens or you can click on that page and use capture again and once it ask for replacement you must select no(it captures the same page with different elements)- the screen appear numerically ordered on the workflow as shown below
Check for parameter wait exists on add new assignment profile
Screen lets you to the button where you can add new assignment profile
Next screen robot needs to fill in the values – or if call it rightly then set the parameters on new assignment profile screen
On this screen robot should extract the ID, Description, security domain for Assignment profile from a separate excel document.
This is called excel library and we will know more about this upon progressing on this blog
Note: Getting data from Excel library is a part of this blog, for basic we will first run the bot with setting values within the blog.
As for now we will just hard code the values to see if robot picks the same. Following this blog we will get the values from excel library.
As we know context on the above screen changes
SF LMS then tries to find the curricula to be added to the following screen
As you can see from the above screens we have captured all components required to fill in Assignment profiles
Note: As successfactors is a UI5 application. Please be sure that UI 5 is always marked as custom type
PART 3 – Adding excel library
Go to File-> Edit Project Library-> select excel integration
same for ui5(we need to add this as successfactor is sapui5 application)
Go to scripts panel-> right click on blank space-> include library script-> select excel integration
To verify go script panel -> click on framework-> you can excel if it is added
While creating the workflow we read the value from excel. First step is to initialize the excel for that we drag and drop initialize excel from activities. Second step is to open an existing excel file we drag and drop open existing file option from activities, in the properties section we provide the path of the excel file. Then we use get one cell from activities, in the properties we provide the row and column number of the cell in excel file, then we assign the value of the variable. Similarly we read the value from other cells. At the end we close the excel file, end the excel file and release the excel file using the options from activities
Go to scripts panel-> right click on blank space-> include library script->SAP UI5 library
Conclusion – BOT Created by above step will start capturing the values and rules etc. from simple excel sheet, below video shows.
This blog is a joint effort of Saurabh Grover, SAP SuccessFactors Consultant and Sachin Kumar Singh, Lead Technical Consultant at The Silicon Partners Inc. and Deepika Monga, Sr. Consultant ABAP
Saurabh is an experienced SFSF Consultant with total experience of over 10 years and relevant experience of 8 years in SFSF.
Sachin is a seasoned software engineer with strong experience in Java Development and RPA development.
Deepika Monga is Sr. Consultant in ABAP with TSP. She has been working on SAP Cloud Platform, SAP cloud workflow and SAP Intelligent Robotic Process automation. She is has been building and orchestrating BOTS related to SAP Sales and Distribution, SAP Finance, ISU and Successfactors, which can be added in TSP Bots directory.