I have some questions about the best practices for REF, without using queues.
First, on whether should I start apps in the init section, for the first run. Or only really initiate them on InitAllApplications, letting Init clean and with an invoke of InitAllApp after the First Run sequence.
Secondly, can I erase the SetTransactionStatus, as I’m not using queues in this case? And where should I set the status then?
For most cases, letting the applications restart in the event of an error is advisable. You would only want to start the application once if you’re sure that there will never be a need to restart the application for the duration of the entire process.
You could erase SetTransactionStatus, or you could redefine it to set some other object’s status, such as a datatable or Excel workbook. But if this isn’t needed, then it can be deleted.
Business rule exceptions are placed wherever a human would have to do something that diverges from the process definition. This isn’t to say that the exceptions are thrown for decision-making processes, but rather when further investigation would need to be done or where it is deemed better for a human to handle the failed transaction.
The idea of having the Application Initialization inside InitAllApplications is to ensure the application is brought back up after an application error has occurred. As REFramework will try to logout of the application, if its unsuccessful it will kill the processes. Its best you keep it inside InitAllApplications
When you are not using the queues, you can delete the GetTransactionData workflow. I don’t recommend deleting the SetTransactionStatus.
About the second one, I use the GetTrasanctionData with the TransactionNumber in order to get the next one… Is that wrong? I’ve seen befor it’s that way and makes sense to me as it works…
thanks for the link but now I have some additional doubts
about the inputfile, shouldn’t we only use the Config file to place all settings?
I’ve had a doubt about getting the credentials from a config file without using Orchestrator (in pratical exame they say we shouldn’t) but I don’t know how to do it without writing the actual password on the Config file. Or will they use another account of acme when testing my exam?
If you have logic inside the GetTrasanctionData it needs to be retained and your approach is right.
In the Config file you will store only the configurations used during the execution of the process. The input file feeding the data should be considered as a seperate entity.
You can store the password in windows credential manager.You can refer to this solution.
I think I get it, but doens’t that mean the credential is only available in my machine? When they test it, they use their own account of acme right? Thanks for the help!!
UiPath doesn’t really check the workflow by running it. Any assignment will have some interaction with ACME that will perfom updates to data on ACME. Ensure that for a given assignment the logic is implemented correctly & mainly the data you enter / update in ACME website is accurate, you will clear the tests.