How to update status of particular queue item in excel sheet if application get close in Re-framework?

If this is my input excel file and all of the data added to queue …
image
In this case “id: 1” is done , now its fetching the “id:2” data from queue but suddenly application got close in which i want to send this data…
now i want to update the status for that “id:2” data to “Error”
image

How to do this in Re-framework ?
Thanks

Good morning @NervousTuber !

You have multiple ways of doing that!

1- Surround all the “Process” with a TryCatch, and depending on “Success”, “BRE”, or “SE”, you update the Status column with each unique state.

2- This decision is already done in “SetTransactionStatus”:

On the “Success” sequence, you’ll only need to type the current Row (you can use for example the io_TransactionNumber to define the row number) the “Done” status.

On the “Business Exception” sequence, you’ll do exactly the same, but with status “Failed” for example.

And if an application crashes, you’ll be going through the “System Exception” sequence, therefore, you’ll do the same, but with “Failed” status.

to do it just throw an assign and do something like this:

var_dt_inputFile.Rows(RowIndex)(“Status”) = “Failed”

Hope it helps!

Can you tell me where to add assign activity in Business Exception and System Exception…Actually i am new in Re-Framework

Sure!

  • Quick question, are you using Studio, or StudioX?

Lets go step by step:

1- Lets start by guessing that your input file is being read on the Init state (Dispatcher part):

The read range will read your input file, and the Assign will create a DataTable with the same structure, but no data, so you can fill it with your results:

image

2 - Access “Set Transaction Status” and create the StatusReport argument, with type: In/Out - DataTable. Also change the default in_TransactionItem variable from QueueItem to DataRow:

3- In order to get the data we want, now you need to perform a set of changes into our arguments:

  • Process.xaml → in_TransactionItem change from QueueItem to DataRow.
  • On both “invoke Process” and “invoke SetTransactionStatus” you’ll need to re-assign the values to the newly changed variables:


Then, last but not least, on each of the sequences mentioned before, you’ll add a “Add data row” activity, with the values you want:

Where ArrayRow value is {in_TransactionItem(0).ToString,in_TransactionItem(1).ToString,"Failed"}, and “Failed” will be different in each one of that 3 sequences (Success, BRE, SE).

Hope it helps! I know it might be a bit too much info!

1 Like

You are the best, I appreciate your help so much. :wink:

2 Likes

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