Hi Guys, I have got a doubt when working with REFramework, and not using the Orchestrator Queue, instead extracted data in datatable and passed it to TransactionItem in Get Transaction Data workflow.
Now when not using the Orchestrator Queue, we delete the “Success”, “Handle Business Exception” and “Handle System Exception” Workflows from the Set Transaction Status.
How the Retry mechanism would work? in case while processing one of the txnitem fails due to webpage not respodning , how and where do we handle that.
any help would be appreciated.
First, you would want to set the MaxRetryNumber value to your desired number of retries.
Then, the retryNumber in the REFramework should get incremented by 1 in the SetTransactionStatus workflow when an Application/System Exception occurs. This will/should make it return to the Init and skip the GetTransactionData so it continues with the same transaction again. Also, the TransactionNumber should not be incremented so it stays on the same number.
When a BusinessRuleException occurs, then TransactionNumber is incremented by 1 and the TransactionItem is set to nothing, so it will GetTransactionData to the next transaction, and no retries will occur.
Additionally, the retryNumber should get reset back to zero when the MaxRetryNumber or BusinessRuleException is met.
This should mostly be handled in the SetTransactionStatus workflow.
That’s how it SHOULD work, anyway. Let us know if you still are having difficulties understanding.
Thanks for your response. I am not sure if i have understood your point correctly. But from what I understand, what you just explained is what we have already in place in Set Transaction status of REFramework. But the uipath academy video suggests that we delete this “Success”, “Handle Business Exception” and “Handle System Error” workflows when we are not dealing with Orchestrator Queues. My question is why delete thses workflows and if we delete these workflows how do we handle business or system exception. is there any sample workflow that you can share.
I’m working in an optimized version of SetTransactionStatus, where I have it so you don’t need to delete anything. I just have a boolean set like this:
Then, I placed the Set Transaction Status activity inside an If using that Boolean:
So, you can choose to delete that, but everything around it should stay the same. Handling the BR-Exception and System/App-Exception is the same, where you need to set the retry number and transaction number, Log it, and take a screenshot.
Hope that answered your question.