<?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>Process Variable Consistency Across Parallel Flows and Exception Handling in Appian</title><link>https://community.appian.com/discussions/f/process/40386/process-variable-consistency-across-parallel-flows-and-exception-handling-in-appian</link><description>Hi all, 
 
 I have a question about process variables behavior in parallel flows and exception handling. 
 
 Scenario: 
 - The parent process has a process variable (pv!x) initialized with value = 5. 
 - The process splits into two parallel branches.</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: Process Variable Consistency Across Parallel Flows and Exception Handling in Appian</title><link>https://community.appian.com/thread/154483?ContentTypeID=1</link><pubDate>Sat, 02 May 2026 14:29:55 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:af73e9e3-7c35-46a9-8910-2061bca52635</guid><dc:creator>Harsha Sharma</dc:creator><description>&lt;p&gt;When the flow reaches the user input task in Branch B, depending on whether pv!x was already updated in Branch A or not the value passed to task node will vary.&amp;nbsp;&lt;br /&gt;1. If pv!x is updated to 6 before user input task started then branch B will pass 6 to the task&lt;/p&gt;
&lt;p&gt;2. If pv!x was not updated to 6 and user input task starts in Branch B then 5 will be passed to the task.&lt;/p&gt;
&lt;p&gt;3. In both the cases however as soon as branch A updates the pv!x to 6 Branch B will see the updated value as the variable referenced is the common and not a copy or reference.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Overall in terms of value passed to task depends in timing of the flow in parallel. But in process at any point of time or Branch, pv&amp;nbsp;will hold one value only - 5 or 6! Child nodes can have older or newer value depending on the sequence they occur.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Process Variable Consistency Across Parallel Flows and Exception Handling in Appian</title><link>https://community.appian.com/thread/154476?ContentTypeID=1</link><pubDate>Fri, 01 May 2026 21:09:23 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:6850d18d-86ca-4b8f-a9ee-331dc9677423</guid><dc:creator>manojtumulu</dc:creator><description>&lt;p&gt;Within a single process model, process variables (PVs) are global in scope. So, if Branch A updates pv!x to 6, then Branch B will see pv!x = 6, assuming the update has already occurred, because both branches are working on the same shared process state.&lt;/p&gt;
&lt;p&gt;However, when you introduce a subprocess (child process) in a branch, the behavior is different.&amp;nbsp;At the moment the subprocess starts, it receives a copy of the process variable values from the parent.&lt;br /&gt;If pv!x is still 5 at that time, the subprocess will receive 5, even if the parent updates pv!x to 6 later.&lt;br /&gt;&lt;br /&gt;Therefore, subprocess interactions behave like pass-by-value, not pass-by-reference. Because:&lt;br /&gt;The child process receives a snapshot of the data at invocation time and&amp;nbsp;It does not automatically see future updates made in the parent process.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Process Variable Consistency Across Parallel Flows and Exception Handling in Appian</title><link>https://community.appian.com/thread/154466?ContentTypeID=1</link><pubDate>Fri, 01 May 2026 16:27:53 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:1f75c221-f0ce-4fbc-ad50-fdf20fb0996f</guid><dc:creator>Stefan Helzle</dc:creator><description>&lt;p&gt;What exactly do you mean with &amp;quot;branch&amp;quot; and &amp;quot;parent process&amp;quot;? Is this about a single model with a AND or XOR flow?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Process Variable Consistency Across Parallel Flows and Exception Handling in Appian</title><link>https://community.appian.com/thread/154456?ContentTypeID=1</link><pubDate>Thu, 30 Apr 2026 15:40:44 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:9d7a6b71-54ee-4f59-ac07-31c01cfd2038</guid><dc:creator>Shubham Aware</dc:creator><description>&lt;p&gt;Branch B will see pv!x = 6.&lt;br /&gt;Process variables are shared across the entire process instance - not scoped per branch. When any branch (or node) updates a PV, the change is immediately visible to all other active branches, including Branch B, even if it&amp;#39;s mid-task or in an exception flow.&lt;br /&gt;PVs are global to the process instance.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>