<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Possible Data Item initialization bug affecting InStr() in Product Forum</title>
    <link>https://community.blueprism.com/t5/Product-Forum/Possible-Data-Item-initialization-bug-affecting-InStr/m-p/123213#M53952</link>
    <description>&lt;P&gt;&lt;STRONG&gt;Update / Additional Findings&lt;/STRONG&gt;&lt;BR /&gt;I’ve added a minimal reproducible example to isolate the issue even further.&lt;BR /&gt;This shows that the problem is not related to InStr(), but seems to occur whenever a Collection field is used in a Decision before being “initialized” (just my opinion) by opening it in the editor.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Reproduction Steps&lt;/STRONG&gt;&lt;BR /&gt;1. Create a simple CSV file:&lt;BR /&gt;a,b,c,Vorname_1_Person&lt;BR /&gt;1,2,3,Jonas&lt;BR /&gt;&lt;BR /&gt;2.Use the following Code Stage snippet to read it into a Collection called [Output Collection].&lt;BR /&gt;(Just drop this code into any Process Studio page and run it — it only loads the CSV into the collection. And Proof in a Decision stage named Proof Name with the expression:&lt;BR /&gt;"Jonas" = [Output Collection.Vorname_1_Person]&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Observed Behavior&lt;/STRONG&gt;&lt;BR /&gt;When the process runs normally, the Decision always returns False.&lt;BR /&gt;When I open the same Decision and click “Evaluate Expression”, it returns True.&lt;BR /&gt;In "View Data Item Watches", [Output Collection.Vorname_1_Person] clearly shows "Jonas".&lt;BR /&gt;The result remains False until I manually open the Output Collection (no need to switch to Current Values — just open and press OK).&lt;BR /&gt;If I open it and then click Cancel, the issue persists. Only confirming with OK initializes it correctly.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Conclusion&lt;/STRONG&gt;&lt;BR /&gt;This strongly suggests that the issue is not tied to InStr() or data type conversion,&lt;BR /&gt;but rather that Collection fields are not internally initialized for evaluation in Decisions until the Collection is opened and confirmed once.&lt;BR /&gt;If anyone from Blue Prism or the community can confirm this behavior or knows a reliable way to “force initialize” a collection programmatically, that would be extremely helpful.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;&amp;lt;process name="__selection__testprocess1"&amp;gt;&amp;lt;stage stageid="1d261c63-af05-43fc-bee9-5c10cc9b2d41" name="Proof Name" type="Decision"&amp;gt;&amp;lt;display x="-90" y="330" /&amp;gt;&amp;lt;decision expression="&amp;amp;quot;Jonas&amp;amp;quot; = [Output Collection.Vorname_1_Person]" /&amp;gt;&amp;lt;onfalse&amp;gt;23d433c2-be03-4ab1-a795-bad5c4890464&amp;lt;/onfalse&amp;gt;&amp;lt;/stage&amp;gt;&amp;lt;stage stageid="23d433c2-be03-4ab1-a795-bad5c4890464" name="Anchor1" type="Anchor"&amp;gt;&amp;lt;loginhibit onsuccess="true" /&amp;gt;&amp;lt;display x="45" y="330" w="10" h="10" /&amp;gt;&amp;lt;/stage&amp;gt;&amp;lt;stage stageid="654855aa-4b91-4409-9245-5ccd15c35feb" name="Utility - Strings::Get Delimited Text As Collection" type="Action"&amp;gt;&amp;lt;loginhibit onsuccess="true" /&amp;gt;&amp;lt;display x="-90" y="270" /&amp;gt;&amp;lt;inputs&amp;gt;&amp;lt;input type="flag" name="First Row Is Header" friendlyname="First Row Is Header" narrative="Indicates whether the first row of the CSV file should be treated as headers" expr="True" /&amp;gt;&amp;lt;input type="collection" name="Schema" friendlyname="Schema" narrative="Optional. A collection of column names. If left blank the column names will be taken from the first row. " expr="" /&amp;gt;&amp;lt;input type="text" name="Delimited Text" friendlyname="Delimited Text" narrative="The delimited text to be converted into a collection" expr="[Text2]" /&amp;gt;&amp;lt;input type="text" name="Delimiter Character" friendlyname="Delimiter Character" narrative="The character used for delimiting fields in the string" expr="&amp;amp;quot;,&amp;amp;quot;" /&amp;gt;&amp;lt;/inputs&amp;gt;&amp;lt;outputs&amp;gt;&amp;lt;output type="collection" name="Output Collection" friendlyname="Output Collection" narrative="The collection converted from CSV" stage="Output Collection" /&amp;gt;&amp;lt;/outputs&amp;gt;&amp;lt;onsuccess&amp;gt;1d261c63-af05-43fc-bee9-5c10cc9b2d41&amp;lt;/onsuccess&amp;gt;&amp;lt;resource object="Utility - Strings" action="Get Delimited Text As Collection" /&amp;gt;&amp;lt;/stage&amp;gt;&amp;lt;stage stageid="a7596608-a13c-4752-a9d6-6557132daddd" name="Output Collection" type="Collection"&amp;gt;&amp;lt;display x="-165" y="270" /&amp;gt;&amp;lt;datatype&amp;gt;collection&amp;lt;/datatype&amp;gt;&amp;lt;alwaysinit /&amp;gt;&amp;lt;/stage&amp;gt;&amp;lt;stage stageid="98a36ce7-6c7f-4351-94de-3a9fcc8b439d" name="Utility - File Management::Read All Text from File" type="Action"&amp;gt;&amp;lt;loginhibit onsuccess="true" /&amp;gt;&amp;lt;display x="-90" y="-75" /&amp;gt;&amp;lt;inputs&amp;gt;&amp;lt;input type="text" name="File Name" friendlyname="File Name" narrative="The full path the file to read the text from" expr="&amp;amp;quot;C:\Users\XV86X7J\Downloads\antrag.csv&amp;amp;quot;" /&amp;gt;&amp;lt;input type="text" name="File Encoding" friendlyname="File Encoding" narrative="Optional. Defaults to UTF8" expr="" /&amp;gt;&amp;lt;input type="flag" name="Use BOM" friendlyname="Use BOM" narrative="Optional. Flag indicating whether to use Byte Order Mark with a Unicode encoding. Default is False." expr="" /&amp;gt;&amp;lt;/inputs&amp;gt;&amp;lt;outputs&amp;gt;&amp;lt;output type="flag" name="Success" friendlyname="Success" narrative="True if successful" stage="" /&amp;gt;&amp;lt;output type="text" name="Message" friendlyname="Message" narrative="An error message if unsuccessful" stage="" /&amp;gt;&amp;lt;output type="text" name="Text" friendlyname="Text" narrative="The text of the file" stage="Text" /&amp;gt;&amp;lt;/outputs&amp;gt;&amp;lt;onsuccess&amp;gt;8d7bfe2d-d9e1-4b5f-85bc-717f2b1ac669&amp;lt;/onsuccess&amp;gt;&amp;lt;resource object="Utility - File Management" action="Read All Text from File" /&amp;gt;&amp;lt;/stage&amp;gt;&amp;lt;stage stageid="0f6b3ecb-a219-46fc-9416-21778cdf3a14" name="Text" type="Data"&amp;gt;&amp;lt;display x="-165" y="-75" /&amp;gt;&amp;lt;datatype&amp;gt;text&amp;lt;/datatype&amp;gt;&amp;lt;initialvalue /&amp;gt;&amp;lt;private /&amp;gt;&amp;lt;alwaysinit /&amp;gt;&amp;lt;/stage&amp;gt;&amp;lt;stage stageid="69c964a3-c1fe-4499-995e-6c725df218ad" name="Utility - Strings::Regex Replace" type="Action"&amp;gt;&amp;lt;loginhibit onsuccess="true" /&amp;gt;&amp;lt;display x="-90" y="15" /&amp;gt;&amp;lt;inputs&amp;gt;&amp;lt;input type="text" name="Pattern" friendlyname="Pattern" narrative="The regular expression to use to match for replacement." expr="&amp;amp;quot;[^a-zA-Z0-9äöüßÄÖÜ,]&amp;amp;quot;" /&amp;gt;&amp;lt;input type="text" name="Input Data" friendlyname="Input Data" narrative="The string to perform the replacement pattern match on." expr="[Split Values.Value]" /&amp;gt;&amp;lt;input type="text" name="Replacement Data" friendlyname="Replacement Data" narrative="The string to use as the replacement data." expr="&amp;amp;quot;_&amp;amp;quot;" /&amp;gt;&amp;lt;input type="number" name="Max Count" friendlyname="Max Count" narrative="OPTIONAL: The maximum number of replacements to perform. Default value is unlimited (-1)." expr="" /&amp;gt;&amp;lt;input type="number" name="Start Position" friendlyname="Start Position" narrative="OPTIONAL: The starting position with the input data to start the replacement match. Default value is position 0." expr="" /&amp;gt;&amp;lt;/inputs&amp;gt;&amp;lt;outputs&amp;gt;&amp;lt;output type="text" name="Output Data" friendlyname="Output Data" narrative="The new string data after the replacement has been performed." stage="Split Values.Value" /&amp;gt;&amp;lt;/outputs&amp;gt;&amp;lt;onsuccess&amp;gt;15a72ead-1216-4efe-9c75-92024375d624&amp;lt;/onsuccess&amp;gt;&amp;lt;resource object="Utility - Strings" action="Regex Replace" /&amp;gt;&amp;lt;/stage&amp;gt;&amp;lt;stage stageid="8d7bfe2d-d9e1-4b5f-85bc-717f2b1ac669" name="Utility - Strings::Split Lines" type="Action"&amp;gt;&amp;lt;loginhibit onsuccess="true" /&amp;gt;&amp;lt;display x="-90" y="-30" /&amp;gt;&amp;lt;inputs&amp;gt;&amp;lt;input type="text" name="Text to Split" friendlyname="Text to Split" narrative="The text to split" expr="[Text]" /&amp;gt;&amp;lt;/inputs&amp;gt;&amp;lt;outputs&amp;gt;&amp;lt;output type="collection" name="Split Values" friendlyname="Split Values" narrative="The resulting collection containing the split values" stage="Split Values" /&amp;gt;&amp;lt;/outputs&amp;gt;&amp;lt;onsuccess&amp;gt;69c964a3-c1fe-4499-995e-6c725df218ad&amp;lt;/onsuccess&amp;gt;&amp;lt;resource object="Utility - Strings" action="Split Lines" /&amp;gt;&amp;lt;/stage&amp;gt;&amp;lt;stage stageid="f59042dc-270f-48dd-8d07-984989d5544d" name="Split Values" type="Collection"&amp;gt;&amp;lt;display x="-165" y="-30" /&amp;gt;&amp;lt;datatype&amp;gt;collection&amp;lt;/datatype&amp;gt;&amp;lt;private /&amp;gt;&amp;lt;alwaysinit /&amp;gt;&amp;lt;collectioninfo&amp;gt;&amp;lt;field name="Value" type="text" /&amp;gt;&amp;lt;/collectioninfo&amp;gt;&amp;lt;/stage&amp;gt;&amp;lt;stage stageid="15a72ead-1216-4efe-9c75-92024375d624" name="Utility - Strings::Regex Replace" type="Action"&amp;gt;&amp;lt;loginhibit onsuccess="true" /&amp;gt;&amp;lt;display x="-90" y="60" /&amp;gt;&amp;lt;inputs&amp;gt;&amp;lt;input type="text" name="Pattern" friendlyname="Pattern" narrative="The regular expression to use to match for replacement." expr="&amp;amp;quot;_{2,}&amp;amp;quot;" /&amp;gt;&amp;lt;input type="text" name="Input Data" friendlyname="Input Data" narrative="The string to perform the replacement pattern match on." expr="[Split Values.Value]" /&amp;gt;&amp;lt;input type="text" name="Replacement Data" friendlyname="Replacement Data" narrative="The string to use as the replacement data." expr="&amp;amp;quot;_&amp;amp;quot;" /&amp;gt;&amp;lt;input type="number" name="Max Count" friendlyname="Max Count" narrative="OPTIONAL: The maximum number of replacements to perform. Default value is unlimited (-1)." expr="" /&amp;gt;&amp;lt;input type="number" name="Start Position" friendlyname="Start Position" narrative="OPTIONAL: The starting position with the input data to start the replacement match. Default value is position 0." expr="" /&amp;gt;&amp;lt;/inputs&amp;gt;&amp;lt;outputs&amp;gt;&amp;lt;output type="text" name="Output Data" friendlyname="Output Data" narrative="The new string data after the replacement has been performed." stage="Split Values.Value" /&amp;gt;&amp;lt;/outputs&amp;gt;&amp;lt;onsuccess&amp;gt;60441b1d-fb43-405c-8ea6-3e2c3609a4c1&amp;lt;/onsuccess&amp;gt;&amp;lt;resource object="Utility - Strings" action="Regex Replace" /&amp;gt;&amp;lt;/stage&amp;gt;&amp;lt;stage stageid="60441b1d-fb43-405c-8ea6-3e2c3609a4c1" name="Utility - Strings::Regex Replace" type="Action"&amp;gt;&amp;lt;loginhibit onsuccess="true" /&amp;gt;&amp;lt;display x="-90" y="105" /&amp;gt;&amp;lt;inputs&amp;gt;&amp;lt;input type="text" name="Pattern" friendlyname="Pattern" narrative="The regular expression to use to match for replacement." expr="&amp;amp;quot;(?&amp;amp;lt;=^|,)_+|_+(?=,|$)&amp;amp;quot;" /&amp;gt;&amp;lt;input type="text" name="Input Data" friendlyname="Input Data" narrative="The string to perform the replacement pattern match on." expr="[Split Values.Value]" /&amp;gt;&amp;lt;input type="text" name="Replacement Data" friendlyname="Replacement Data" narrative="The string to use as the replacement data." expr="" /&amp;gt;&amp;lt;input type="number" name="Max Count" friendlyname="Max Count" narrative="OPTIONAL: The maximum number of replacements to perform. Default value is unlimited (-1)." expr="" /&amp;gt;&amp;lt;input type="number" name="Start Position" friendlyname="Start Position" narrative="OPTIONAL: The starting position with the input data to start the replacement match. Default value is position 0." expr="" /&amp;gt;&amp;lt;/inputs&amp;gt;&amp;lt;outputs&amp;gt;&amp;lt;output type="text" name="Output Data" friendlyname="Output Data" narrative="The new string data after the replacement has been performed." stage="Split Values.Value" /&amp;gt;&amp;lt;/outputs&amp;gt;&amp;lt;onsuccess&amp;gt;5118d1e8-dbbd-4a8d-98d2-4107314e2c27&amp;lt;/onsuccess&amp;gt;&amp;lt;resource object="Utility - Strings" action="Regex Replace" /&amp;gt;&amp;lt;/stage&amp;gt;&amp;lt;stage stageid="2f738861-a08d-498e-8efe-1c4dba0b1419" name="Loop Start1" type="LoopStart"&amp;gt;&amp;lt;loginhibit onsuccess="true" /&amp;gt;&amp;lt;display x="0" y="150" /&amp;gt;&amp;lt;onsuccess&amp;gt;54cb793f-d233-4ca5-a0cc-cdcf1be7b7fa&amp;lt;/onsuccess&amp;gt;&amp;lt;groupid&amp;gt;89495b30-4636-4d4f-8691-ade6154de30c&amp;lt;/groupid&amp;gt;&amp;lt;looptype&amp;gt;ForEach&amp;lt;/looptype&amp;gt;&amp;lt;loopdata&amp;gt;Split Values&amp;lt;/loopdata&amp;gt;&amp;lt;/stage&amp;gt;&amp;lt;stage stageid="239657f3-bf3b-4f43-b703-a897b2f7b05c" name="Loop End1" type="LoopEnd"&amp;gt;&amp;lt;loginhibit onsuccess="true" /&amp;gt;&amp;lt;display x="0" y="240" /&amp;gt;&amp;lt;onsuccess&amp;gt;8405417f-ba0b-4058-a1cd-2eb586e8af51&amp;lt;/onsuccess&amp;gt;&amp;lt;groupid&amp;gt;89495b30-4636-4d4f-8691-ade6154de30c&amp;lt;/groupid&amp;gt;&amp;lt;/stage&amp;gt;&amp;lt;stage stageid="54cb793f-d233-4ca5-a0cc-cdcf1be7b7fa" name="CreateText" type="Calculation"&amp;gt;&amp;lt;loginhibit onsuccess="true" /&amp;gt;&amp;lt;display x="0" y="195" /&amp;gt;&amp;lt;onsuccess&amp;gt;239657f3-bf3b-4f43-b703-a897b2f7b05c&amp;lt;/onsuccess&amp;gt;&amp;lt;calculation expression="[Text2] &amp;amp;amp; [Split Values.Value] &amp;amp;amp; NewLine()" stage="Text2" /&amp;gt;&amp;lt;/stage&amp;gt;&amp;lt;stage stageid="51cfbba1-8635-43cf-849f-fb78ebe39659" name="Text2" type="Data"&amp;gt;&amp;lt;loginhibit onsuccess="true" /&amp;gt;&amp;lt;display x="-165" y="60" /&amp;gt;&amp;lt;datatype&amp;gt;text&amp;lt;/datatype&amp;gt;&amp;lt;initialvalue /&amp;gt;&amp;lt;private /&amp;gt;&amp;lt;alwaysinit /&amp;gt;&amp;lt;/stage&amp;gt;&amp;lt;stage stageid="8405417f-ba0b-4058-a1cd-2eb586e8af51" name="Anchor2" type="Anchor"&amp;gt;&amp;lt;loginhibit onsuccess="true" /&amp;gt;&amp;lt;display x="-90" y="240" w="10" h="10" /&amp;gt;&amp;lt;onsuccess&amp;gt;654855aa-4b91-4409-9245-5ccd15c35feb&amp;lt;/onsuccess&amp;gt;&amp;lt;/stage&amp;gt;&amp;lt;stage stageid="5118d1e8-dbbd-4a8d-98d2-4107314e2c27" name="Anchor2" type="Anchor"&amp;gt;&amp;lt;loginhibit onsuccess="true" /&amp;gt;&amp;lt;display x="-90" y="150" w="10" h="10" /&amp;gt;&amp;lt;onsuccess&amp;gt;2f738861-a08d-498e-8efe-1c4dba0b1419&amp;lt;/onsuccess&amp;gt;&amp;lt;/stage&amp;gt;&amp;lt;/process&amp;gt;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 10 Oct 2025 09:48:44 GMT</pubDate>
    <dc:creator>yadidgarbo</dc:creator>
    <dc:date>2025-10-10T09:48:44Z</dc:date>
    <item>
      <title>Possible Data Item initialization bug affecting InStr()</title>
      <link>https://community.blueprism.com/t5/Product-Forum/Possible-Data-Item-initialization-bug-affecting-InStr/m-p/123200#M53946</link>
      <description>&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;Hi everyone,&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;I’ve encountered a strange and reproducible behavior in Blue Prism where the InStr() function — and even the Utility - Strings - InStr() → Contains action — do not return correct results until I manually open the Data Item or the Collection cell that holds the string value.&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;It appears as if Blue Prism only initializes or type-casts the value once it’s been opened in the Debug view.&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;Env:&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;Blue Prism version: 7.3.0&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;All variables are of type Text&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;Example:&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;TempName: JonDoe Maximus&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;Col_TempName: JonDoe&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;Decision:&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;InStr([TempName], [Col_TempName]) &amp;gt; &lt;SPAN class=""&gt;0&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;Result is False!&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;When i Click on the Decision Stage and Click on Excecute Value (in new Window) --&amp;gt; Answer is True.&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;To make sure both sides are Strings, I even created a temporary Data Item [Col_TempName] (Type: Text) and assigned it beforehand.&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;InStr(Lower("" &amp;amp; [TempName]); Lower("" &amp;amp; [Col_TempName])) &amp;gt; 0&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;and&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;Utility – Strings → InStr&lt;BR /&gt;Text: [TempName]&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;Substring: [Col_TempName]&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;Start Pos: 1&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;Search Methode: Text and Binary both same Result.&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;H3&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;Observed Behavior:&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;As long as I don’t open the Data Item (or the Collection cell) manually in Debug mode,&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;→ InStr() always returns 0&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;→ Decision&amp;nbsp;returns False&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;The moment I open the Data Item once (double-click it or preview it in Debug),&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;→ both expressions start working correctly and return the expected result.&lt;/FONT&gt;&lt;/H3&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;It seems like Blue Prism isn’t initializing or refreshing the internal value until it’s manually accessed.&lt;/FONT&gt;&lt;/P&gt;&lt;H3&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;What I’ve already tested:&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;Explicit concatenation ("" &amp;amp; [Item]) to force string type → no effect&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;Using Calculation Stage before Decision → same behavior&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;Tried with values coming from both Collections and Queues → same result&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;Trim/Lower/Replace normalization → no impact&lt;/FONT&gt;&lt;/H3&gt;&lt;H3&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;My Questions:&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;1. Is this behavior known or reproducible in other environments?&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;2. Does Blue Prism defer initialization or casting of Collection fields until they’re accessed in Debug mode?&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;3. Is there an official workaround to “pre-initialize” Data Items before Decision evaluation?&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;4. Could this be a limitation of the Decision parser or VBScript evaluation engine used internally?&lt;/FONT&gt;&lt;/H3&gt;&lt;P&gt;&lt;BR /&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3" color="#000000"&gt;Thanks in advance for any insights or confirmation from the community or Blue Prism engineers.&lt;BR /&gt;&lt;BR /&gt;&lt;/FONT&gt;sry for Text Style dont know how this happend &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 09 Oct 2025 16:29:34 GMT</pubDate>
      <guid>https://community.blueprism.com/t5/Product-Forum/Possible-Data-Item-initialization-bug-affecting-InStr/m-p/123200#M53946</guid>
      <dc:creator>yadidgarbo</dc:creator>
      <dc:date>2025-10-09T16:29:34Z</dc:date>
    </item>
    <item>
      <title>Re: Possible Data Item initialization bug affecting InStr()</title>
      <link>https://community.blueprism.com/t5/Product-Forum/Possible-Data-Item-initialization-bug-affecting-InStr/m-p/123213#M53952</link>
      <description>&lt;P&gt;&lt;STRONG&gt;Update / Additional Findings&lt;/STRONG&gt;&lt;BR /&gt;I’ve added a minimal reproducible example to isolate the issue even further.&lt;BR /&gt;This shows that the problem is not related to InStr(), but seems to occur whenever a Collection field is used in a Decision before being “initialized” (just my opinion) by opening it in the editor.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Reproduction Steps&lt;/STRONG&gt;&lt;BR /&gt;1. Create a simple CSV file:&lt;BR /&gt;a,b,c,Vorname_1_Person&lt;BR /&gt;1,2,3,Jonas&lt;BR /&gt;&lt;BR /&gt;2.Use the following Code Stage snippet to read it into a Collection called [Output Collection].&lt;BR /&gt;(Just drop this code into any Process Studio page and run it — it only loads the CSV into the collection. And Proof in a Decision stage named Proof Name with the expression:&lt;BR /&gt;"Jonas" = [Output Collection.Vorname_1_Person]&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Observed Behavior&lt;/STRONG&gt;&lt;BR /&gt;When the process runs normally, the Decision always returns False.&lt;BR /&gt;When I open the same Decision and click “Evaluate Expression”, it returns True.&lt;BR /&gt;In "View Data Item Watches", [Output Collection.Vorname_1_Person] clearly shows "Jonas".&lt;BR /&gt;The result remains False until I manually open the Output Collection (no need to switch to Current Values — just open and press OK).&lt;BR /&gt;If I open it and then click Cancel, the issue persists. Only confirming with OK initializes it correctly.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Conclusion&lt;/STRONG&gt;&lt;BR /&gt;This strongly suggests that the issue is not tied to InStr() or data type conversion,&lt;BR /&gt;but rather that Collection fields are not internally initialized for evaluation in Decisions until the Collection is opened and confirmed once.&lt;BR /&gt;If anyone from Blue Prism or the community can confirm this behavior or knows a reliable way to “force initialize” a collection programmatically, that would be extremely helpful.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;&amp;lt;process name="__selection__testprocess1"&amp;gt;&amp;lt;stage stageid="1d261c63-af05-43fc-bee9-5c10cc9b2d41" name="Proof Name" type="Decision"&amp;gt;&amp;lt;display x="-90" y="330" /&amp;gt;&amp;lt;decision expression="&amp;amp;quot;Jonas&amp;amp;quot; = [Output Collection.Vorname_1_Person]" /&amp;gt;&amp;lt;onfalse&amp;gt;23d433c2-be03-4ab1-a795-bad5c4890464&amp;lt;/onfalse&amp;gt;&amp;lt;/stage&amp;gt;&amp;lt;stage stageid="23d433c2-be03-4ab1-a795-bad5c4890464" name="Anchor1" type="Anchor"&amp;gt;&amp;lt;loginhibit onsuccess="true" /&amp;gt;&amp;lt;display x="45" y="330" w="10" h="10" /&amp;gt;&amp;lt;/stage&amp;gt;&amp;lt;stage stageid="654855aa-4b91-4409-9245-5ccd15c35feb" name="Utility - Strings::Get Delimited Text As Collection" type="Action"&amp;gt;&amp;lt;loginhibit onsuccess="true" /&amp;gt;&amp;lt;display x="-90" y="270" /&amp;gt;&amp;lt;inputs&amp;gt;&amp;lt;input type="flag" name="First Row Is Header" friendlyname="First Row Is Header" narrative="Indicates whether the first row of the CSV file should be treated as headers" expr="True" /&amp;gt;&amp;lt;input type="collection" name="Schema" friendlyname="Schema" narrative="Optional. A collection of column names. If left blank the column names will be taken from the first row. " expr="" /&amp;gt;&amp;lt;input type="text" name="Delimited Text" friendlyname="Delimited Text" narrative="The delimited text to be converted into a collection" expr="[Text2]" /&amp;gt;&amp;lt;input type="text" name="Delimiter Character" friendlyname="Delimiter Character" narrative="The character used for delimiting fields in the string" expr="&amp;amp;quot;,&amp;amp;quot;" /&amp;gt;&amp;lt;/inputs&amp;gt;&amp;lt;outputs&amp;gt;&amp;lt;output type="collection" name="Output Collection" friendlyname="Output Collection" narrative="The collection converted from CSV" stage="Output Collection" /&amp;gt;&amp;lt;/outputs&amp;gt;&amp;lt;onsuccess&amp;gt;1d261c63-af05-43fc-bee9-5c10cc9b2d41&amp;lt;/onsuccess&amp;gt;&amp;lt;resource object="Utility - Strings" action="Get Delimited Text As Collection" /&amp;gt;&amp;lt;/stage&amp;gt;&amp;lt;stage stageid="a7596608-a13c-4752-a9d6-6557132daddd" name="Output Collection" type="Collection"&amp;gt;&amp;lt;display x="-165" y="270" /&amp;gt;&amp;lt;datatype&amp;gt;collection&amp;lt;/datatype&amp;gt;&amp;lt;alwaysinit /&amp;gt;&amp;lt;/stage&amp;gt;&amp;lt;stage stageid="98a36ce7-6c7f-4351-94de-3a9fcc8b439d" name="Utility - File Management::Read All Text from File" type="Action"&amp;gt;&amp;lt;loginhibit onsuccess="true" /&amp;gt;&amp;lt;display x="-90" y="-75" /&amp;gt;&amp;lt;inputs&amp;gt;&amp;lt;input type="text" name="File Name" friendlyname="File Name" narrative="The full path the file to read the text from" expr="&amp;amp;quot;C:\Users\XV86X7J\Downloads\antrag.csv&amp;amp;quot;" /&amp;gt;&amp;lt;input type="text" name="File Encoding" friendlyname="File Encoding" narrative="Optional. Defaults to UTF8" expr="" /&amp;gt;&amp;lt;input type="flag" name="Use BOM" friendlyname="Use BOM" narrative="Optional. Flag indicating whether to use Byte Order Mark with a Unicode encoding. Default is False." expr="" /&amp;gt;&amp;lt;/inputs&amp;gt;&amp;lt;outputs&amp;gt;&amp;lt;output type="flag" name="Success" friendlyname="Success" narrative="True if successful" stage="" /&amp;gt;&amp;lt;output type="text" name="Message" friendlyname="Message" narrative="An error message if unsuccessful" stage="" /&amp;gt;&amp;lt;output type="text" name="Text" friendlyname="Text" narrative="The text of the file" stage="Text" /&amp;gt;&amp;lt;/outputs&amp;gt;&amp;lt;onsuccess&amp;gt;8d7bfe2d-d9e1-4b5f-85bc-717f2b1ac669&amp;lt;/onsuccess&amp;gt;&amp;lt;resource object="Utility - File Management" action="Read All Text from File" /&amp;gt;&amp;lt;/stage&amp;gt;&amp;lt;stage stageid="0f6b3ecb-a219-46fc-9416-21778cdf3a14" name="Text" type="Data"&amp;gt;&amp;lt;display x="-165" y="-75" /&amp;gt;&amp;lt;datatype&amp;gt;text&amp;lt;/datatype&amp;gt;&amp;lt;initialvalue /&amp;gt;&amp;lt;private /&amp;gt;&amp;lt;alwaysinit /&amp;gt;&amp;lt;/stage&amp;gt;&amp;lt;stage stageid="69c964a3-c1fe-4499-995e-6c725df218ad" name="Utility - Strings::Regex Replace" type="Action"&amp;gt;&amp;lt;loginhibit onsuccess="true" /&amp;gt;&amp;lt;display x="-90" y="15" /&amp;gt;&amp;lt;inputs&amp;gt;&amp;lt;input type="text" name="Pattern" friendlyname="Pattern" narrative="The regular expression to use to match for replacement." expr="&amp;amp;quot;[^a-zA-Z0-9äöüßÄÖÜ,]&amp;amp;quot;" /&amp;gt;&amp;lt;input type="text" name="Input Data" friendlyname="Input Data" narrative="The string to perform the replacement pattern match on." expr="[Split Values.Value]" /&amp;gt;&amp;lt;input type="text" name="Replacement Data" friendlyname="Replacement Data" narrative="The string to use as the replacement data." expr="&amp;amp;quot;_&amp;amp;quot;" /&amp;gt;&amp;lt;input type="number" name="Max Count" friendlyname="Max Count" narrative="OPTIONAL: The maximum number of replacements to perform. Default value is unlimited (-1)." expr="" /&amp;gt;&amp;lt;input type="number" name="Start Position" friendlyname="Start Position" narrative="OPTIONAL: The starting position with the input data to start the replacement match. Default value is position 0." expr="" /&amp;gt;&amp;lt;/inputs&amp;gt;&amp;lt;outputs&amp;gt;&amp;lt;output type="text" name="Output Data" friendlyname="Output Data" narrative="The new string data after the replacement has been performed." stage="Split Values.Value" /&amp;gt;&amp;lt;/outputs&amp;gt;&amp;lt;onsuccess&amp;gt;15a72ead-1216-4efe-9c75-92024375d624&amp;lt;/onsuccess&amp;gt;&amp;lt;resource object="Utility - Strings" action="Regex Replace" /&amp;gt;&amp;lt;/stage&amp;gt;&amp;lt;stage stageid="8d7bfe2d-d9e1-4b5f-85bc-717f2b1ac669" name="Utility - Strings::Split Lines" type="Action"&amp;gt;&amp;lt;loginhibit onsuccess="true" /&amp;gt;&amp;lt;display x="-90" y="-30" /&amp;gt;&amp;lt;inputs&amp;gt;&amp;lt;input type="text" name="Text to Split" friendlyname="Text to Split" narrative="The text to split" expr="[Text]" /&amp;gt;&amp;lt;/inputs&amp;gt;&amp;lt;outputs&amp;gt;&amp;lt;output type="collection" name="Split Values" friendlyname="Split Values" narrative="The resulting collection containing the split values" stage="Split Values" /&amp;gt;&amp;lt;/outputs&amp;gt;&amp;lt;onsuccess&amp;gt;69c964a3-c1fe-4499-995e-6c725df218ad&amp;lt;/onsuccess&amp;gt;&amp;lt;resource object="Utility - Strings" action="Split Lines" /&amp;gt;&amp;lt;/stage&amp;gt;&amp;lt;stage stageid="f59042dc-270f-48dd-8d07-984989d5544d" name="Split Values" type="Collection"&amp;gt;&amp;lt;display x="-165" y="-30" /&amp;gt;&amp;lt;datatype&amp;gt;collection&amp;lt;/datatype&amp;gt;&amp;lt;private /&amp;gt;&amp;lt;alwaysinit /&amp;gt;&amp;lt;collectioninfo&amp;gt;&amp;lt;field name="Value" type="text" /&amp;gt;&amp;lt;/collectioninfo&amp;gt;&amp;lt;/stage&amp;gt;&amp;lt;stage stageid="15a72ead-1216-4efe-9c75-92024375d624" name="Utility - Strings::Regex Replace" type="Action"&amp;gt;&amp;lt;loginhibit onsuccess="true" /&amp;gt;&amp;lt;display x="-90" y="60" /&amp;gt;&amp;lt;inputs&amp;gt;&amp;lt;input type="text" name="Pattern" friendlyname="Pattern" narrative="The regular expression to use to match for replacement." expr="&amp;amp;quot;_{2,}&amp;amp;quot;" /&amp;gt;&amp;lt;input type="text" name="Input Data" friendlyname="Input Data" narrative="The string to perform the replacement pattern match on." expr="[Split Values.Value]" /&amp;gt;&amp;lt;input type="text" name="Replacement Data" friendlyname="Replacement Data" narrative="The string to use as the replacement data." expr="&amp;amp;quot;_&amp;amp;quot;" /&amp;gt;&amp;lt;input type="number" name="Max Count" friendlyname="Max Count" narrative="OPTIONAL: The maximum number of replacements to perform. Default value is unlimited (-1)." expr="" /&amp;gt;&amp;lt;input type="number" name="Start Position" friendlyname="Start Position" narrative="OPTIONAL: The starting position with the input data to start the replacement match. Default value is position 0." expr="" /&amp;gt;&amp;lt;/inputs&amp;gt;&amp;lt;outputs&amp;gt;&amp;lt;output type="text" name="Output Data" friendlyname="Output Data" narrative="The new string data after the replacement has been performed." stage="Split Values.Value" /&amp;gt;&amp;lt;/outputs&amp;gt;&amp;lt;onsuccess&amp;gt;60441b1d-fb43-405c-8ea6-3e2c3609a4c1&amp;lt;/onsuccess&amp;gt;&amp;lt;resource object="Utility - Strings" action="Regex Replace" /&amp;gt;&amp;lt;/stage&amp;gt;&amp;lt;stage stageid="60441b1d-fb43-405c-8ea6-3e2c3609a4c1" name="Utility - Strings::Regex Replace" type="Action"&amp;gt;&amp;lt;loginhibit onsuccess="true" /&amp;gt;&amp;lt;display x="-90" y="105" /&amp;gt;&amp;lt;inputs&amp;gt;&amp;lt;input type="text" name="Pattern" friendlyname="Pattern" narrative="The regular expression to use to match for replacement." expr="&amp;amp;quot;(?&amp;amp;lt;=^|,)_+|_+(?=,|$)&amp;amp;quot;" /&amp;gt;&amp;lt;input type="text" name="Input Data" friendlyname="Input Data" narrative="The string to perform the replacement pattern match on." expr="[Split Values.Value]" /&amp;gt;&amp;lt;input type="text" name="Replacement Data" friendlyname="Replacement Data" narrative="The string to use as the replacement data." expr="" /&amp;gt;&amp;lt;input type="number" name="Max Count" friendlyname="Max Count" narrative="OPTIONAL: The maximum number of replacements to perform. Default value is unlimited (-1)." expr="" /&amp;gt;&amp;lt;input type="number" name="Start Position" friendlyname="Start Position" narrative="OPTIONAL: The starting position with the input data to start the replacement match. Default value is position 0." expr="" /&amp;gt;&amp;lt;/inputs&amp;gt;&amp;lt;outputs&amp;gt;&amp;lt;output type="text" name="Output Data" friendlyname="Output Data" narrative="The new string data after the replacement has been performed." stage="Split Values.Value" /&amp;gt;&amp;lt;/outputs&amp;gt;&amp;lt;onsuccess&amp;gt;5118d1e8-dbbd-4a8d-98d2-4107314e2c27&amp;lt;/onsuccess&amp;gt;&amp;lt;resource object="Utility - Strings" action="Regex Replace" /&amp;gt;&amp;lt;/stage&amp;gt;&amp;lt;stage stageid="2f738861-a08d-498e-8efe-1c4dba0b1419" name="Loop Start1" type="LoopStart"&amp;gt;&amp;lt;loginhibit onsuccess="true" /&amp;gt;&amp;lt;display x="0" y="150" /&amp;gt;&amp;lt;onsuccess&amp;gt;54cb793f-d233-4ca5-a0cc-cdcf1be7b7fa&amp;lt;/onsuccess&amp;gt;&amp;lt;groupid&amp;gt;89495b30-4636-4d4f-8691-ade6154de30c&amp;lt;/groupid&amp;gt;&amp;lt;looptype&amp;gt;ForEach&amp;lt;/looptype&amp;gt;&amp;lt;loopdata&amp;gt;Split Values&amp;lt;/loopdata&amp;gt;&amp;lt;/stage&amp;gt;&amp;lt;stage stageid="239657f3-bf3b-4f43-b703-a897b2f7b05c" name="Loop End1" type="LoopEnd"&amp;gt;&amp;lt;loginhibit onsuccess="true" /&amp;gt;&amp;lt;display x="0" y="240" /&amp;gt;&amp;lt;onsuccess&amp;gt;8405417f-ba0b-4058-a1cd-2eb586e8af51&amp;lt;/onsuccess&amp;gt;&amp;lt;groupid&amp;gt;89495b30-4636-4d4f-8691-ade6154de30c&amp;lt;/groupid&amp;gt;&amp;lt;/stage&amp;gt;&amp;lt;stage stageid="54cb793f-d233-4ca5-a0cc-cdcf1be7b7fa" name="CreateText" type="Calculation"&amp;gt;&amp;lt;loginhibit onsuccess="true" /&amp;gt;&amp;lt;display x="0" y="195" /&amp;gt;&amp;lt;onsuccess&amp;gt;239657f3-bf3b-4f43-b703-a897b2f7b05c&amp;lt;/onsuccess&amp;gt;&amp;lt;calculation expression="[Text2] &amp;amp;amp; [Split Values.Value] &amp;amp;amp; NewLine()" stage="Text2" /&amp;gt;&amp;lt;/stage&amp;gt;&amp;lt;stage stageid="51cfbba1-8635-43cf-849f-fb78ebe39659" name="Text2" type="Data"&amp;gt;&amp;lt;loginhibit onsuccess="true" /&amp;gt;&amp;lt;display x="-165" y="60" /&amp;gt;&amp;lt;datatype&amp;gt;text&amp;lt;/datatype&amp;gt;&amp;lt;initialvalue /&amp;gt;&amp;lt;private /&amp;gt;&amp;lt;alwaysinit /&amp;gt;&amp;lt;/stage&amp;gt;&amp;lt;stage stageid="8405417f-ba0b-4058-a1cd-2eb586e8af51" name="Anchor2" type="Anchor"&amp;gt;&amp;lt;loginhibit onsuccess="true" /&amp;gt;&amp;lt;display x="-90" y="240" w="10" h="10" /&amp;gt;&amp;lt;onsuccess&amp;gt;654855aa-4b91-4409-9245-5ccd15c35feb&amp;lt;/onsuccess&amp;gt;&amp;lt;/stage&amp;gt;&amp;lt;stage stageid="5118d1e8-dbbd-4a8d-98d2-4107314e2c27" name="Anchor2" type="Anchor"&amp;gt;&amp;lt;loginhibit onsuccess="true" /&amp;gt;&amp;lt;display x="-90" y="150" w="10" h="10" /&amp;gt;&amp;lt;onsuccess&amp;gt;2f738861-a08d-498e-8efe-1c4dba0b1419&amp;lt;/onsuccess&amp;gt;&amp;lt;/stage&amp;gt;&amp;lt;/process&amp;gt;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 10 Oct 2025 09:48:44 GMT</pubDate>
      <guid>https://community.blueprism.com/t5/Product-Forum/Possible-Data-Item-initialization-bug-affecting-InStr/m-p/123213#M53952</guid>
      <dc:creator>yadidgarbo</dc:creator>
      <dc:date>2025-10-10T09:48:44Z</dc:date>
    </item>
    <item>
      <title>Re: Possible Data Item initialization bug affecting InStr()</title>
      <link>https://community.blueprism.com/t5/Product-Forum/Possible-Data-Item-initialization-bug-affecting-InStr/m-p/123226#M53954</link>
      <description>&lt;P&gt;I’ve finally identified the root cause of the issue — and it’s not related to initialization or the Decision stage at all. The real problem came from hidden NULL characters inside the strings that were imported from the CSV file.&lt;/P&gt;&lt;P&gt;When I inspected the input CSV file using Notepad++, I found that several text fields contained NULL bytes (0x00) at the end of the strings.&lt;/P&gt;&lt;P&gt;Example content (raw view):&lt;BR /&gt;"JonDoe[0x00][0x00][0x00][0x00][0x00]"&lt;/P&gt;&lt;P&gt;But visually it looked perfectly fine in Blue Prism: "JonDoe"&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So Blue Prism displayed the text correctly, but the underlying string still contained NULL characters.&lt;BR /&gt;&lt;/SPAN&gt;That’s why expressions like:&lt;BR /&gt;"JonDoe" = [Output Collection.Vorname_1_Person]&lt;BR /&gt;always evaluated to False, even though both appeared identical in the UI.&lt;/P&gt;&lt;P&gt;Interestingly, when I opened the Collection manually or used “Evaluate Expression”, Blue Prism seemed to sanitize or re-initialize the value — effectively removing the NULLs, which is why it suddenly worked after that.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Solution&lt;BR /&gt;&lt;/STRONG&gt;I used the Utility – Strings → Regex Replace action to clean the input data before comparison.&lt;BR /&gt;Pattern: [\u0000\x00]&lt;BR /&gt;Replacement: "" (empty string)&lt;BR /&gt;This removes all hidden NULL characters from the text.&lt;BR /&gt;&lt;BR /&gt;After applying this cleanup step, all Decisions and InStr() comparisons worked perfectly again — no manual collection opening required.&lt;BR /&gt;&lt;BR /&gt;The issue was caused by non-printable NULL characters in the CSV input.&lt;BR /&gt;They are invisible in Blue Prism but still affect string comparison logic.&lt;/P&gt;&lt;P&gt;In short:&lt;BR /&gt;"JonDoe\x00\x00\x00" &amp;lt;&amp;gt; "JonDoe"&lt;/P&gt;</description>
      <pubDate>Mon, 13 Oct 2025 06:49:11 GMT</pubDate>
      <guid>https://community.blueprism.com/t5/Product-Forum/Possible-Data-Item-initialization-bug-affecting-InStr/m-p/123226#M53954</guid>
      <dc:creator>yadidgarbo</dc:creator>
      <dc:date>2025-10-13T06:49:11Z</dc:date>
    </item>
  </channel>
</rss>

