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
10 subscribers
Views
3259 views
Users
0 members are here
Share
More
Cancel
Related Discussions
Home
»
Discussions
»
Data and Records
I have a process model that has a CDT as a parameter. I have a Data Source
nickh647
over 8 years ago
I have a process model that has a CDT as a parameter.
I have a Data Source Entity backed record that is using that CDT to define the record type.
Fields of this data type are available for use with the "record field" (rf!) domain.
Is there a way to pass the entire CDT as a parameter as a related action?
Or do I need to just use a query rule to pass the data - (i.e. rule!EX_getCDT(rf!ID) )
OriginalPostID-179498
OriginalPostID-179498
Discussion posts and replies are publicly visible
0
PhilB
A Score Level 1
over 8 years ago
I guess you could try constructing the CDT using a type constructor and the rf! fields - something like:
type!myCDT(
id: rf!id,
field1: rf!field1,
someValue: rf!someValue
)
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
nickh647
over 8 years ago
Thanks! That's not a bad idea. I'm only trying to avoid querying the DB since we already have the data available.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
ajinkyab277
Certified Lead Developer
over 8 years ago
I reckon using query rule or query entity is better approach , as with in flight CDT approach each time u need update your expression to scatter it for CDT change.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
Shyam Bommakanti
Certified Lead Developer
over 8 years ago
I suggest create a rule that takes the CDT and individual CDT attribute values and construct and return the CDT from the rule. The CDT input will be null, it will only help you in checking precedents when the CDT is updated.
But, again it will be manual step to update the rule.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
PhilB
A Score Level 1
over 8 years ago
To be honest, the correct solution is probably to change the process model to use an ID as an input, and then retrieve the CDT within the process if it's required. Alternatively, wrap the existing process model in a process which accepts an ID, queries the database for the CDT and then starts the existing process.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel