"Get Transaction Item" based on Specific Data

Hello,

I cannot seem to figure out a way to get a transaction item from a Queue, check a few fields, and if they match a specific criteria, process them, if they don’t - put them back in the queue and move on to the next one.
Is it possible to do that without splitting the queues?

Thank you!

@SSavickas
With which Version are you working?
Fields to Check are from specialContent?
how has you handled Item ID Reference when Item is added to Queue?

2019.4.4, and yes, I have to check the “Specific Data”, and there is no reference being set unfortunately.
Can I filter the transaction items by reference though?

@SSavickas
Have a Look on this and Kindl Note the Option to Filter with the ID Reference information

Have a Look on another activity

The Basic Idea is:
Retrieve with get Queue items (applying some Filter Option If possible) some items
Evaluate the items and identify the Item of choice
Retrieve this Item with get Queue item and using ID Reference Info

Unfortunately you Dont have ID Reference available (you told) maybe you can implement or have a Look on orchestrator Rest API If you can use additional for identifications

If you use the Get Queue Items activity, this will give you an enumerable or array of the queue items, which then you can reference the items by any condition you would like.

You could use a loop, but using linq, you can do this where it matches the content of the item with an item in a row:
item = queueitems.Where(Function(q) q.SpecialContent("value").ToString.ToUpper.Trim = row("columnname").ToString.ToUpper.Trim)

Then, in newer versions I think you can use reference in Get Transaction Item.
item.Reference

Maybe this will give you an idea how to do this. - by the way, I haven’t done this, but I feel this would be the way.

Regards.

1 Like

I didn’t read your initial post and question. To process items by specific criteria, you may opt to simply place a condition in your Process workflow where it processes each transaction item, and just look at the specific content like in_TransactionItem.SpecialContent("value").ToString.ToUpper.Trim = value.ToUpper.Trim

Then, set the transaction status accordingly.

Regards.

1 Like

So “Get Queue Items” seemed like what I needed, but the maximum of 100 items is a bit of a problem as well.
I ended up working around this with setting a reference, and then getting the items by reference. Isn’t exactly how I wanted it to work, and my workflow needed some rework, but hey, it works.

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