Overview
**NOTE: This plug-in is deprecated and no longer recommended for use for sites running on Appian 21.4 or later. The functionality of this component is available in Appian without installing the plug-in. You can use a!update() and a!keys() in Appian 21.4 or later.**
Dictionaries are one of the most useful data structures available in Appian. This plug-in provides tools to dynamically create dictionaries from key-value pairs, update dictionaries with new values (including nested dictionaries), and understand what keys are available in a dictionary to help with dynamic control.
Key Features & Functionality
FUNCTIONS
DEPRECATED FUNCTIONS
Version 2.0.1 resolves this issue. I recommend upgrading.
Try to do createdictionary( {"a","b"}, {"d",createdictionary({"e"},{"f"})})
Do you have the latest version of the plugin? The Customer Success team is working on addressing the deprecated APIs for this plugin but I think the latest version is up-to-date.
Hi Daniel,
Thank you for this plug-in, we have used it extensively in live environments...
Recently we started getting a high risk item in health check report for dictionary manipulation plug-in for version 2.0.0
Dictionary Manipulation (com.appiancorp.cdtmanipulation) references private Appian APIs[private] com.appiancorp.type.DataTypeProperties.getTypeof()[private] com.appiancorp.type.DataTypeProperties.isListType()
Can you please advise if this is removed or will be removed in future version of this plug-in?
Thank you,
Kunal
Having a problem with createDictionary. What if a dictionary value is a list?
Ex) createDictionary({key1,key2},{value1,{value2a,value2b}} I get an error saying there is a mismatch of of keys and values
Hi
updateCdt was deprecated and replaced with updateDictionary. You should upgrade the plug-in and use updateDictionary.
Hello,I've started facing issues with updateCdt function after upgradation to the 20.2 Appian version.Is this function not compatible with the 20.2 version of Appian?(I've version 1.2.0 plug-in installed, do I've to upgrade plug-in with the most latest version?)And do updateCdt and updateDictionary function in the same way?Please help.
You can't pass a list of dictionary into the expression, instead do:
a!forEach( items: { { A1: 0, test: 01 }, { A1: 0, test: 01 }, { A1: 0, test: 01 } }, expression: updatedictionary( fv!item, { A1: 1 } ))
@ilan.gold
the function "updatedictionary" is throwing
error:Expression evaluation error at function 'updatedictionary': Could not cast from List of Dictionary to Dictionary. Details: CastInvalidCould not cast from List of Dictionary to Dictionary. Details: CastInvalid
for below code :( i am trying to update "multiple cdt/array cdt" )
updatedictionary( dictionary: { { A1: 0, test: 01 }, { A1: 0, test: 01 }, { A1: 0, test: 01 } }, fieldsAndValues: { A1: { 1, 1, 1 } })
What is the need to have the keys in a particular order? The behavior of Appian objects & dictionaries is that there really is no concept of order among the keys. If you need a particular order, I'd recommend using a different data structure than just dictionary.