Skip to Content
Business Trends
Author's profile photo saurabh grover

Automate SAP SuccessFactors with SAP Intelligent RPA

SuccessFactors Learning management IRPA – Managing Learning Assignments rules using 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.

SuccessFactors provides the robust options for assignment rules, APs lets you identify the correct population based on various entities in user profile as mentioned below

Attributes from user entity can be used for defining the population

No alt text provided for this image

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.

(https://apps.support.sap.com/sap/support/knowledge/public/en/2776694 &

https://help.sap.com/viewer/d599f15995d348a1b45ba5603e2aba9b/1911/en-US/03e1fc3791684367a6a76a614a2916de.html)

–       Base knowledge of SAP iRPA (creating a project/workflow, adding applications/pages,…) – openSAP course on IRPA

(https://help.sap.com/viewer/8ecea00c1f854fd0a433c4aef5da1ea2/Cloud/en-US)

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

https://help.sap.com/viewer/6b9c8e86a0be43539b670de962834562/Cloud/en-US/cb13a3bba5c24c2d9718b62b5c8176df.html

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)

No alt text provided for this image

Likewise we can capture all pages as we proceed and screens should almost look like below

No alt text provided for this image

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

No alt text provided for this image

Now with the URL change we need to capture a different application

No alt text provided for this image

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)

No alt text provided for this image

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)

No alt text provided for this image

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.

No alt text provided for this image

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

 

No alt text provided for this image

No alt text provided for this image

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.

No alt text provided for this image

we need to specify the criteria and parameters accordingly, however here you can actually follow step by step instructions on how this goes.

No alt text provided for this image

On the assignment profile please declare the field – add new link as shown in below picture

No alt text provided for this image

Bt – button to add new link as shown in image below

No alt text provided for this image

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

No alt text provided for this image

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

No alt text provided for this image
No alt text provided for this image

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

No alt text provided for this image

Workflow screen will look as below – for successfactors assignment profile creation. We will talk about each page captured in the following slides

No alt text provided for this image

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

No alt text provided for this image

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.

No alt text provided for this image

Going to next screen to capture User ID and Password values for a robot to jump into machine

No alt text provided for this image

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.

No alt text provided for this image

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

No alt text provided for this image

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

No alt text provided for this image

The further activities are defined below

Robot clicks on manage user learning to expand the tile

No alt text provided for this image

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

No alt text provided for this image

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

Screen 2

Check for parameter wait exists on add new assignment profile

No alt text provided for this image

Screen lets you to the button where you can add new assignment profile

 

No alt text provided for this image

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

Screen 3

No alt text provided for this image

Screen 7

No alt text provided for this image

SF LMS then tries to find the curricula to be added to the following screen

Screen 9

No alt text provided for this image
No alt text provided for this image

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

 

No alt text provided for this image

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)

 

No alt text provided for this image

Go to scripts panel-> right click on blank space-> include library script-> select excel integration

No alt text provided for this image

To verify go script panel -> click on framework-> you can excel if it is added

No alt text provided for this image

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

No alt text provided for this image

Go to scripts panel-> right click on blank space-> include library script->SAP UI5 library

No alt text provided for this image

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.

Assigned Tags

      6 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Pankaj Banka
      Pankaj Banka

      Awesome Blog!

      Author's profile photo Antonio Ferreira Vicente
      Antonio Ferreira Vicente

      Thank you for sharing this blog!

      Author's profile photo Virinchy Panangipalli
      Virinchy Panangipalli

      Good job Saurabh !

      Author's profile photo Jakub Vajda
      Jakub Vajda

      Can you please repair the images?

      Author's profile photo Vikram Kulkarni
      Vikram Kulkarni

      Hi saurabh grover ,

       

      Very nice content. Correcting images give more values for this use case.

      We truly appreciate your effort in this.

       

      Regards,
      Vikram Kulkarni

       

      Author's profile photo Hari Cahyadi Windyadi
      Hari Cahyadi Windyadi

      Hi Saurabh,

       

      Thank you for sharing this great blog post.

      But unfortunately the picture is missing 🙂

      We also make a recording on the SFSF LMS but found some dificulties.

      Can you please kindly update the missing picture?

       

      Best Regards,

      Hari Cahyadi