Logic question: new transaction only if the transaction number <= index of the array element

This is on p.11 of the Walkthrough for Client Security Hash:

Open the Framework\GetTransactionData workflow
o Update the annotation for the current process.
o Add an input argument for the array of Work Items.
o Remember that our Transaction Item is one object in the Work Item array. We can have a new transaction only if the transaction number is less than or equal to the index of the array element.

Can someone help me understand the last line re: “…<= index of array element”?

@nyck33

For suppose, our input is of type DataTable and it contains 10 data rows. Now, we have to process all 10 rows one by one.

And Transaction number will start from ‘1’ here. So, we have to write condition like this:

TransactionNumber <= DataTableName.rows.count

It will process one by one Transaction Item till the condition satisfies. i.e 10 times

1 Like

@lakshman

I see, like the condition for a loop (for, while, do while). But I don’t remember seeing a loop in there. I will check right now. Thanks!

@nyck33

It’s not in loop. You have to write this condition in IF.

IF TransactionNumber <= DataTableName.rows.count
Then
transactionItem = TransacionData (TransactionNumber - 1)
Else
transactionItem = nothing

Here, we are using REFramework. If the above condition is true then it will assign TransacionData row to transactionItem and then it will process that item in Process TransacionData state. If processing is completed then again it will go back to Get TransacionData to fetch next transactionItem. This process will continue till last transaction data item found. Once all transactionItems completed it will go to else part and here we are assigning nothing to transactionItem. I.e we don’t have any transactionItem to process and then it will go to End State.

1 Like

@lakshman

I see, maybe this is why it took so long for the program to run from Orchestra. I should also check the other parts like how long it waits, etc.

I guess the REFramework is more robust for RPA with all the logging etc?
Thanks!

@nyck33

Yes. It’s more robust. If any transactionItem is failed to process then it will retry again by using RetryNumber variable. And also REFramework follows state machine diagram.

To know more about REFramework please go through below attached document.

REFramework documentation.pdf (507.8 KB)

2 Likes

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