Hello All,
I have loaded the data as a queue item (Dispatcher), but in Performer I am not able to assign by using Multiple Assign. In debug you can see that its showing all the values “NULL” to every Queue Item.
What might have gone Wrong?
Hello All,
I have loaded the data as a queue item (Dispatcher), but in Performer I am not able to assign by using Multiple Assign. In debug you can see that its showing all the values “NULL” to every Queue Item.
What might have gone Wrong?
Check the values of the in_transactionitem.specificcontent dictionary itself in the debug window.
Common mistake I make when developing: getting older transaction items that do not contain the new values yet
Also make sure your keys match exactly. They are case sensitive.
Hi @Anirudh_Tugawe ,
Thanks for reaching out.
Happy Automation,
@Vinit_Kawle
its showing App Exception
it shows app exception
Can you try using the below in the value field of the assign
If(in_TransactionItem.SpecificContent(“your key name”) Is Nothing,String.Empty,in_TransactionItem.SpecificContent(“your key name”).ToString)
Happy Automation,
@Vinit_Kawle
Key is the same, I purposely deleted the old key, created a new one and used it in Config but still i am getting issues with the queue item in Performer its not taking the values
Why are you doing this? There is no reason to assign all the transaction item values to variables. Just reference the transaction item wherever you need the values.
Oh, this is something new for me now, but it sounds interesting! I have been struggling since yesterday still stuck with the assign
why it be saying this? All the data is loaded in the queue properly but for performer its throws the error.
please guide me
I watched in couple of videos that in Performer when we have to take values from the queue we need to assign the values and also put the queue name from the orchestrator and put in the Config right?
Are you directly running one of the sub XAMLs instead of the entire project? You can’t do that, because then in_transactionItem is not passed into the sub XAML. Run from Main.
we have to take values from the queue we need to assign the values
No. You don’t have to assign the transaction values to individual variables. You can just reference in_TransactionItem.SpecificContent(“some key name”).ToString anywhere you need it.
and also put the queue name from the orchestrator and put in the Config right?
Yes
Yes I was running from the main itself, I did the first work flow and wanted to see does it carries any value or not. I know its incomplete so added a break point.
What I’m saying is you don’t need the individual assigns. They are unnecessary. Whenever you need the job title value (ie in a Type Into, Log Message, any other activity) just use in_TransactionItem.SpecificContent(“Job title”).ToString
You’re making extra work for yourself by creating all these extra variables.
I have to disagree. Alright, if the value is required just once, it’s indeed extra work. But, let’s say the same value is needed in multiple workflows. Then every time you want to use the value you need to type the long formula and remember the field name in Orchestrator queue, or copy it (and in that case you need to remember where to find it ). By creating variables, you have some extra one-time work but will benefit from it in the long run.
@Anirudh_Tugawe: As was suggested above, check in debug mode what your in_TransactionItem
dictionary contains. Perhaps you have a typo in the keys.
Okay, i will try this, but here is the variable I have to use it a couple of times so I was creating the variables of it.
How is that any different than typing the variable name every time, having to manage all those variables and their scopes, remember the variable name, etc?
I’ve done dozens of these kind of automations. You’re making unnecessary work and complication for yourself.
If it’s required in multiple workflows, then you’d need to pass it back and forth in an argument anyway, which is exactly where variable types like this come in handy; you can pass in the Transaction Item, Config file, etc as one single argument and from that extract many different values without the need for a separate argument for each.
There’s scenarios where it can be useful to put them into variables, but IMO I much prefer to keep them in their wrap around state like in the TransactionItem variable.