For each row in DT, download files from application, if not there, put delay and retry for those rows

Hi Team,

I have a datatable in my variable dt_RowList as shown in the below table:-

Name Age City Downloaded Status
UiPath 23 New York Done
RPA 24 London Not Done
John 25 Mumbai Done
Snow 26 Karachi Not Done

I am using for each row in this datatable as shown in the image below:

In this logic, I want to perform the following tasks:

  1. As I am having a data in the inputted datatable, which is created by robot in another module, it will have Name, Age, City and Downloaded Status columns in the datatable.
  2. Status column is the most critical one as some rows will take time to turn from “Not Done” to “Done”. Let us consider that above is the table that we have as an input.
  3. For each row, if the Status=“Done”, we need to download the file. But for Status=“Not Done”, we just skip it and try to download next row file.
  4. In above case, we will be able to download the files for “UiPath” and “John”. But the rest of the files shall be downloaded if some delay is provided, so I want to retry downloading files for “RPA” and “Snow” after a delay of some sort (maybe 3 minutes).

Following is the significance of each and every component in the above image:

  1. Decision Box “INDEX = 0”:
    (In my logic, I just had to compare the “Age” of current and previous Person so I had to use Index=0 as a separate case. Or else it could have gone into out of range exception when we talk about the first row. (0th row and -1th row). It is already taken care of, so we don’t need to care about it for now.

  2. Decision Box “Nth Resp = (N-1)th Resp”:
    (In my logic, as I mentioned, here we can compare the Age of Nth and 'N-1’th person to run the FLow A. This is also taken care of, so we are good there too.)

  3. Flow A :
    (As mentioned, this is the logic to perform some actions when the Age is different from previous person. This is also working fine, so dont need to worry about this too)

  4. Flow B :
    (This is the main logic where we download the files from the application. For the cases where Status=Done, we can download the files, But for the cases Status=Not Done, we need to skip them aside for the sake of iterations.)

As the for each row loop is completed, we filter out the columns Status=Done, and only care of rest of the files, so we need to put delay for around 3 minutes and then try to run the logic for two iterations in the above case, where Status was “Not DOne”.

I want to have only one instance of our main flow “FLOW B”, where we are taking judgement and downloading the files.

As I am using for each row, I am having hard time to perform the task FLOW B, with the people who were parked aside before.

I understand it was a long explanation so would love to help out if more clarifications are required.

Please help me with this as soon as possible as this is crittical for me.

Thanks and Regards,

Hi @hacky

did u need to implement this way

for status=Done, u had to download the file, if the status = Not Done, u had to wait for sometime [3 minutes] and try again?
is it right?