We are facing an issue with Process Upgrade and CDT versioning in active process instances.
We have a process model that contains a process variable of type Comentarios.
Comentarios
Recently, we added a new field to the Comentarios CDT. As a result:
Comentarios^4
The upgrade fails because the source process instances have the process variable using Comentarios^4, while the target process model has the same process variable using the latest Comentarios CDT version.
The error indicates that the process upgrade is not compatible because the CDT type/version is different.
From the official Process Upgrade documentation, I understand that the target process model must contain all PVs from the source model matched by name, type, and multiplicity, and that a CDT version difference is treated as a different type.
What is the recommended Appian pattern for this situation?
Specifically:
We want to understand the standard Appian-recommended approach for long-running process instances when a CDT evolves, especially when the CDT is used in process variables and blocks Process Upgrade.
Any guidance, real-world patterns, or Appian best practices would be appreciated.
Thanks.
Discussion posts and replies are publicly visible
Process Upgrade requires PV name, type, and multiplicity to match exactly. A CDT version change (Comentarios^4 vs latest) is treated as a different type — upgrade will fail. This is confirmed behavior.
There could be different ways to tackle it and not knowing details of your use case I am suggesting a safer approach if you don't want to terminate all existing process instances.
Create a temporary intermediate process model that:
Has PVs typed as Comentarios^4 (matching source instances)Maps and transforms data to latest CDT versionThen upgrades to final target model