<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.appian.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>What happens If we add one column into cdt how that will be affected to running processes ?</title><link>https://community.appian.com/discussions/f/data/20778/what-happens-if-we-add-one-column-into-cdt-how-that-will-be-affected-to-running-processes</link><description>Hi Friends, 
 How to handle inflight processes when we update CDT and release the same to prod ? 
 
 Regards 
 Ravi Babu.</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: What happens If we add one column into cdt how that will be affected to running processes ?</title><link>https://community.appian.com/thread/80968?ContentTypeID=1</link><pubDate>Thu, 15 Apr 2021 15:09:36 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:f9d96612-bd5d-4146-9dce-71ebcb53d75a</guid><dc:creator>Chris</dc:creator><description>&lt;p&gt;To add, neither the Process Upgrade service or IFM Manager plugin (only methods to update running process instances), will update CDT types.&lt;/p&gt;
&lt;p&gt;I typically record a &amp;quot;version&amp;quot; integer field with all of my primary CDTs.&amp;nbsp; This is stored to the CDT at the beginning of the process model.&amp;nbsp; When a new field is added, update the version setting in the process model.&amp;nbsp; In this example, we added &amp;quot;field2&amp;quot; and updated the version to 2.&amp;nbsp; Any interface in the process that references the new field will only show it if the version is &amp;gt; 1 (new processes) as:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="csharp"&gt;a!localVariables(
  local!version: property(ri!CDT,&amp;quot;version&amp;quot;,1),
  {
    a!textField(
      label: &amp;quot;Field 1&amp;quot;,
      value: ri!CDT.field1,
      saveInto: ri!CDT.field1
    ),
    a!textField(
      label: &amp;quot;Field 2&amp;quot;,
      showWhen: local!version&amp;gt;1, /* new field at v2! */
      value: ri!CDT.field2,
      saveInto: ri!CDT.field2
    )
  }
)&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: What happens If we add one column into cdt how that will be affected to running processes ?</title><link>https://community.appian.com/thread/80952?ContentTypeID=1</link><pubDate>Thu, 15 Apr 2021 05:21:02 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:ff35d6c3-db96-46a9-9707-5257ee7d918b</guid><dc:creator>Harsha Sharma</dc:creator><description>&lt;p&gt;When CDT&amp;#39;s are updated all the inflight processes are not affected by the change as they run on the older version of the CDT. E.g. sya when you add one column to the CDT, the inflight proccess&amp;#39;s CDT will still run on the version which didnt have that column.&lt;/p&gt;
&lt;p&gt;But the rules- interface/expressions they take in the CDT change as soon as the CDT is modified. So when inflights call any expression/interface rule latest CDT version is called by an older process&amp;#39;s CDT version.&lt;/p&gt;
&lt;p&gt;TO handle this,&lt;/p&gt;
&lt;p&gt;1. Always Keyword syntax should be used when rules are called from a process or an interface. In general, whenever a rule should be called use keyword syntax to pass the parameters.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2. Always have null checks within the rule to handle null data.&lt;/p&gt;
&lt;p&gt;There are few practices related to process models too - deigning scalable process models by breaking them into sub-processes and have as few nodes as possible in a process so that as soon s subprocess is triggered the latest CDT changes can take effect and there remains minimum number of processes with older version of CDT.&lt;/p&gt;
&lt;p&gt;On the other hand, to handle&amp;nbsp;the negative effect due to&amp;nbsp;changes on inflights if the above measures were not taken initially, we have smart services or plugins that can be explored to correct those said instances, so that all the inflight processes can keep running without any errors.&lt;/p&gt;
&lt;p&gt;Hope this helps.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>