Hope you are doing well. Can somebody please answer the below question for me?
Q) Suppose I have a requirement where I need a data which is from a excel application. I need to read those data, lacks of records are there for processing daily for a bot. Requirement is bot has to read the file, get all these data. There are 2 applications; one is SAP and one is web-based application. I need to fill in all these details into these 2 applications. Once the details are filled I need to get the item and update the status . Once all the transaction are completed I need to send a single transaction report. How would you design this? Requirement is records which are there for the days should get processed in that particular day.
The “best practise” is usually to break the process in two with two bots - one called the Dispatcher (used to get the data and store it somewhere, like a queue) and one called the performer (used to execute actions based on the data). So if you have two bots and a queue, it makes the solution slightly more robust. The Performer will usually be created as a REFramework process. The Dispatcher could either be simple Sequence workflow with a Global Exception Handler.
Thank you for your reply but can you just break the design into smaller parts like how and what dispatcher and performer are doing? And how at last we need to send one single transaction report please?
Hi,
-Dispatcher: is responsible for loading data into the Orchestrator queue. This process typically includes:
Extracting data from various sources such as Excel, databases, web pages, or APIs.
Transforming or validating the data (if needed).
Adding each data item to the Orchestrator queue as a Queue Item.
-Performer: is responsible for processing the data that has been loaded into the Orchestrator queue by the Dispatcher ,in other words, it uses Get Transaction Item to retrieve a transaction from the queue loaded by the dispatcher.
The idea is to transform all your data coming from different sources into transactions in a queue in the orchestrator (by the dispatcher), then consume them by the perfomer. And if you need sepecific output you can add your outputs in csv in SeTransaction.xaml and locate it in Data/output/outputexample.csv
Which bot and how the bot would fill in details to SAP platform and web application?
Once the details are filled I need to get the item and update the status . Once all the transaction are completed I need to send a single transaction report. Which bot and How the bot will send one singletransaction item at the end?
Performer would be used to fill the details into SAP. You could either use background activities or front-end automation.
I would suggest creating a separate report process that uses the Orchestrator API to get the records processed in one day and sending them in Excel. The other option is to just visualise it all through Power BI. You can also use the Orchestrator API to connect to Power BI. There are other ways you can do this - for example, writing the result of each queue item to a separate file and just sending that file, then deleting once sent - but it’s not a “clean” solution
Please correct me if my understanding is wrong here, so dispatcher will just retrieve the data from excel and load these data into queue? And performer will fill the details into SAP and web application? We will have to create a separate bot to send the single report at the end?
How exactly we can send a single transaction item at the end? Is it by creating some locking mechanism with the help of Asset as we are dealing with multibot? or How is it going to send?
I’m not too sure I understand the second question. What we usually do when we do daily reporting is we look up all items processed in the day and store it either in a data table or an Excel spreadsheet. Then you can send it as one email. If you are using a queue and a multibot environment, you can still query the processed items from the queue and send them together via email or teams message - whichever your preference is. You could also store all the data in data services and connect it to Power BI: [UiPath] Setting up a Power BI Custom Connector for UiPath Data Service – The JPanda.