Set Transaction Item

I just learned about the Set Transaction Item and created in the Properties Window for the Input section, an Output for “CustomerStatus” with a value of “Created”.

I can see the value when I click on View Details in Orchestrator queue,

I would like to display the Output value in either a Message Box or Log Message but when I attempt to use the following code

TheTransaction.Output(“CustomerStatus”).ToString

I get the following exception, which I thought meant that the value of Output was empty, but it
appears not be in the View Details. Any suggestions what I am doing wrong?

MaryB

Buddy @MaryB2019
you are actually going good
but use like this
TheTransaction.SpecificContent(“CustomerStatus”) and make sure that you specify the correct queue name while getting the transaction item and type should be list
Thats all buddy you are done
Cheers @MaryB2019

@MaryB2019 I tested using transactionItem.Output("key").ToString on my end and it worked.
image
image

using SpecificContent() should only be used for the Specific data of the item.

For your error, I would check that your transaction item has something, like TheTransaction is Nothing

Regards

1 Like

@MaryB2019 Oh also, if the transaction item does not have any output, you will get that error message. So you will want to check that it has output prior.

EDIT: HERE IS CODE TO CHECK THAT OUTPUT IS IN THE ITEM
image

Not sure I explained very well what I did. I first used the Add Transaction Item, created an Output variable called TheTransaction, then in the Collection I created this argument.

When I print display TheTransaction.SpecificContent(“FirstName”).ToString, it displays fine.
The next activity I use is the Set Transaction Status, here is the Input section screen shot

Here is the “Output” value collection I then created.

When I attempt to display the Output collection in a Log Message

I get the exception

hope that is a bit more clear.

MaryB

Thank you, I did add an If block to check and it fell through the Else so it must be Null. But why when in Orchestrator I click on View Details it shows the following

MaryB

I suggest looking at the Reference of TheTransaction to make sure you are looking at the right item.

Clayton,

Thanks for taking the time to help, I am very new to UI Path and I’m trying but I still have not figured out what I am doing wrong. I created a new project to duplicate your results and here are the steps I took.

First I used the “Add Transaction Item” and used a Reference “Testing”

Next, I Set Transaction Status

This is the collection argument I created

Then I added a couple of If blocks to check for Nothing

I added 2 log messages, one to show you the statement I used in the second Log which is causing the exception as you can see in the Output window.

Here is the Orchestrator Detail view which shows the reference. I ran it a number of times with various scenarios and none worked.

This is what my variable looks like.

I don’t want to waste any more of your time so if nothing looks weird to you, thanks for all the help so far.

MaryB

Your code looks correct from my perspective. If I get a chance I can duplicate what you did and compare my results.

I would suggest you make sure you don’t have an argument with the same name as the variable TheTransactionItem; sometimes that can cause issues too.

You could also try tech support cause they might be able to remote in and troubleshoot directly: https://www.uipath.com/company/contact-us/contact-technical-support

Regards.

I checked Clayton and no Argument named as the variable, unfortunately. As for tech support I will contact them but since I am using the Community Edition as a developer, I didn’t think they allowed access to them.
You know this almost seems like the error I would get in C# when I didn’t place a collection in a valid state before referencing it but I didn’t see anything in my course that addressed that.
Thanks again for the help, the topic of Queues and Transactions is new to me so I am out of ideas.
Please don’t spend more time on this, I will keep searching and let you know when I find the answer. I will go back to UI Path documentation and see if I can find some examples of the Set Transaction Status usage.

MaryB

Hi Clayton, I am facing same issue while retrieving output data from Queue.
Earlier you mentioned about “Transaction Item is nothing” in Decision box , i have mentioned but we are setting this output value in Set Transaction status Activity as input Argument right.I am trying to get value after making current Transaction Item status to Successfully, may be this causing null pointer exception.
So, when you are trying retrieve this output value from queue after setting the value ?
Could you please confirm on the same .

Hi Marry,

I have figured it and able to get output from Queue.
Use get Queue Items activity and take output in to Queue variable “QueueItems” and use For each activity(Argument Type as Uipath.core.QueueItem) using write line with exp as “item.Output(“Status”).ToString” to print value.

Thanks.