I have 200 customer numbers in excel. With this customer number I have to collect more data(first name, last name) from app1, then with collected data (first name and last name) I have to search and collect more data from app2 (phone, email). In the end I want to make excel with all the data.
What is the best way to do that?
I worked with blueprism and there you just load Queue with Customer numbers and tag the items with “For App1”, then get the item with this tag (one by one) and proceed in the app1 and set the first and last name in the Queue and tag item with “For App2” until you proceed all items. Then you do the same with the app 2 ( get item with tag “For App2” one by one and get the additional info from the app2 and set the new data to Queue). In the end you get all completed and exceptions items with all data and make datatable that is written in excel.
Sharing my thoughts on the requirement mentioned. I assume you have enough knowledge on uipath.
In my opinion RE frame work would provide robust automations for medium to complex usecase.
Re frame work is a best practice from uipath which is having in built work flows which will help us to automate process in less time and also it would help us to make proper exception handling mechanism. Please refer the below documentation link for more guidance.
This RE frame work contains 4 stages initialisation phase, get transaction phase, process transaction and end transaction.
I would like to provide suggestions on these 4 stages how we can implement your usecase.
Init phase: Under first run (it is one time activity only run one time) read the Excel data contains customer numbers and store into work queue. All the 200 customer data. Now we have 200 customer info in the workqueue. And also bulild data tables(empty with only headers) for processed and rejected and Final data. For processed and rejected you can have column names like customer number, first name, lastname, phone number,email id, status. For the final you can have all the columns without the status. In init applications work flow launch and login app 1 and app2.
Get transation item phase: this is default work flow which retrieve the queue items one by one.
Process Transaction: this is the main work flow here we need to read the queue items one by one. For first transation read the customer number and we have to keep work flow to open the app1 and navigate to the page which we can enter the customer number and retrieve the first name and last name. If everything is good with the first transation store the details by using add data row activity to enter customer details in the processed data table as well as final data table if any exception store all the customer info( for now we extracted customer number,first name, last name) . And go to the app2 do the same stuff and use add data row to add the info to sane table row for different columns. So after one succesfull transaction we eould get all the customer details in single row. We have to perform same operation for all the transaction until we complete. At the end we would be having the final data table with all the customer info and as well our processes and rejected data tables ready.
End transaction: log out both the application and use wrote range to write the final data to excel which contains all the Excel info and also processed and rejected data as well with the exception info.
Sorry for long message. Wanted to explain you briefly. If you have any doubts please respond in this post so that all the forums will help you to resolve. Thanks.
You can also check this RE frame work in uipath academy.
the best practices is to proceed first item through the whole process( app1 and app2), then the second and etc.? Not to proceed all items through first app then all items through second app? (should i open and close the app after every item or I can just attach to the app every time before using it?)
What happens with my datatable info if the process is terminated unexpectedly?
In my opinion the best practice is to complete end to end for one transaction and the other. For first transaction we will go to app1 and app2 complete the flow and will go for next one.
If you get any exception while processing any of the transaction we will store the transaction info with the exception details in the rejected data table so that we can share this as report in the end process. Please note that if you get any exception for any of the transaction it wil go to the init phase and kill the application and re launch and login and process the next transaction. This is the inbuilt logic for the RE frame work.
I hope my suggestion would help your automation. Thanks.