<?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>Data and Records - Recent Threads</title><link>https://community.appian.com/discussions/f/data</link><description>Questions for data design and records</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: Sync records for a record created from materialized view</title><link>https://community.appian.com/thread/155028?ContentTypeID=1</link><pubDate>Mon, 29 Jun 2026 17:30:25 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:e232dfb4-88db-4d77-b73d-859a07aba186</guid><dc:creator>Shubham Aware</dc:creator><slash:comments>0</slash:comments><comments>https://community.appian.com/thread/155028?ContentTypeID=1</comments><wfw:commentRss>https://community.appian.com/discussions/f/data/40529/sync-records-for-a-record-created-from-materialized-view/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Use a stable source key (UNIQUE_ID/UIN) as the record identifier - ROW_NUMBER() changes on every refresh, which is why sync fails. Appian only needs the key to be unique, non-null, and stable, not a real primary key.&lt;br /&gt;Keep all rows in the source and add a status column to mark them processed instead of filtering them out. &lt;br /&gt;Use record filters to hide processed rows. This stops records from disappearing, so sync never references missing Ids and avoids Delete Records, which can&amp;#39;t run on a materialized view.&lt;br /&gt;Enforce UIN uniqueness in the database or stored procedure, not in Appian sync logic.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Sync records for a record created from materialized view</title><link>https://community.appian.com/thread/40529?ContentTypeID=0</link><pubDate>Mon, 29 Jun 2026 06:39:43 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:14f65fb5-83a8-4a17-a394-810f09c11f23</guid><dc:creator>dipaliawaghade</dc:creator><slash:comments>1</slash:comments><comments>https://community.appian.com/thread/40529?ContentTypeID=0</comments><wfw:commentRss>https://community.appian.com/discussions/f/data/40529/sync-records-for-a-record-created-from-materialized-view/rss?ContentTypeId=0</wfw:commentRss><description>&lt;div&gt;
&lt;h3&gt;&lt;strong&gt;Issue with Dynamic Identifiers in Materialized View Causing Sync Failures&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;We are consuming data from an external view that only returns records where:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;BPM_PROCESSING_STATUS IS NULL&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;BPM_CASEID IS NULL&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This external view is built on top of a base table that contains all records.&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;&lt;strong&gt;Current Implementation&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;When a case is created in Appian, we update the base table using a &lt;strong&gt;Query Database Smart Service&lt;/strong&gt;, populating:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;BPM_CASEID&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;BPM_PROCESSING_STATUS&lt;/code&gt; (e.g., &lt;em&gt;PENDINGFORAPPROVAL, REFERREDBACK, PROCESSED&lt;/em&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Since we &lt;strong&gt;do not have access to define a primary key&lt;/strong&gt; on the source table/view (due to grant restrictions), we:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Created a &lt;strong&gt;Materialized View&lt;/strong&gt; on top of the external view&lt;/li&gt;
&lt;li&gt;Added a synthetic identifier column:
&lt;div class="___77lcry0 f10pi13n"&gt;
&lt;div class="___1hewfwb f10pi13n f7oukh6 f5p0z4x"&gt;
&lt;div&gt;
&lt;div class="scriptor-component-code-block i5UaojtgdPLUCBTcn02R7g== scriptor-codeblock-virtualized"&gt;
&lt;div class="h8GzVsaGsAv2yoTaJDYxDQ=="&gt;
&lt;div class="rrd10u0 fui-AriaLive__assertive"&gt;&lt;/div&gt;
&lt;div class="rrd10u0 fui-AriaLive__polite"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="JS6mjSyLYVH8d+oEcxCTcg=="&gt;
&lt;div class="D8pBZQUHvvQL8X12opdF7A=="&gt;
&lt;div class="dQepB6+HPBe21p1s-x8VRQ=="&gt;
&lt;div class="fui-Overflow u82EcgrRm1I0ONMOZb9G+Q== ___xfjcua0 fyfkpbf f10570jf"&gt;
&lt;div class="Me5Lt4gWLBNvD31hl2jKOQ==" data-overflow-item=""&gt;&lt;span class="fui-Button__icon rywnvv2"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="Me5Lt4gWLBNvD31hl2jKOQ==" data-overflow-item=""&gt;&lt;span class="fui-Button__icon rywnvv2"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="Me5Lt4gWLBNvD31hl2jKOQ==" data-overflow-item=""&gt;&lt;span class="fui-MenuButton__menuIcon ___c2pfdf0 fwrc4pm f1ugzwwg fvblgha frx94fk fbyavb5"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="Me5Lt4gWLBNvD31hl2jKOQ==" data-overflow-item=""&gt;
&lt;div id="language-badge" class="fui-Badge r1iycov BcQG0Ht2PIQHnmEKbzy5+g== ___6drhbi0 f17fgpbq frvgh55 f1996nqw f1ctqxl6 f11d4kpn f68mrw8 f7pw515 frpde29 fw35ms5"&gt;&lt;span class="fui-Badge__icon rttl5z0 ___l1fj930 f1t8l4o1 f4ybsrx"&gt;&lt;/span&gt;&lt;span class="KQHgcjhvBRHYpOD1NBBGLg=="&gt;&lt;span class="GQjWeOJevq6N699fhnd9YA=="&gt;SQL&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="Me5Lt4gWLBNvD31hl2jKOQ=="&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="Xgbs62c8w4m-HjLt1T62GA== e17Yes+OTO7t146gr-4ZIA== mj-HjV4ufbLscUSf-AI2nQ== QQo4U9kaegQ3F1ZqxOB-Sg=="&gt;
&lt;div class="alKOOh6P4y2NGsrcQlVoCA== KlZEp49v5W4bi3FVtYiihw== vPevRRgm6LlbKXh+3AS2WA=="&gt;
&lt;div class="rxqRRxl8Fmf3CYh61pIsYQ=="&gt;
&lt;div class="HD8ptqxo6Yryk8xqUF2BuA== WhNYLY0NLlhSOWtTA1nUYg== AazlOmOr6hgVnnmtnuG7sQ=="&gt;
&lt;div class="JK-DXL9pMT-ZMxEf3dg5-A=="&gt;1&lt;/div&gt;
&lt;div class="_7BkKUsusaMKOf-Ibyhf+DA== R2Pe5w4LxOa-oiL7gtySXg==" data-line-index="0"&gt;ROW_NUMBER() OVER (ORDER BY UNIQUE_ID) AS ID&lt;/div&gt;
&lt;/div&gt;
&lt;div class="hvUxj6Oc2NE1RVLZvsoS4A=="&gt;&lt;span class="fui-Button__icon rywnvv2 _4yAYz+OROyoV68olQenKqg== ___963sj20 f1nizpg2"&gt;&lt;/span&gt;Show more lines&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;Built an &lt;strong&gt;Appian Record Type&lt;/strong&gt; using this materialized view (to leverage record filters, etc.)&lt;/li&gt;
&lt;li&gt;Created a &lt;strong&gt;stored procedure&lt;/strong&gt; to refresh the materialized view&lt;/li&gt;
&lt;li&gt;Used:
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Execute Stored Procedure Smart Service&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Sync Records Smart Service&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h3&gt;&lt;strong&gt;Problem&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;The identifier (&lt;code&gt;ROW_NUMBER&lt;/code&gt;) is &lt;strong&gt;not stable&lt;/strong&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Initially, suppose we have &lt;strong&gt;3000345 records&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;When cases are created for some UINs, those records are updated in the base table&lt;/li&gt;
&lt;li&gt;As a result, they no longer satisfy the condition (&lt;code&gt;BPM_CASEID IS NULL&lt;/code&gt;, &lt;code&gt;BPM_PROCESSING_STATUS IS NULL&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Hence, they disappear from the external view and the materialized view&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Record count reduces from &lt;strong&gt;3000345 &amp;rarr; 3000335&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Previously generated IDs such as:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;3000271&lt;/code&gt;, &lt;code&gt;3000313&lt;/code&gt;, &lt;code&gt;3000341&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;After refresh:
&lt;ul&gt;
&lt;li&gt;Some of these IDs (e.g., &lt;code&gt;3000341&lt;/code&gt;) no longer exist&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h3&gt;&lt;strong&gt;Impact&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;strong&gt;Record Type identifier changes dynamically&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;When we run &lt;strong&gt;Sync Records&lt;/strong&gt;, Appian attempts to sync using old identifiers&lt;/li&gt;
&lt;li&gt;Since those IDs no longer exist, &lt;strong&gt;sync fails&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h3&gt;&lt;strong&gt;Attempted Workaround&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Tried using &lt;strong&gt;Delete Record Smart Service&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;However, deletion is not allowed since the source is a &lt;strong&gt;materialized view&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h3&gt;&lt;strong&gt;Key Concern&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;We need a way to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Refresh the record data immediately&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Ensure users &lt;strong&gt;do not create duplicate cases for the same UIN&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h3&gt;&lt;strong&gt;Question&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Is there a recommended approach in Appian to handle:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Dynamic datasets where records disappear after updates&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Unstable identifiers (ROW_NUMBER-based)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Immediate refresh/sync of record data&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Preventing duplicate case creation for the same UIN&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="max-height:240px;max-width:320px;" src="/resized-image/__size/640x480/__key/communityserver-discussions-components-files/16/2783.pastedimage1782714936480v1.png" alt=" " /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description></item><item><title>Comparison for two rows of same record data</title><link>https://community.appian.com/thread/39577?ContentTypeID=0</link><pubDate>Wed, 06 Aug 2025 09:09:33 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:6e10ca5f-7576-4e25-ab63-c1c1523f6f5d</guid><dc:creator>pavang5769</dc:creator><slash:comments>7</slash:comments><comments>https://community.appian.com/thread/39577?ContentTypeID=0</comments><wfw:commentRss>https://community.appian.com/discussions/f/data/39577/comparison-for-two-rows-of-same-record-data/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;We have a requirement for comparison of same record type data and get the difference of the data &amp;amp; columns. We are aware of &amp;quot;CDT Diff Utilities&amp;quot; which does the same operation and gives the expected output. However we are looking for similar way of plugin availability or workaround to achieve the desired functionality.&lt;/p&gt;
&lt;p&gt;Note: We are not looking for manual comparison of the record fields and the data, as we need to perform the comparison across all record types in the application and it will be become very &lt;span&gt;tedious&amp;nbsp;&lt;/span&gt;process to achieve by manual comparison.&lt;/p&gt;</description></item><item><title>RE: Comparison for two rows of same record data</title><link>https://community.appian.com/thread/155008?ContentTypeID=1</link><pubDate>Thu, 25 Jun 2026 09:26:04 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:ccf5cf2a-183b-4f5e-8daf-4129578ffaf2</guid><dc:creator>venkatesanr1106</dc:creator><slash:comments>0</slash:comments><comments>https://community.appian.com/thread/155008?ContentTypeID=1</comments><wfw:commentRss>https://community.appian.com/discussions/f/data/39577/comparison-for-two-rows-of-same-record-data/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;thanks Jesse for the reply, however this option a! Keys says that the passed parameter of wrong type even though i used the a!fromJson ,I tried multiple way this did not work for me , I manually writing each and doing the comparison and do history update , Direct table changes work well with a!keys whereas when we use JSON this option seems to be erroring out.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Sync Record Type returning inconsistent data</title><link>https://community.appian.com/thread/154972?ContentTypeID=1</link><pubDate>Mon, 22 Jun 2026 16:45:34 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:999aacd3-6961-4323-81b5-4f7c63defeaf</guid><dc:creator>Shubham Aware</dc:creator><slash:comments>0</slash:comments><comments>https://community.appian.com/thread/154972?ContentTypeID=1</comments><wfw:commentRss>https://community.appian.com/discussions/f/data/40516/sync-record-type-returning-inconsistent-data/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Most likely the record sync cache was stale or temporarily inconsistent, so queryRecordType() returned null even though the database value existed. &lt;br /&gt;Since a manual sync fixed it, the root cause is usually a sync-layer mismatch, not the CDT or table structure.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Sync Record Type returning inconsistent data</title><link>https://community.appian.com/thread/40516?ContentTypeID=0</link><pubDate>Mon, 22 Jun 2026 14:49:35 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:ee09165c-e8d3-4f49-8624-4fe7f16f77a7</guid><dc:creator>sugithrag</dc:creator><slash:comments>2</slash:comments><comments>https://community.appian.com/thread/40516?ContentTypeID=0</comments><wfw:commentRss>https://community.appian.com/discussions/f/data/40516/sync-record-type-returning-inconsistent-data/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi, while querying data using query record type in one specific field (which is an integer type, mostly the values will be 1, 2 or 3) is returning null even the value is present in the database. While using query entity value is returning and in record data preview value is displaying but in the query record type alone it is returning null one time and returning value on clicking test value again. It&amp;#39;s a sync record type and there is no sync failure, and no changes were made in database table structure and in CDT. By syncing the record manually this issue is resolved but I want to understand the root cause.&lt;br /&gt;&lt;br /&gt;Thanks.&lt;/p&gt;</description></item><item><title>RE: Sync Record Type returning inconsistent data</title><link>https://community.appian.com/thread/154970?ContentTypeID=1</link><pubDate>Mon, 22 Jun 2026 16:36:51 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:eaffe016-a9c9-43b6-9eac-1d527b3d2951</guid><dc:creator>Stefan Helzle</dc:creator><slash:comments>0</slash:comments><comments>https://community.appian.com/thread/154970?ContentTypeID=1</comments><wfw:commentRss>https://community.appian.com/discussions/f/data/40516/sync-record-type-returning-inconsistent-data/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Can you share the code of your record query?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Comparison for two rows of same record data</title><link>https://community.appian.com/thread/154969?ContentTypeID=1</link><pubDate>Mon, 22 Jun 2026 12:28:01 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:7a06d5af-a036-4033-84d2-9cb8658415e0</guid><dc:creator>Jesse Knight</dc:creator><slash:comments>1</slash:comments><comments>https://community.appian.com/thread/154969?ContentTypeID=1</comments><wfw:commentRss>https://community.appian.com/discussions/f/data/39577/comparison-for-two-rows-of-same-record-data/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;If I&amp;#39;m understanding your issue correctly, &lt;code&gt;a!fromJson()&lt;/code&gt; would convert the text to a &lt;code&gt;map&lt;/code&gt;, which would allow usage of &lt;code&gt;a!keys()&lt;/code&gt;. If it&amp;#39;s invalid json, this will not work.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Comparison for two rows of same record data</title><link>https://community.appian.com/thread/154968?ContentTypeID=1</link><pubDate>Mon, 22 Jun 2026 12:19:25 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:1af3c88e-87d0-4486-8bd8-e6fbf3e8b612</guid><dc:creator>venkatesanr1106</dc:creator><slash:comments>1</slash:comments><comments>https://community.appian.com/thread/154968?ContentTypeID=1</comments><wfw:commentRss>https://community.appian.com/discussions/f/data/39577/comparison-for-two-rows-of-same-record-data/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;is there any way we can compare JSON and load the data in history like this ? , please advise&amp;nbsp;&lt;/p&gt;
&lt;p&gt;i tried to convert json and pass in whereas keys are not allowing this and says this as Text&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Security for fields in record table</title><link>https://community.appian.com/thread/154952?ContentTypeID=1</link><pubDate>Thu, 18 Jun 2026 23:57:38 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:3fe87403-76ab-4d82-aa93-67b2079caef8</guid><dc:creator>Ali Sabry Ashroff</dc:creator><slash:comments>0</slash:comments><comments>https://community.appian.com/thread/154952?ContentTypeID=1</comments><wfw:commentRss>https://community.appian.com/discussions/f/data/39353/security-for-fields-in-record-table/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Thank you. Was using &amp;#39;Users found in&amp;#39; groups and no records were visible until logged off and logged back&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Security for fields in record table</title><link>https://community.appian.com/thread/39353?ContentTypeID=0</link><pubDate>Thu, 26 Jun 2025 06:45:30 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:672ecbd2-e599-4918-9d69-b14f5e415981</guid><dc:creator>skzahed_09</dc:creator><slash:comments>13</slash:comments><comments>https://community.appian.com/thread/39353?ContentTypeID=0</comments><wfw:commentRss>https://community.appian.com/discussions/f/data/39353/security-for-fields-in-record-table/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;So i have 3 fields in a record table namely A,B,C and also 3 groups namely A,B,C. So my doubt here is, is it possible to set security to the fields separately.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;For example if i place a user in group A, then i should see only the A field and the other B and C fields should not be visible to me.&lt;/p&gt;
&lt;p&gt;If it is possible, can anyone guide me how i can achieve it.&lt;/p&gt;</description></item><item><title>Selectable in Read Only grid</title><link>https://community.appian.com/thread/40496?ContentTypeID=0</link><pubDate>Wed, 10 Jun 2026 11:48:00 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:85586a79-fb39-4c1a-b448-fa67711f078f</guid><dc:creator>srinivaast629400</dc:creator><slash:comments>2</slash:comments><comments>https://community.appian.com/thread/40496?ContentTypeID=0</comments><wfw:commentRss>https://community.appian.com/discussions/f/data/40496/selectable-in-read-only-grid/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I have a grid fiield which is selectable. I am showing the filtered data in the grid. When the data is filtered the id will vary with row numbers like if id 2 and 5 is shown in first 2 rows it won&amp;#39;t match with actual row number and the row is not getting highlighted after selection but the values are getting saved. The row is getting highlighted only when the row number matches the identifier. I have just used foreach loop and added extra parameter row number and mapped with fv!index. I have used this in identifier. The row is getting highlighted now but when there is a large number of data I am facing performance issue due to foreach loop. Is there any alternate way to achieve this ?[embed:dc8ab71f-3b98-42d9-b0f6-e21e02a0f8e2:634d0c95-5f7a-4aa0-9345-30fc5f7163e1:type=text&amp;text=%20a%21forEach%28%0D%0A%20%20%20%20items%3A%20local%21data%2C%0D%0A%20%20%20%20expression%3A%20a%21map%28%0D%0A%20%20%20%20%20%20uin%3A%20fv%21item.uin%2C%0D%0A%20%20%20%20%20%20uinDescription%3A%20fv%21item.uindescription%2C%0D%0A%20%20%20%20%20%20totalAmount%3A%20fv%21item.totalAmount%2C%0D%0A%20%20%20%20%20%20rowCount%3A%20fv%21item.rowCount%2C%0D%0A%20%20%20%20%20%20rowNumber%3A%20fv%21index%0D%0A%20%20%20%20%29%0D%0A%20%20%29%0D%0A%20%2F%2A%20Grid%20field%20code%2A%2F%0D%0A%20%20a%21gridField_25r2%28%0D%0A%20%20%20%20%20%20%20%20%20%20label%3A%20%22Exception%20By%20UIN%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20data%3A%20local%21expUin%2C%0D%0A%20%20%20%20%20%20%20%20%20%20selectionValue%3A%20ri%21selectedId%2C%0D%0A%20%20%20%20%20%20%20%20%20%20selectionSaveInto%3A%7B%0D%0A%20%20%20%20%20%20%20%20%20%20a%21save%28%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20ri%21selectedId%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20append%28%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20ri%21selectedId%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20fv%21selectedRows.rowNumber%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%29%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%29%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20a%21save%28%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20local%21deselectedId%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20index%28fv%21deselectedRows%2C%20%22rowNumber%22%2C%20%7B%7D%29%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%29%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20if%28%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rule%21AHE_notBlankorEmpty%28local%21deselectedId%29%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20a%21save%28%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20ri%21selectedId%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20difference%28ri%21selectedId%2C%20local%21deselectedId%29%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%29%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%29%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%0D%0A%20%20]&lt;/p&gt;</description></item><item><title>RE: Selectable in Read Only grid</title><link>https://community.appian.com/thread/154930?ContentTypeID=1</link><pubDate>Wed, 17 Jun 2026 06:13:23 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:6ab27e19-79e1-40fd-b07f-2fb9c0a3afd5</guid><dc:creator>Harsha Sharma</dc:creator><slash:comments>0</slash:comments><comments>https://community.appian.com/thread/154930?ContentTypeID=1</comments><wfw:commentRss>https://community.appian.com/discussions/f/data/40496/selectable-in-read-only-grid/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;To elaborate on this the Row number can vary depending on filtered data and thus should not be relied for selection saves. Instead a data row&amp;#39;s unique identifier (primary key) doesn&amp;#39;t change. So save the unique identifier instead of row number in selection variable.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Selectable in Read Only grid</title><link>https://community.appian.com/thread/154927?ContentTypeID=1</link><pubDate>Tue, 16 Jun 2026 09:14:06 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:17a75e21-86b1-4490-8236-8a987d1ad954</guid><dc:creator>EREN_YEAGER</dc:creator><slash:comments>1</slash:comments><comments>https://community.appian.com/thread/154927?ContentTypeID=1</comments><wfw:commentRss>https://community.appian.com/discussions/f/data/40496/selectable-in-read-only-grid/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p data-path-to-node="1"&gt;You &lt;b data-path-to-node="2" data-index-in-node="4"&gt;do not need&lt;/b&gt; to inject a &lt;code data-path-to-node="2" data-index-in-node="28"&gt;rowNumber&lt;/code&gt; via a loop. You can achieve this seamlessly by using your data&amp;#39;s actual primary key (like &lt;code data-path-to-node="2" data-index-in-node="128"&gt;uin&lt;/code&gt;) as the grid&amp;#39;s identifier.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://docs.appian.com/suite/help/26.5/grid-with-selection-pattern.html"&gt;example here&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: applyWhen queryLogicalExpression not working</title><link>https://community.appian.com/thread/154923?ContentTypeID=1</link><pubDate>Mon, 15 Jun 2026 13:41:05 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:d118b463-8a99-4c33-9a97-ef21cda624b9</guid><dc:creator>sugithrag</dc:creator><slash:comments>0</slash:comments><comments>https://community.appian.com/thread/154923?ContentTypeID=1</comments><wfw:commentRss>https://community.appian.com/discussions/f/data/40506/applywhen-querylogicalexpression-not-working/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Sure, Thanks Shubham&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>applyWhen queryLogicalExpression not working</title><link>https://community.appian.com/thread/40506?ContentTypeID=0</link><pubDate>Mon, 15 Jun 2026 10:09:54 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:1e56828c-c6cd-4934-8ef9-7ac41481b235</guid><dc:creator>sugithrag</dc:creator><slash:comments>6</slash:comments><comments>https://community.appian.com/thread/40506?ContentTypeID=0</comments><wfw:commentRss>https://community.appian.com/discussions/f/data/40506/applywhen-querylogicalexpression-not-working/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi, Im facing an issue in queryLogicalExpression where &amp;#39;AND&amp;#39; operator is used and there are 3 query filters in it with applyWhen parameter is passed which is evaluated as false in all the 3 filters but still this expression got executed instead of ignoring it. Is the applyWhen parameter will work only for separate queryFilter and not for the filters added in logical expression? Could someone help me to understand the behaviour?&lt;br /&gt;&lt;br /&gt;Thanks&lt;/p&gt;</description></item><item><title>RE: applyWhen queryLogicalExpression not working</title><link>https://community.appian.com/thread/154922?ContentTypeID=1</link><pubDate>Mon, 15 Jun 2026 13:37:05 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:1cc0dd29-a547-43f3-a269-4834f0d46a95</guid><dc:creator>Shubham Aware</dc:creator><slash:comments>1</slash:comments><comments>https://community.appian.com/thread/154922?ContentTypeID=1</comments><wfw:commentRss>https://community.appian.com/discussions/f/data/40506/applywhen-querylogicalexpression-not-working/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;applyWhen exists only on a!queryFilter(), not on a!queryLogicalExpression(). &lt;br /&gt;It drops just that one filter - it never skips a whole logical-expression block. When all leaf filters drop, the empty nested expressions still get processed, so your top-level block isn&amp;#39;t ignored.&lt;br /&gt;&lt;br /&gt;Build the blocks conditionally - if(&amp;lt;cond&amp;gt;, a!queryLogicalExpression(...), null) and a!flatten() the list so nulls fall out.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: applyWhen queryLogicalExpression not working</title><link>https://community.appian.com/thread/154920?ContentTypeID=1</link><pubDate>Mon, 15 Jun 2026 12:31:10 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:23d37d55-85ed-47b3-9782-12e7dea94a54</guid><dc:creator>EREN_YEAGER</dc:creator><slash:comments>0</slash:comments><comments>https://community.appian.com/thread/154920?ContentTypeID=1</comments><wfw:commentRss>https://community.appian.com/discussions/f/data/40506/applywhen-querylogicalexpression-not-working/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p data-path-to-node="0"&gt;To make the yellow expression block disappear entirely when those conditions are met, you need to lift the &lt;code data-path-to-node="0" data-index-in-node="107"&gt;applyWhen&lt;/code&gt; logic up to the parent layer. Instead of calling this parameter inside the individual &lt;code data-path-to-node="0" data-index-in-node="203"&gt;a!queryFilter&lt;/code&gt; blocks, you must apply it directly to the top-level &lt;code data-path-to-node="0" data-index-in-node="269"&gt;a!queryLogicalExpression&lt;/code&gt; that you want skipped.&lt;/p&gt;
&lt;p data-path-to-node="3"&gt;Note :&amp;nbsp;if you want an entire logical block (like the one highlighted in yellow) to be ignored based on a condition, the &lt;code data-path-to-node="3" data-index-in-node="113"&gt;applyWhen&lt;/code&gt; must live on that specific block. Relying on inner filters to turn &lt;code data-path-to-node="3" data-index-in-node="190"&gt;false&lt;/code&gt; will only clear out those specific inner filters, leaving the outer &lt;code data-path-to-node="3" data-index-in-node="264"&gt;OR&lt;/code&gt; structure active and running.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: applyWhen queryLogicalExpression not working</title><link>https://community.appian.com/thread/154919?ContentTypeID=1</link><pubDate>Mon, 15 Jun 2026 11:03:20 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:b80e7088-3d04-4b85-ad2b-30ecb8101397</guid><dc:creator>sugithrag</dc:creator><slash:comments>2</slash:comments><comments>https://community.appian.com/thread/154919?ContentTypeID=1</comments><wfw:commentRss>https://community.appian.com/discussions/f/data/40506/applywhen-querylogicalexpression-not-working/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Sure, it&amp;#39;s a nested expression where in all the queryLogicalExpression highlighted in the box contain applyWhen parameter and it is false so I&amp;#39;ve expected the top level queryLogicalExpression (highlighted in yellow) should be skipped&lt;br /&gt;&lt;img style="max-height:240px;max-width:320px;" src="/resized-image/__size/640x480/__key/communityserver-discussions-components-files/16/pastedimage1781521257837v1.png" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: applyWhen queryLogicalExpression not working</title><link>https://community.appian.com/thread/154918?ContentTypeID=1</link><pubDate>Mon, 15 Jun 2026 10:51:27 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:1f891fc9-3213-4b69-af43-54d47f8ad9c6</guid><dc:creator>EREN_YEAGER</dc:creator><slash:comments>1</slash:comments><comments>https://community.appian.com/thread/154918?ContentTypeID=1</comments><wfw:commentRss>https://community.appian.com/discussions/f/data/40506/applywhen-querylogicalexpression-not-working/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p data-path-to-node="2"&gt;Yes, &lt;code data-path-to-node="2" data-index-in-node="5"&gt;applyWhen&lt;/code&gt; absolutely works inside &lt;code data-path-to-node="2" data-index-in-node="39"&gt;a!queryLogicalExpression()&lt;/code&gt;.&lt;/p&gt;
&lt;p data-path-to-node="3"&gt;The reason your query is still running instead of being ignored is : &lt;b data-path-to-node="3" data-index-in-node="84"&gt;When all filters inside a logical expression evaluate to &lt;code data-path-to-node="3" data-index-in-node="141"&gt;false&lt;/code&gt;, Appian empties the list entirely.&lt;/b&gt; In Appian, an empty filter list doesn&amp;rsquo;t mean &amp;quot;ignore this query&amp;quot; or &amp;quot;return nothing&amp;quot;, it means &lt;b data-path-to-node="3" data-index-in-node="276"&gt;&amp;quot;return everything.&amp;quot;&lt;/b&gt; The system treats it as a blank canvas with no restrictions, which is why your query still executes and fetches data.&lt;br /&gt;&lt;br /&gt;could u give us more clarity on how and where you are applying the applywhen parameter. a code snippet would be helpful.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: applyWhen queryLogicalExpression not working</title><link>https://community.appian.com/thread/154917?ContentTypeID=1</link><pubDate>Mon, 15 Jun 2026 10:32:00 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:75bbe8ec-6cdf-41a9-bb7d-1323d6da5686</guid><dc:creator>mikes519171</dc:creator><slash:comments>0</slash:comments><comments>https://community.appian.com/thread/154917?ContentTypeID=1</comments><wfw:commentRss>https://community.appian.com/discussions/f/data/40506/applywhen-querylogicalexpression-not-working/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;The &lt;a class="decorated-link" href="https://www.vansonjackets.com/product/are-you-a-charlotte-podcast-2026-kristin-davis-leopard-print-sweater/" target="_new" data-start="1043" data-end="1223"&gt;Are You a Charlotte? Podcast 2026 Kristin Davis Leopard Print Sweater&lt;/a&gt; gives off a stylish yet relaxed vibe. I appreciate clothing pieces that make a statement without requiring a lot of accessories, and this sweater seems to do exactly that while remaining comfortable for regular wear.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Sync Failed On Records</title><link>https://community.appian.com/thread/154915?ContentTypeID=1</link><pubDate>Mon, 15 Jun 2026 08:07:38 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:0382b05a-9010-4bc2-a0d9-05fcfa17d9d8</guid><dc:creator>Shubham Aware</dc:creator><slash:comments>0</slash:comments><comments>https://community.appian.com/thread/154915?ContentTypeID=1</comments><wfw:commentRss>https://community.appian.com/discussions/f/data/40505/sync-failed-on-records/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Sync validates uniqueness on one source key field only, so it must be a single, unique, non-null column.&lt;br /&gt;Check if you have any null column.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Sync Failed On Records</title><link>https://community.appian.com/thread/40505?ContentTypeID=0</link><pubDate>Mon, 15 Jun 2026 05:23:54 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:90cfba6e-d713-40f4-92cd-fd112d023cf9</guid><dc:creator>Goddati Venkatesh</dc:creator><slash:comments>1</slash:comments><comments>https://community.appian.com/thread/40505?ContentTypeID=0</comments><wfw:commentRss>https://community.appian.com/discussions/f/data/40505/sync-failed-on-records/rss?ContentTypeId=0</wfw:commentRss><description>&lt;div&gt;
&lt;p&gt;&lt;strong&gt;Hello everyone,&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the recent update (version 26.1), we received a feature that allows us to create sync-enabled record types using a view as the data source.&lt;/p&gt;
&lt;p&gt;In our case, we have a view where we aggregate three fields (e.g., Name, Type, and ID). Since these fields are aggregated, each row is unique, and we have configured this combination as a unique key in the record type.&lt;/p&gt;
&lt;p&gt;Whenever a user updates information in the related tables, the view reflects the latest data. However, since we are using sync-enabled records, the updated data is not immediately available in the record.&lt;/p&gt;
&lt;p&gt;To handle this, we added a &lt;strong&gt;Sync Smart Service&lt;/strong&gt; at the end of the process. But whenever a new record is created or updated with Name, Type, and ID, the smart service fails with the below error.&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="/resized-image/__size/640x480/__key/communityserver-discussions-components-files/16/pastedimage1781501012960v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Since the aggregation ensures there are no duplicate values for this column, and even in the view we see only a single row for each combination, I need guidance on how to handle or resolve this error.&lt;/p&gt;
&lt;/div&gt;</description></item><item><title>Expression evaluation error at function a!queryRecordType Cannot apply operator [INCLUDES] to field [englishconentnew] in a!queryFilter(). The valid data types for [INCLUDES] are [ Integer, (Decimal), Boolean, Date, Date and Time, Recieved Extra Long Text</title><link>https://community.appian.com/thread/40495?ContentTypeID=0</link><pubDate>Wed, 10 Jun 2026 11:09:13 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:4861ca82-4481-445c-afcd-328a1c8f6563</guid><dc:creator>iswaryan3520</dc:creator><slash:comments>3</slash:comments><comments>https://community.appian.com/thread/40495?ContentTypeID=0</comments><wfw:commentRss>https://community.appian.com/discussions/f/data/40495/expression-evaluation-error-at-function-a-queryrecordtype-cannot-apply-operator-includes-to-field-englishconentnew-in-a-queryfilter-the-valid-data-types-for-includes-are-integer-decimal-boolean-date-date-and-time-recieved-ext/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I need to filter data in a record type but the field I want to apply filter on is extra long text it&amp;#39;s throwing error . My actual requirement is I have to show the data in grid with serach options. In the grid data&amp;nbsp; 800 rows are there so I am trying to use custom filters since I cannot use searchbox becase I am not using record data as data source that&amp;#39;s because if the grid column need to display exra long text content it should inly use the query record type . so basically I am facing issue with extra long text but i need it because my data have characteres more than 9000 to 12000 . They all bascially html templates .Is there any way I can have option to filter the data not exact data but matches the query .&lt;/p&gt;</description></item><item><title>RE: Expression evaluation error at function a!queryRecordType Cannot apply operator [INCLUDES] to field [englishconentnew] in a!queryFilter(). The valid data types for [INCLUDES] are [ Integer, (Decimal), Boolean, Date, Date and Time, Recieved Extra Long T</title><link>https://community.appian.com/thread/154896?ContentTypeID=1</link><pubDate>Wed, 10 Jun 2026 14:14:44 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:d35222e1-9468-4e58-84d5-a5a8c472f35f</guid><dc:creator>Harsha Sharma</dc:creator><slash:comments>0</slash:comments><comments>https://community.appian.com/thread/154896?ContentTypeID=1</comments><wfw:commentRss>https://community.appian.com/discussions/f/data/40495/expression-evaluation-error-at-function-a-queryrecordtype-cannot-apply-operator-includes-to-field-englishconentnew-in-a-queryfilter-the-valid-data-types-for-includes-are-integer-decimal-boolean-date-date-and-time-recieved-ext/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;In that case, AFAIK there is no way to filter on an extra long text column.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>