Is it possible to have two reference in an add queue item?

What I want to do:

I am using REFramework for this. I am creating a dispatcher. So I have data’s loaded into the queue, basically I want “Course Name” and “Requestor” to not have duplicate values. Say for example I have a “Requestor”= Kevin and a “Course Name” = A day in the life of an RPA developer in the queue.

In the next transaction items to be processed:
2) “Requestor” = Kevin , “Course Name” = Best practice → should be able to load to the queue
3) “Requestor” = Winter, “Course Name” = A day in the life of an RPA developer → should be able to load to the queue
4) “Requestor”= Kevin and a “Course Name” = A day in the life of an RPA developer in the queue. → Not possible to load to the queue. Tag as duplicate.

What I tried:
I created a list of objects containing the following
in_TransactionItem(“CourseName”).ToString , in_TransactionItem(“Requestor”).ToString

problem with this approach is if “CourseName” or “Requestor” is present in the queue, it will tag it as duplicate.

For example if Kevin is present, it will always be tagged as duplicate regardless of any CourseName you put and also vice versa.

@kevin.jeronne.d.gador

You can use the combination as key

In reference field you can add requestor + Coursename

So your reference will be kevin best practice

Hope this helps

Cheers

Hello @Anil_G unforunately it did not work. Once it saw Kevin, it immediately tagged it as duplicate. Even though the course name is best practice.

@kevin.jeronne.d.gador

What did you add in reference field?

You need to add this combined string in reference…and in queue unique reference is to be enabled

Cheers

1 Like

hello yes it is enabled.

kindly see my table
inputfiletest

this are the exact values I typed in the reference property.

see the picture of the debug below. It failed on transaction 2, since the requestor value is Kevin

@kevin.jeronne.d.gador

May I know what youa re trying…did you check the queue for the reference name?

Ideally you are showing me a table …which should ideally be read into datatable…and accessed like dt.Rows(0)(0).ToString for the first row first cell…

Like this change the the values and get the values needed…

May be you stored a value in your config and you are trying to give a constant reference…which would not help

If you need to add each row…

Then run a for each row in datatable and use add queue item inside loop and in reference pass currentrow(0).ToString + currentrow(1).ToString

Cheers

1 Like

1 row is considered as a Transaction_Item. Basically Transaction Item 1 is the first row, Transaction Item 2 is the second row.

Okay I get your point. I tried that earlier but in this format. For the value in the config its just referring to the column name of H and I.

I tried this one which is equivalent to the one you stated currentRow(0).ToString + currentRow(1).ToString since in_TransactionItem is a DataRow type.

in_TransactionItem(in_Config(“RequiredColumnH”).ToString) + in_TransactionItem(in_Config(“RequiredColumnI”).ToString)

there is an error "Option Strict On prohibits operands of type Object for operator “+”

@kevin.jeronne.d.gador

Please try this

in_TransactionItem(in_Config(“RequiredColumnH”).ToString).ToString + in_TransactionItem(in_Config(“RequiredColumnI”).ToString).ToString

You need to cast this as well to string

Cheers

Hi @kevin.jeronne.d.gador, I see duplicate data in row 2 and 4 as per this screenshot. Can you please check if that’s causing the issue?

this has worked with the following test. Thank you @Anil_G

image

Row 4 was not uploaded to the queue as it is a duplicate. Thanks again :tada:

1 Like

hello this supposed to be not a problem. Because row 4 or transaction item number 4 is not loaded to the queue yet in this case. It will only be a problem if row 2 has been uploaded to the queue. But Anil_G’s approach solved my concern. Thanks :slight_smile:

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