<?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/"><channel><title>KB-2222 a!isNullOrEmpty returns false for lists containing only null or "" elements</title><link>https://community.appian.com/support/w/kb/2697/kb-2222-a-isnullorempty-returns-false-for-lists-containing-only-null-or-elements</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>KB-2222 a!isNullOrEmpty returns false for lists containing only null or "" elements</title><link>https://community.appian.com/support/w/kb/2697/kb-2222-a-isnullorempty-returns-false-for-lists-containing-only-null-or-elements</link><pubDate>Thu, 29 Sep 2022 15:10:26 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:3eb8d8ea-221d-4e46-bbc6-cf129a52fc9a</guid><dc:creator>Elly Meng</dc:creator><comments>https://community.appian.com/support/w/kb/2697/kb-2222-a-isnullorempty-returns-false-for-lists-containing-only-null-or-elements#comments</comments><description>Current Revision posted to Appian Knowledge Base by Elly Meng on 9/29/2022 3:10:26 PM&lt;br /&gt;
&lt;h2&gt;&lt;span&gt;Symptoms&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;&lt;span&gt;a!isNullOrEmpty()&lt;/span&gt;&lt;/code&gt;&amp;nbsp;returns &lt;code&gt;&lt;span&gt;false&lt;/span&gt;&lt;/code&gt;&amp;nbsp;when the value being checked is a list containing only &lt;span&gt;&lt;code&gt;null&lt;/code&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;or&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;elements&lt;/span&gt;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;For example,&amp;nbsp;&lt;code&gt;a!isNullOrEmpty({null})&lt;/code&gt; returns&amp;nbsp;&lt;code&gt;false&lt;/code&gt;.&lt;/p&gt;
&lt;h2&gt;&lt;span&gt;Cause&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;This is expected behavior as a&amp;nbsp;list with &lt;/span&gt;only&amp;nbsp;&lt;span&gt;&lt;code&gt;null&lt;/code&gt;&lt;/span&gt; or&amp;nbsp;&lt;span&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/span&gt;&amp;nbsp;elements&lt;span&gt; is not an empty list. Additionally,&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/fnc_informational_isnullorempty.html"&gt;a!isNullOrEmpty()&lt;/a&gt;&amp;nbsp;does not iterate over lists to check for these elements&amp;nbsp;in order to&amp;nbsp;improve performance.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Please see the chart below for more examples of expected behavior regarding a!isNullOrEmpty() and lists:&lt;/span&gt;&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Input&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;span&gt;a!isNullOrEmpty({{}, &amp;quot;&amp;quot;})&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;span&gt; a!isNullOrEmpty(cast(197, &amp;quot;&amp;quot;))&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;span&gt;a!isNullOrEmpty({tostring(null), tointeger(null)})&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;span&gt;a!isNullOrEmpty({null,null})&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;&lt;span&gt;Action&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;If&amp;nbsp;a value is a list that may contain only &lt;code&gt;null&lt;/code&gt;&amp;nbsp;or&amp;nbsp;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&amp;nbsp;elements, please consider using&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/fnc_array_length.html"&gt;length()&lt;/a&gt; or &lt;a href="https://docs.appian.com/suite/help/latest/fnc_looping_a_foreach.html"&gt;a!forEach()&lt;/a&gt;&amp;nbsp;to check if it is empty.&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;&lt;span&gt;Affected Versions&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;This article applies to all versions of Appian.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Last Reviewed:&amp;nbsp;September 2022&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: application design&lt;/div&gt;
</description></item><item><title>[DRAFT SP-7550 Unexpected behavior with a!isNullOrEmpty</title><link>https://community.appian.com/support/w/kb/2697/kb-2222-a-isnullorempty-returns-false-for-lists-containing-only-null-or-elements/revision/5</link><pubDate>Fri, 23 Sep 2022 21:03:06 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:3eb8d8ea-221d-4e46-bbc6-cf129a52fc9a</guid><dc:creator>Elly Meng</dc:creator><comments>https://community.appian.com/support/w/kb/2697/kb-2222-a-isnullorempty-returns-false-for-lists-containing-only-null-or-elements#comments</comments><description>Revision 5 posted to Appian Knowledge Base by Elly Meng on 9/23/2022 9:03:06 PM&lt;br /&gt;
&lt;h2&gt;&lt;span&gt;Symptoms&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;&lt;span&gt;a!isNullOrEmpty()&lt;/span&gt;&lt;/code&gt;&amp;nbsp;returns &lt;code&gt;&lt;span&gt;false&lt;/span&gt;&lt;/code&gt;&amp;nbsp;when the value being checked is a list containing only &lt;span&gt;&lt;code&gt;null&lt;/code&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;or&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;elements&lt;/span&gt;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;For example,&amp;nbsp;&lt;code&gt;a!isNullOrEmpty({null})&lt;/code&gt; returns&amp;nbsp;&lt;code&gt;false&lt;/code&gt;.&lt;/p&gt;
&lt;h2&gt;&lt;span&gt;Cause&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;This is expected behavior as a&amp;nbsp;list with &lt;/span&gt;only&amp;nbsp;&lt;span&gt;&lt;code&gt;null&lt;/code&gt;&lt;/span&gt; or&amp;nbsp;&lt;span&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/span&gt;&amp;nbsp;elements&lt;span&gt; is not an empty list. Additionally,&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/fnc_informational_isnullorempty.html"&gt;a!isNullOrEmpty()&lt;/a&gt;&amp;nbsp;does not iterate over lists to check for these elements&amp;nbsp;in order to&amp;nbsp;improve performance.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Please see the chart below for more examples of expected behavior regarding a!isNullOrEmpty() and lists:&lt;/span&gt;&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Input&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;span&gt;a!isNullOrEmpty({{}, &amp;quot;&amp;quot;})&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;span&gt; a!isNullOrEmpty(cast(197, &amp;quot;&amp;quot;))&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;span&gt;a!isNullOrEmpty({tostring(null), tointeger(null)})&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;span&gt;a!isNullOrEmpty({null,null})&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;&lt;span&gt;Action&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;If&amp;nbsp;a value is a list that may contain only &lt;code&gt;null&lt;/code&gt;&amp;nbsp;or&amp;nbsp;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&amp;nbsp;elements, please consider using&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/fnc_array_length.html"&gt;length()&lt;/a&gt; or &lt;a href="https://docs.appian.com/suite/help/latest/fnc_looping_a_foreach.html"&gt;a!forEach()&lt;/a&gt;&amp;nbsp;to check if it is empty.&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;&lt;span&gt;Affected Versions&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;This article applies to all versions of Appian.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Last Reviewed:&amp;nbsp;September 2022&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: application design&lt;/div&gt;
</description></item><item><title>[DRAFT SP-7550 Unexpected behavior with a!isNullOrEmpty</title><link>https://community.appian.com/support/w/kb/2697/kb-2222-a-isnullorempty-returns-false-for-lists-containing-only-null-or-elements/revision/4</link><pubDate>Fri, 23 Sep 2022 21:02:44 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:3eb8d8ea-221d-4e46-bbc6-cf129a52fc9a</guid><dc:creator>Elly Meng</dc:creator><comments>https://community.appian.com/support/w/kb/2697/kb-2222-a-isnullorempty-returns-false-for-lists-containing-only-null-or-elements#comments</comments><description>Revision 4 posted to Appian Knowledge Base by Elly Meng on 9/23/2022 9:02:44 PM&lt;br /&gt;
&lt;h2&gt;&lt;span&gt;Symptoms&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;&lt;span&gt;a!isNullOrEmpty()&lt;/span&gt;&lt;/code&gt;&amp;nbsp;returns &lt;code&gt;&lt;span&gt;false&lt;/span&gt;&lt;/code&gt;&amp;nbsp;when the value being checked is a list containing only &lt;span&gt;&lt;code&gt;null&lt;/code&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;or&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;elements&lt;/span&gt;.&amp;nbsp;For example,&amp;nbsp;&lt;code&gt;a!isNullOrEmpty({null})&lt;/code&gt; returns&amp;nbsp;&lt;code&gt;false&lt;/code&gt;.&lt;/p&gt;
&lt;h2&gt;&lt;span&gt;Cause&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;This is expected behavior as a&amp;nbsp;list with &lt;/span&gt;only&amp;nbsp;&lt;span&gt;&lt;code&gt;null&lt;/code&gt;&lt;/span&gt; or&amp;nbsp;&lt;span&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/span&gt;&amp;nbsp;elements&lt;span&gt; is not an empty list. Additionally,&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/fnc_informational_isnullorempty.html"&gt;a!isNullOrEmpty()&lt;/a&gt;&amp;nbsp;does not iterate over lists to check for these elements&amp;nbsp;in order to&amp;nbsp;improve performance.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Please see the chart below for more examples of expected behavior regarding a!isNullOrEmpty() and lists:&lt;/span&gt;&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Input&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;span&gt;a!isNullOrEmpty({{}, &amp;quot;&amp;quot;})&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;span&gt; a!isNullOrEmpty(cast(197, &amp;quot;&amp;quot;))&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;span&gt;a!isNullOrEmpty({tostring(null), tointeger(null)})&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;span&gt;a!isNullOrEmpty({null,null})&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;&lt;span&gt;Action&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;If&amp;nbsp;a value is a list that may contain only &lt;code&gt;null&lt;/code&gt;&amp;nbsp;or&amp;nbsp;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&amp;nbsp;elements, please consider using&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/fnc_array_length.html"&gt;length()&lt;/a&gt; or &lt;a href="https://docs.appian.com/suite/help/latest/fnc_looping_a_foreach.html"&gt;a!forEach()&lt;/a&gt;&amp;nbsp;to check if it is empty.&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;&lt;span&gt;Affected Versions&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;This article applies to all versions of Appian.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Last Reviewed:&amp;nbsp;September 2022&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: application design&lt;/div&gt;
</description></item><item><title>DRAFT SP-7550 Unexpected behavior with a!isNullOrEmpty</title><link>https://community.appian.com/support/w/kb/2697/kb-2222-a-isnullorempty-returns-false-for-lists-containing-only-null-or-elements/revision/3</link><pubDate>Mon, 22 Aug 2022 16:44:39 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:3eb8d8ea-221d-4e46-bbc6-cf129a52fc9a</guid><dc:creator>Maggie Deppe-Walker</dc:creator><comments>https://community.appian.com/support/w/kb/2697/kb-2222-a-isnullorempty-returns-false-for-lists-containing-only-null-or-elements#comments</comments><description>Revision 3 posted to Appian Knowledge Base by Maggie Deppe-Walker on 8/22/2022 4:44:39 PM&lt;br /&gt;
&lt;h2&gt;&lt;span&gt;Symptoms&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;a!isNullOrEmpty({null})&lt;/code&gt; returns&amp;nbsp;&lt;code&gt;false&lt;/code&gt;&lt;/p&gt;
&lt;h2&gt;&lt;span&gt;Cause&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;This is expected product behavior. A set with the element null is not a null set. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Additionally,&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/fnc_informational_isnullorempty.html"&gt;a!isNullOrEmpty()&lt;/a&gt;&amp;nbsp;does not iterate over lists to check for null elements; the purpose of this is to keep the function&amp;#39;s performance fast.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Please see the below chart for more examples of expected product behavior regarding a!isNullOrEmpty():&lt;/span&gt;&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Input&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;span&gt;a!isNullOrEmpty({{}, &amp;quot;&amp;quot;})&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;span&gt; a!isNullOrEmpty(cast(197, &amp;quot;&amp;quot;))&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;span&gt;a!isNullOrEmpty({tostring(null), tointeger(null)})&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;span&gt;a!isNullOrEmpty({null,null})&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;&lt;span&gt;Action&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;If the value being checked is a list that may contain only null elements, please use the &lt;a href="https://docs.appian.com/suite/help/latest/fnc_array_length.html"&gt;length()&lt;/a&gt; or &lt;a href="https://docs.appian.com/suite/help/latest/fnc_looping_a_foreach.html"&gt;a!forEach()&lt;/a&gt; functions&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;&lt;span&gt;Affected Versions&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;This article applies to all versions of Appian.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Last Reviewed:&amp;nbsp;August 2022&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: application design&lt;/div&gt;
</description></item></channel></rss>