Uipath create single status report using 3 Bot

Hello, Team.

I have a RE framework that three bots use.
When the execution begins, all three bots begin processing and generate a status report that is already coded in the framework.

All three bots create one excel file every 5 minutes and keep track of each processing item in the status report.

If I have a single RE framework that is used by three bots, each bot will generate its own status report.

So my question is, how can I generate a single status report instead of three?

Because I have to send an email every four hours with the status of the status report that contains all record.

@Shivam_Rana

two options

  1. Create a bot to get all status reports and merge and send
  2. update the status of all the bots to the queue only in output fields of the queue and create a process to get queue items and create a status report as needed instead of creating individual status reports

cheers

1 Like

Anil, You have been quite helpful over the last two days; it would be greatly appreciated if you could please provide a detailed step by step solution on both options so that I can implement and test them.

@Shivam_Rana

For the first…not sure where you have the files…basically get all the files from the shared location if available and merge them…just use append range to merge

for second…use get queue items which will get the queue items from the queue and then use for loop on the output and currentitem.Output("Keyvalue").ToString will give the output values you add to queue …use those values in add data row activity and create a dataTable and write to excel. Rest all is same as how you create any other report

cheers

Let me be more specific -
Suppose 1 Bot create 20 excel template in a day , so in status report we have to maintain each Template status

Ex- Template 1 - successful
Template 2 - failed

So , 3 bot create 60 excel templates in a day , and each bot save status report at different location.

How can i manage that status records in one file . Please provide solution in pointers form with activities and values.

Thanks in advance.

@Shivam_Rana
1)Make a work flow call this workflow at End process.
2)Make an bool asset and init it with True value.
3) inside work flow get asset value.
4) put if condition and check asset value is True
5) If True then first update asset value as False
(So that no other robot will not use this in case of false)
6) now get all files from folder.
7) merge one by one and move in “Processed” folder.( moving will helpful to avoid duplicates in next run)
8) after merge/collate make new in separate folder and send email.
9) now update asset True so other robot can process that files which is remaining and current robot didn’t pick.

Happy automation❤

1 Like

Thank you, Raja.

However, I must share the status report every 4 hours and four times each day.

Is it possible for only one bot to share the status report every four hours?

Hi @Shivam_Rana

Since all three bots will be accessing the same file, you need to ensure that they don’t write to the file simultaneously and overwrite each other’s data. Use synchronization techniques such as file locks or a central lock file to manage access to the shared Excel file. Only one bot should be allowed to write to the file at a time.

Thanks!!!

Hi @Shivam_Rana ,

Hope you’re doing well.

Is it possible for you to share the sample Excel files that are generated by each bot and could you manually create a single final status file and share it with me. This way, I can have a clearer understanding of what you’re expecting.

I can help you by creating a sample workflow that caters to multi-bot execution and generates a single file.

Hi Ahmed,

Status file contains 2 column only

Transaction ID & Status

Ex - 837363727 , Completed
636362788 , Pending

All three status report have same column name.

Hope that helps

Hi Raja ,

Thanks for your response i have implemented this solution and it worked.

But Still i have 1 outstanding queries.

How can I ensure that the files are merged every 4 hours and that other bots cannot combine the files during that time?

(12AM to 4 AM) - MergeOutput1
(4AM to 8 AM) - MergeOutput2
(8 AM to 12 PM) - MergeOutput3
(12PM to 4 PM)- MergeOutput4

Hi @Shivam_Rana ,

Please find the sample file I have created, which can assist you in tracking who processed each request. I have personally used a similar approach in numerous projects, and it has proven to be effective without any issues.

MultiBotsample.zip (4.5 KB)

In the attached workflow, you will find an example of how to create an Excel file. You can adapt this workflow and create a separate workflow specifically for generating the Excel file based on your requirements.

Please note that I have used the latest community version for developing this workflow.

If you have any questions or need further assistance, please let me know. I’m here to help.

Best regards,

1 Like

@Ahmed_Nizamuddin1

i have checked your solution . so what changes i have to made in this flow

In this flow, all bots update the same excel file, and we retrieve the bot name from the processed by column, correct?

Hi @Shivam_Rana ,

Yes, you’re correct. All bots will be writing to single file, but it will wait for 10 seconds if the file is already accessed by other bots.

and “Processed By” column will help you to know which bot has processed those requests.

regarding your query on what changes to make,

  1. You can create separate workflow with do while to write or append excel file where you can pass
    in_Datatable,in_filename and in_MaxWaittimetoWrite as argument.

  2. you can set MaxWaittimetoWrite key in config “Constant sheet.”

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.