Is it possible to work with queues with variable number of arguments for each transaction?

Hi! Thanks in advance for your kindness in reading my question.

My problem is this. I have an application that iterates over a number of appartments. Each appartment is a transaction. Each appartment data will be read by my REF process from a queue in ORchestrator. The problem is that each appartment may have one, two, three, etc., owners, and for each transaction, I need the name and id_card code, so the number of arguments in each transaction might be variable. Is it possible to handle this in a queue or it has to have a fixed structure? If it is possible, how would you deal with it?

I thought about using an enormeous number of owners (10 or more) in a fixed structure, and each time I might only use, 1, 2, 3, etc., as many as I needed as long as I never have more than 10, but it doesn’t look very elegant…

Thank you very much for your help, and patience…

César

1 Like

ah , I am still confused about your question , can you give two examples?
What I understood:
Case 1. you have a apartment names say A1, the owners of this can be O1,O2,O3 each of who have name and ID
Case 2. you have a apartment names say A1, the owners of this can be O1,O2,O3,O4,O5,O6 each of who have name and ID
So number of owner is variable and you want to store this (Appartment, owners details) into queue and process?
If so you can try to create a datatable in which one column will be string type having (Appartment) , and another column of type dictionary in which you will add all owner,owner details key value pair, like

Apparment owners
A1 {O1:[O_id,O_name],O2:[O_id,O_name],O3:[O_id,O_name]}
A2 {O1:[O_id,O_name],O2:[O_id,O_name],O3:[O_id,O_name],O4:[O_id,O_name],O5:[O_id,O_name],O6:[O_id,O_name]}

Now you can upload this to queue , and while get queue item properly parse the dictionary items to extract individual details.

Hope this helps :slight_smile:

1 Like

Hey @ccrespo9669

You can use ItemInformationCollection property of Add Queue Item to directly pass your dictionary with the transaction field and values.

Thanks
#nK

2 Likes

Thank you very much for your answer. Sounds very well. I will try and come back to explain result. Thanks.

Is it right to think that Uipath will create, somehow, a new internal dictionary for each cell (row,1) of the datatable? I mean, I do not have to declare a dictionary for each cell (row,1), right? It will be automatically done by Uipath, right?

Thanks again,

Cesar

Thank you very much. In fact, to me, each appartment is a transaction, and I have to complete its analysis before I pass onto next one. Som I think I can work in this way also.

Thank you very much for your help. I will try and come back with feed-back.

Thanks,

1 Like

Sure @ccrespo9669 :slightly_smiling_face::+1:

no , its not like uipath will automatically do that :sweat_smile:,
You have to first assign /declair a empty dictionary<string,list<of string>>
And then for each Appartment start a loop and keep adding items(activity name- add to collection) to this dictionary … this will be one more loop I think ,
you can do that , give it a try!!!

Thank you very much for your help and kindness SaurabhB.

1 Like

@ccrespo9669 can you choose the reply which leads to the solution , so that if anyone else from the uipath forum has the same question can easily get to the solution :slight_smile:

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