Technical Articles
SAP Intelligent RPA – Asset Depreciation Run Automation – Part 1
Automation of the Business Processes is the way going forward to increase the productivity and to use your workforce time to better use.SAP intelligent RPA is one of the tools to help you achieve the required automation.
The use cases are immense and we must use the technology to automate whatever is possible .
Having said that ,in my previous blog “SAP Intelligent RPA Trial – Get Ready to build Bots… , we saw all the steps required to get your system ready to build and run bots. I also covered a use case on automation of Journal Entry postings using SAP intelligent RPA and RFC call in my blog “SAP Intelligent RPA – Post General Journal Entries via RFC !!“.
In this blog post, I will show you another use cause to automate the Asset Depreciation Run process. This a repetitive process and need to be executed for different company codes and periods each fiscal year. So, we thought of automating the process.
Let’s see how to do it.
Scenario
- Starting point is the input excel file which will have the details to execute the asset depreciation run. It will be very simple file with just three columns as shown below. It could have multiple rows depending on for which all company codes, year and period you want to run the asset depreciation.
- Fiori app ” Schedule Asset Accounting Jobs” will be automated to schedule the Asset Depreciation job.
- Job Log will be extracted and saved in an excel file and sent as an email attachment to the user.
Solution
Let’s build a Bot to automate this process.
- To start with create a project in desktop studio and make sure to activate the excel and Outlook libraries in project properties as we will using both in our solution
- Capture the Fiori login page all the application pages bot will be navigating through and set the selection criteria for each control.
- In the Workflow pane create a new workflow and start the Fiori application. On Login page map the user ID and password. The same can be maintained and fetched from cloud factory variables also. For this scenario, i just hard coded in the application.
Generated code will be like this:
- When home page is opened , navigate to the required application by updating the browser URL with app path and reloading the page
- Wait for application page to load
- When page is loaded, Click on create new job icon
- On the new job page step, read the job parameter details from the excel and populate the same and schedule job by clicking on “Schedule”
Code piece to read Excel data ( note here i have single row , so read it directly in this step. if you have more rows, read excel row by row and perform all the Fiori job scheduling steps in loop for each row)
Mapping data to the job parameter fields
- Once job is scheduled, Application main page will open. Search for the job name you just created .
- Check if Job status is “Finished” and when finished capture the Job details in excel
- Click on Job log icon to navigate to log details page and capture the log messages in the same excel where we captured the Job header details in above step.
- Save the log file
- Finally send the log file to the user as email attachment.
The overall workflow of the solution looks like this
It’s demo time now :). So here we go…
https://www.youtube.com/watch?v=ahuogvi0gV4
In Part 2, we will see how to automate the error corrections encountered in Asset depreciation run.
Keep learning & Keep Sharing!!
Hi Vijay,
Great blog with ample information and screenshots along the steps.
I wonder how to handle exception iRPA?
Thanks.
Hi Nick Yang,
That depends on what kind of exceptions we are talking about.For iRPA scenario we create , code is generated for it and we can catch exception via try and catch approach. For example, while populating the excel cells, i faced exceptions and to catch those i used the same approach as shown below.
Thanks Vijay!
We can use try-catch to catch exception.
How about any exception catch capability in workflow?
I am from workflow/integration flow point of view. We always have a exception catch to deal with exception.
Hi Nick,
The exception in workflow should be because of exception in one of the workflow steps only and we need to capture all possible exceptions within the step. I we are able to do that , i guess it should work fine.
At the same , i am also exploring this tool and will definitely like to know from others if we have others better ways to handle exceptions here. 🙂
Vijay