Finalizing the best approach

smalaviya

New Member
Hi,

I am working on an automation wherein I am automating a process that has the following steps.

1. Looks for data file on a shared folder.
2. Runs SQL Query:
Run on the data file in step1 . Database gets updated with new data
3. Open PowerBI server :
There is a dashboard already present on the server that is connected to a SQL Database
4. Click the refresh button to refresh the power BI dashboard:
The dashboard is already published on the server with a connection to the SQL Database
5. Send email with link (URL) to refreshed dashboard.

I need help with two things here.

1. Moving the code from one environment to another: To explain this I will take an example.

For example: On the development environment I have a BOT assigned say BOT123@xyz.com. On the development environment what happens is when I open the PowerBI server it automatically opens the server space, that has the dashboard, for BOT123 without asking for any credentials. My question is when the process is in production and the controller is running the process from the control room he needs to make sure that on whichever computer the process is run that computer should have the windows account for BOT123. If this is not the case say for example the controller runs the process on a computer with windows account for BOT456, then when the process runs and opens the PowerBI server the server space for BOT456 is opened. Since the dashboard was present in the server space for BOT123 and not BOT456 the process will throw an exception.

Please let me know the best approach for this.

2. Run schedule: Below points explain the run schedule for this process.

a. Process is scheduled to run once a month i.e. 14th every month.
b. If the bot is unable to find the input file on the 14th then it should shoot an email "Input file missing" and again check for the file on the 15th.
c. If the bot finds the file on the 14th itself it should run process and not look for the file again on the 15th.

My question is do we need to include a logic for this in the process or is this something that the controller will take care of.

It would be very helpful if someone can help with the above mentioned points

Regards,
Shobhit Malaviya
 

gil.silva

Active Member
1. Make that as a pre-requirement. The account should be manually configured in Production.

2. That logic should be stated in the process. Blue Prism Control Room is quite limited and it doesn't allow to easily build dynamic schedules.
For your specific example, I would schedule the process to run monthly on the 14th and 15th. The populate queue page/subprocess should have the verification if the items are already in the queue, this way you avoid having duplicate runs.

If on 14th the file exists, it will populate the queue with, let's say, the excel rows (Filename-Row1, Filename-Row2, ...).
Then on 15th, the process runs again, but when it's performing the populate queue, it will check that the same items from the previous day are already there, so nothing will be added to the queue and the process will just finish.

If on 14th the file doesn't exist, the robot won't populate the queue and it will finish the process.
Then on 15th, if the file exists, the queue will be populated and the robot will run without problems.
 
Top