Link between API Orchestrator queue and GetTransactionItem activity


#1

Hello,

I want to know how API Orchestrator queue and GetTransctionItem activity work ?


#2

Hi Papaass,

This is a broad question but the quick answer is that the Orchestrator queue is a container for transaction items. These are added to this queue by a robot using Add Transaction Item or Add Queue Item; There are differences between these activities that depend on your implementation.

Once you have items in your queue you can then use GetTransactionItem, with the name of the queue to get from. This then returns a QueueItem variable that you can use to get various variables from (these are setup at the upload stage) and control the robot with.

This is similar to having a robot go through and excel spreadsheet row by row. Each row could be considered a transaction.

once you are finished with your transaction you can then use Set Transaction Status to close it off as Successful or failed.

With Failed you have two options Application or Business depending on what actions your robot may have taken.

For more information please check the documentation. available here:

https://orchestrator.uipath.com/docs/managing-queues-in-studio

Hope this helps.


#3

hi @jakelewis18
thx for answers and your avalaibiity.

i can specifire my problem.
I want link two or more appliactions.
In the first application i type some data. This data will be sent to the other apllication by the StartTransaction in API Orchestrator.
In the second step i wiil get the data by GettransactionItem and execute some process in the second application with the data


#4

Hi papaass,

Quick question for you, is there anything stopping you from developing a robot that goes into the first application, gets the data from it, stores it as variables and then uses this in your second application? There may not need to be queues implemented here.

However if you do need to use queues to achieve this, for example you may want more robots processing the data than getting the data then you would need a two step process, or at least it can be done this way.

1, You create a robot that goes into your application and gets the data you need, you can then use the Add Queue Item (with it’s collection of items as the data you need)

2, Use another robot to get the data using Get Transaction Item to get the transaction and then use an assign to get the specific bits of data. You will need to use

Transactionvariable.specificContent(“EnterTheFieldNameHere”).tostring

replace transactionvariable with your queue item variable and the enterThefieldNameHere with the field names you’ve set when you’ve added the queue item.

I’m currently at work so can’t upload an example queue i’m afraid.

Hope this helps.

Thanks


#5

Thx @jakelewis18 for your availability.

For your question , i can’t develop two because my process on second application are conditioned by the input data in my first application.


#6

Hi Papaass,

I’m not sure I understand your reply. Do you mean that you require data from the first application to run the second application? In that case you can upload this to the queue itself ready for the second robot to get.

or

Do you perhaps mean that the first application directly controls the second application with it’s actions? In that case you would not need to use queues to achieve this and a normal robot would be appropriate.

Any questions please let me know.

Thanks


#7

Hi @jakelewis18,

my case is the first.


#8

have you got the solution. i am also trying to process a specific transaction item based on reference ID instead of looing through all items


#9

My case is first one and i need those item nos which are accessed in first application. And using those item nos, i have to do some if else operation. I am bit confused can any1 help me out with the screnshots or Xamls…