Appian Community
Site
Search
Sign In/Register
Site
Search
User
DISCUSS
LEARN
SUCCESS
SUPPORT
Documentation
AppMarket
More
Cancel
I'm looking for ...
State
Not Answered
Replies
5 replies
Subscribers
5 subscribers
Views
3042 views
Users
0 members are here
Share
More
Cancel
Related Discussions
Home
»
Discussions
»
Plug-Ins
How can we update the nested CDT values with IFM? I have used follow
Vinod Bongoni
Certified Lead Developer
over 8 years ago
How can we update the nested CDT values with IFM?
I have used following queries to update the nested CDT(as attached) values with IFM but no query is worked.
=UPDATE_PMI 144 SET PV test = [{five:1,test2: {three:2,four:3,test1: {one:4,two:5}}}]
It is updating the PV 'test' with null. And, I have also tried with many possible ways to update a nested CDT variable like
={"UPDATE_PMI 144 SET PV test.test2.test1.one = [10001234]"}
={"UPDATE_PMI 268435724 SET PV test.test2.test1[1].one = [10001234]"}
={"UPDATE_PMI 144 SET PV test.rndTest2.rndTest1 = [{id=10001234}]"}
In all these cases, it's throwing "class java.lang.ArrayIndexOutOfBoundsException" and "Expression evaluation error : Variable '!id' not found." execeptions.
And,
"UPDATE_PMI 536871922 SET PV test3 = [1,{2,3,{4,5}}]",
"UPDATE_PMI 536871922 SET PV test3 = ["&"""[five=1,test2=[three=2,four=3,test1=[one=4,two=5]]]"""&"]",
"UPDATE_PMI 536871922 SET PV test3 = [[five=1, te...
OriginalPostID-166188
OriginalPostID-166188
Discussion posts and replies are publicly visible
Parents
0
James Carter
Appian Employee
over 8 years ago
IFM Manager has limited support for CDTs, it doesn't work well with nested multiples. The way around it is to update the whole CDT, or a high level part of the CDT before nested multiples are used.
In the process with the IFM node:
1. Use a script task to create a version of "test" (the test3 top level CDT) that represents the values you want to set
2. Use the externalize function on that CDT and save into pv!externTest3
3. Then in the IFM node: UPDATE_PMI 536871922 SET PV test3 = [internalize(" + pv!externTest3 +")]
It will cause the externalized string to be converted back to it's real CDT value and update the process with that value.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
Reply
0
James Carter
Appian Employee
over 8 years ago
IFM Manager has limited support for CDTs, it doesn't work well with nested multiples. The way around it is to update the whole CDT, or a high level part of the CDT before nested multiples are used.
In the process with the IFM node:
1. Use a script task to create a version of "test" (the test3 top level CDT) that represents the values you want to set
2. Use the externalize function on that CDT and save into pv!externTest3
3. Then in the IFM node: UPDATE_PMI 536871922 SET PV test3 = [internalize(" + pv!externTest3 +")]
It will cause the externalized string to be converted back to it's real CDT value and update the process with that value.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
Children
No Data