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
17 replies
Subscribers
6 subscribers
Views
8837 views
Users
0 members are here
Share
More
Cancel
Related Discussions
Home
»
Discussions
»
Process
I recently updated a CDT, which is referenced in a process model subprocess. The
danielh366
over 11 years ago
I recently updated a CDT, which is referenced in a process model subprocess. The CDT is passed by reference to the subprocess.
Existing processes on my development server are now broken because they can't call the subprocess with the older version of the CDT. The error message reads: "The following process process parameters were of the incorrect type: ...". The newer version has minimal changes: I just updated the VARCHAR size of a text field.
I have never had issues like this before, even when adding new fields to a CDT. I am very concerned about pushing this build to our production server. Is this a problem with Appian 7.2? Is there any way I can fix the broken processes?...
OriginalPostID-71541
OriginalPostID-71541
Discussion posts and replies are publicly visible
0
danielh366
over 11 years ago
The problem text on the generated alert reads: "The sub-process could not be started because the input mapping contained process parameters with incorrect types. "
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
danielh366
over 11 years ago
The recommendation reads: "Modify the input mapping and start a new instance of the sub-process node."
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
danielh366
over 11 years ago
I hope I don't have to do that for all processes that reference the previous version of the CDT!
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
danielh366
over 11 years ago
I tried modifying the input mapping on the sub-process node, but there is no way to map the existing process variables to the latest type of CDT expected by the sub-process node.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
danielh366
over 11 years ago
I did notice in the XSD for the updated CDT, that besides the updated VARCHAR length there was a differing <xsd:schema/> parameter.
Instead of reading "xmlns:types1=..." like on the DEV server, it reads: "xmlns:types2=..." on PROD.
But all the CDT's seem to have similar variations.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
akhilan
over 11 years ago
CDTs should not be passed by reference as they result in the issues that you are now experiencing. Appian's documentation mentions this specifically. Here is the reference -
forum.appian.com/.../Sub-Process_Activity
Check the Restrictions section in the above link.
There are quite a few earlier posts related to this. Here is one of those reference posts -
forum.appian.com/.../
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
danielh366
over 11 years ago
It's odd that I haven't experienced this before. Can I change the CDT XSD back to avoid problems during a push?
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
Mike Schmitt
Certified Lead Developer
over 11 years ago
Out of curiosity, did you run impact analysis on the updated CDT? (i guess this wouldn't apply if you're talking about running instances, but I'm unclear as to whether you are or not)
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
danielh366
over 11 years ago
I always run impact analysis, and then update. In addition to that I usually check the application dependencies to make sure there isn't a dependency on a previous version of the CDT: someCdt^7 for instance.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
danielh366
over 11 years ago
This particular application relies on CDT's by reference because the process contains inner loops: one Review to many Review Stages, one Stage to many Cycles.
It's absolutely necessary to encapsulate the stages and cycles as sub-processes, and it's also necessary that the base process model be updated real time with the changes to the CDT's from each cycle.
When I decided to pass by reference, it seemed like the right decision because of the nature of this particular business process and because the CDT's can be large and I wanted to conserve memory usage.
Fortunately these CDT's are pretty static. I hope I can reverse the changes by reverting the XSD's or I'm going to have a very big problem with production processes.
I wish the warning not to pass CDT's by reference wasn't buried in the documentation. I went to training AND read through the docs when I started developing on the platform, and still somehow missed this.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
>