Hi Sam,
When we talk about parent child queue relationships, you think of it like this parent queue is a queue that is going to be my reference queue and child queue will be queue that will have individual data items mapped to each work item of my parent queue.
Let me give an example, suppose I have an automation where let say in an input folder location you get 50 excel files and each of those file consists of 100 data items each. So in total you have like 5000 (50 * 100) data items per day coming in as inputs for your process. So now in such a case if you wish to employ parent-child queue relationship then you can do so by assigning work items for each file in the parent queue with the 'Key Name' field as the file name for each excel file. So you will basically end up with 50 items in parent queue where the 'Key Name' for each item will give the file name for which the item got created.
Now, in the child queue we will have each work item related to the data stored inside each file with 'Key Name' as the key name of the parent queue separated by hyphen after which we can have any primary column of the dataset. So this queue will have 100 items each for all 50 work items in the parent queue.
For example, if the dataset consists of four column called 'ID', 'Name', 'Age' and 'Class' with primary key being the 'ID' column which can range between 001 and 100 then we can have the parent queue structure as:
Item | Key Name
Work Item 1 | Test1.xlsx
Work Item 2 | Test2.xlsx
.
.
.
.
Work Item 50 | Test50.xlsx
Child Queue item will have the following structure:
Item | Key Name
Work Item 1 | Test1.xlsx - 001
Work Item 2 | Test1.xlsx - 002
.
.
.
.
Work Item 5000 | Test50.xlsx - 100
While creating and handling the items in your workflow ensure that once all the items of a child queue related to the reference parent queue has been processed (either in exception or completed) state your parent queue item must always be marked as completed.
For example, if let say the following child items have been processed:
Work Item 1 | Test1.xlsx - 001 (Completed)
Work Item 2 | Test1.xlsx - 002 (Exception)
.
.
.
Work Item 99 | Test1.xlsx - 99 (Completed)
Work Item 100 | Test1.xlsx - 100 (Exception)
Then we need to mark the following item in parent queue as completed:
Work Item 1 | Test1.xlsx (Completed)
You can refer to the following thread as well for more such insights that I've provided:
Queue Best Practices and let me know as well in case you need any further clarity,
------------------------------
----------------------------------
Hope it helps you out and if my solution resolves your query, then please mark it as the 'Best Answer' so that the others members in the community having similar problem statement can track the answer easily in future
Regards,
Devneet Mohanty
Intelligent Process Automation Consultant | Sr. Consultant - Automation Developer,
Wonderbotz India Pvt. Ltd.
Blue Prism Community MVP | Blue Prism 7x Certified Professional
Website:
https://devneet.github.io/Email: devneetmohanty07@gmail.com
----------------------------------
------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
Hope this helps you out and if so, please mark the current thread as the 'Answer', so others can refer to the same for reference in future.
Regards,
Devneet Mohanty,
SS&C Blueprism Community MVP 2024,
Automation Architect,
Wonderbotz India Pvt. Ltd.