I have gone through the steps that they have provided us to follow. However, I can manage to get Queue in the current project with transaction but when i fetch the TransactionItem.SpecificContent( “” ), It will throw me an error.
Message: The given key was not present in the dictionary.
I am using following syntax in my project. cint(TransactionItemData.SpecificContent(“Income”))
Again, I have found one point that in step 5 : Click the TransactionItem field and press Ctrl K to create a new variable of type Transaction Item.
But when i am creating the variable using ctrl + k, it was created of type “QueueItem” instead of “TransactionItem”. And when i am trying to change the variable type to “System.Transactions.Transaction”, it will throw me an error.
Kindly help me out with this, I am stuck in this tutorial.
Hi prankurjoshi,
Thank you for your prompt response.
I have tried this by removing the queue and again push the item.
But still i am facing the same issue.
Firstly, the datatype of “TransactionItem” needs to remain QueueItem to process items from an Orchestrator queue, as .SpecificContent is a function which grabs elements or variables attached to a single queue item.
Secondly, for the “Get Transaction Item” activity, have you correctly configured the input queue to match the name of yours that you created?
Lastly, is your “TransactionItemData” the name of the variable you’re using for the TransactionItems or did you create two variables - one TransactionItem and one TransactionItemData? If you did create 2 different variables, seems like the problem may lay here & be resolved by changing the assigns to :
Do i need to create TransactionItem and TransactionItemData two separate variables?
Currently i am having only one variable named TransactionItemData of “QueueItem” type.
if i need to use TransactionItem, then what is the type of this variable and what value should be assigned in the this variable.
What you got is correct, it should be QueueItem type only. Dont change that.
So the output variable of your GetTransationItem activity is now TransactionItem which is of type QueueItem
Now that you have done the above, next in the assign to the int32 variable you have, say income
income = cint(TransactionItem.SpecificContent(“Income”))
@nadim.warsi He’s using “TransactionItemData” in place of “TransactionItem” in his code. Should probably leave it as is since “TransactionItem” is a predefined variable & argument in REFramework.
I’m also having the same problem. I tried Nadim’s fix of cint(TransactionItem.SpecificContent(“Income”)) but this just made the error change to "Conversion from String Incomes to Type Integer is Invalid
In the assign activity you have the value cint(TransactionItem.SpecificContent(“Incomes”))
That error message means that the TransactionItem does not have a a field names “Incomes”. Maybe the extra “s” at the end?
Please check in Orchestrator, queue names “Queue” and make sure the string you use for SpecificContent is exactly as in transaction item details → Specific Data.
How can I assign to a variable the TransactionItem.SpecificContent( “Mail” ) if “Mail” is of System.Mail.Mailitem type ?
Something like this Mailitem = …TransactionItem.SpecificContent( “Mail” )…