<?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>question Re: How to Show Alerts for Selected Glide List Records Based on a Choice Field in ServiceNow? in Virtual Agent forum</title>
    <link>https://www.servicenow.com/community/virtual-agent-forum/how-to-show-alerts-for-selected-glide-list-records-based-on-a/m-p/3191063#M15482</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://www.servicenow.com/community/user/viewprofilepage/user-id/846047"&gt;@satyamchoud&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The approach looks fine however i found few mistakes in code.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1. If(glidelist) -&amp;gt; It should be if (!glidelist)&amp;nbsp; &amp;nbsp;----- Its should go inside the loop when there is no value.&lt;/P&gt;&lt;P&gt;2. In Client Side I believe you don't need to parse it since in server side it's not an object.&lt;/P&gt;&lt;P&gt;3.&amp;nbsp;while (grCMDB.next()) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; results.push(grCMDB.getValue('name') + " - Reopen is True");&lt;/P&gt;&lt;P&gt;}&amp;nbsp; &amp;nbsp; ////&amp;nbsp; Why are you concatenating&amp;nbsp;" - Reopen is True". It's Not required until you want to show specific alert message.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For debugging use:&lt;/P&gt;&lt;P&gt;1. gs.info (server Side) to check if glidesit array is storing proper values. If yes, then check values are correctly pushing in your result array again by gs.info()&lt;/P&gt;&lt;P&gt;2. g_form.addInfomessage(response) (Client Side) to check what is your response showing or try to write your code in Background Script for quick testing to check script include code.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please refer the snip on similar lines and make changes accordingly.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RohitSingh3_0-1740682601366.png"&gt;&lt;img src="https://www.servicenow.com/community/image/serverpage/image-id/422688i59F795B835639336/image-dimensions/713x287?v=v2" alt="RohitSingh3_0-1740682601366.png" title="RohitSingh3_0-1740682601366.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;If my response proves useful, please indicate its helpfulness by selecting " Accept as Solution" and " Helpful." This action benefits both the community and me.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;Regards,&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;Rohit&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;</description>
    <pubDate>Thu, 27 Feb 2025 19:06:42 GMT</pubDate>
    <dc:creator>Rohit  Singh</dc:creator>
    <dc:date>2025-02-27T19:06:42Z</dc:date>
    <item>
      <title>How to Show Alerts for Selected Glide List Records Based on a Choice Field in ServiceNow?</title>
      <link>https://www.servicenow.com/community/virtual-agent-forum/how-to-show-alerts-for-selected-glide-list-records-based-on-a/m-p/3191015#M15481</link>
      <description>&lt;P&gt;&lt;STRONG&gt;Hello Everyone,&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;I am working on a &lt;STRONG&gt;requirement in the Incident table&lt;/STRONG&gt; where I need to verify whether the selected Configuration Items (&lt;STRONG&gt;CMDB_CI&lt;/STRONG&gt;) have a u_reopen_list field set to true. If true, I want to display an alert with the names of those records.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Requirement:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;1️. &lt;STRONG&gt;Incident Table (&lt;/STRONG&gt;&lt;STRONG&gt;incident&lt;/STRONG&gt;&lt;STRONG&gt;)&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Added a &lt;STRONG&gt;Glide List&lt;/STRONG&gt; field: u_glide_list&lt;/LI&gt;&lt;LI&gt;Target Table: cmdb_ci&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;2️. &lt;STRONG&gt;CMDB Table (&lt;/STRONG&gt;&lt;STRONG&gt;cmdb_ci&lt;/STRONG&gt;&lt;STRONG&gt;)&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Added a &lt;STRONG&gt;Choice Field&lt;/STRONG&gt;: u_reopen_list (Values: true / false)&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;3️. &lt;STRONG&gt;Functionality Needed:&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;When users &lt;STRONG&gt;select multiple records in the &lt;/STRONG&gt;&lt;STRONG&gt;u_glide_list&lt;/STRONG&gt;&lt;STRONG&gt; field&lt;/STRONG&gt;, I need to check if any of them have u_reopen_list = true.&lt;/LI&gt;&lt;LI&gt;If &lt;STRONG&gt;true&lt;/STRONG&gt;, show a pop-up with the names of those records.&lt;/LI&gt;&lt;LI&gt;If &lt;STRONG&gt;false&lt;/STRONG&gt;, no alert should appear.&lt;/LI&gt;&lt;LI&gt;This should trigger &lt;STRONG&gt;onChange&lt;/STRONG&gt; of u_glide_list.&lt;/LI&gt;&lt;LI&gt;The logic should be handled using a &lt;STRONG&gt;Script Include (server-side) and a Client Script (client-side).&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;What I Have Done So Far?&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Created a Script Include (CheckReopenStatus)&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;var CheckReopenStatus = Class.create();&lt;/P&gt;&lt;P&gt;CheckReopenStatus.prototype = Object.extendsObject(AbstractAjaxProcessor, {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; checkReopen: function() {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var glideList = this.getParameter('sysparm_glideList'); // Get selected values&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (glideList) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return JSON.stringify([]); // Return empty array if nothing selected&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var sysIds = glideList.split(','); // Convert to an array&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var results = [];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var grCMDB = new GlideRecord('cmdb_ci');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;grCMDB.addQuery('sys_id', 'IN', sysIds);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; grCMDB.addQuery('u_reopen_list', 'true'); // Check for reopen = true&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; grCMDB.query();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (grCMDB.next()) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; results.push(grCMDB.getValue('name') + " - Reopen is True");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return JSON.stringify(results); // Return names&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; type: 'CheckReopenStatus'&lt;/P&gt;&lt;P&gt;});&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Created a Client Script (&lt;/U&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;U&gt;onChange&lt;/U&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;U&gt; on &lt;/U&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;U&gt;u_glide_list&lt;/U&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;U&gt;)&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;function onChange(control, oldValue, newValue, isLoading, isTemplate) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (isLoading || newValue === '') {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var glideList = g_form.getValue('u_glide_list'); // Get selected values&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (glideList) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var ga = new GlideAjax('CheckReopenStatus');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ga.addParam('sysparm_name', 'checkReopen');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ga.addParam('sysparm_glideList', glideList);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ga.getXMLAnswer(function(response) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var messageArray = JSON.parse(response);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (messageArray.length &amp;gt; 0) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alert(messageArray.join("\n")); // Show alerts&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;Issue:&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;The script &lt;STRONG&gt;is not showing an alert&lt;/STRONG&gt; when the condition matches.&lt;/LI&gt;&lt;LI&gt;I have ensured that the Script Include is &lt;STRONG&gt;Client Callable&lt;/STRONG&gt;, but it's still not working.&lt;/LI&gt;&lt;LI&gt;No error appears, but nothing happens when I change the Glide List field.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;Question:&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG&gt;What could be missing in my setup?&lt;/STRONG&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Is there a better approach to achieve this requirement?&lt;/STRONG&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;How can I debug this issue in ServiceNow?&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I would appreciate any guidance or corrections. Thank you in advance&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 27 Feb 2025 17:43:11 GMT</pubDate>
      <guid>https://www.servicenow.com/community/virtual-agent-forum/how-to-show-alerts-for-selected-glide-list-records-based-on-a/m-p/3191015#M15481</guid>
      <dc:creator>satyamchoud</dc:creator>
      <dc:date>2025-02-27T17:43:11Z</dc:date>
    </item>
    <item>
      <title>Re: How to Show Alerts for Selected Glide List Records Based on a Choice Field in ServiceNow?</title>
      <link>https://www.servicenow.com/community/virtual-agent-forum/how-to-show-alerts-for-selected-glide-list-records-based-on-a/m-p/3191063#M15482</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://www.servicenow.com/community/user/viewprofilepage/user-id/846047"&gt;@satyamchoud&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The approach looks fine however i found few mistakes in code.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1. If(glidelist) -&amp;gt; It should be if (!glidelist)&amp;nbsp; &amp;nbsp;----- Its should go inside the loop when there is no value.&lt;/P&gt;&lt;P&gt;2. In Client Side I believe you don't need to parse it since in server side it's not an object.&lt;/P&gt;&lt;P&gt;3.&amp;nbsp;while (grCMDB.next()) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; results.push(grCMDB.getValue('name') + " - Reopen is True");&lt;/P&gt;&lt;P&gt;}&amp;nbsp; &amp;nbsp; ////&amp;nbsp; Why are you concatenating&amp;nbsp;" - Reopen is True". It's Not required until you want to show specific alert message.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For debugging use:&lt;/P&gt;&lt;P&gt;1. gs.info (server Side) to check if glidesit array is storing proper values. If yes, then check values are correctly pushing in your result array again by gs.info()&lt;/P&gt;&lt;P&gt;2. g_form.addInfomessage(response) (Client Side) to check what is your response showing or try to write your code in Background Script for quick testing to check script include code.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please refer the snip on similar lines and make changes accordingly.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RohitSingh3_0-1740682601366.png"&gt;&lt;img src="https://www.servicenow.com/community/image/serverpage/image-id/422688i59F795B835639336/image-dimensions/713x287?v=v2" alt="RohitSingh3_0-1740682601366.png" title="RohitSingh3_0-1740682601366.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;If my response proves useful, please indicate its helpfulness by selecting " Accept as Solution" and " Helpful." This action benefits both the community and me.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;Regards,&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;Rohit&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 27 Feb 2025 19:06:42 GMT</pubDate>
      <guid>https://www.servicenow.com/community/virtual-agent-forum/how-to-show-alerts-for-selected-glide-list-records-based-on-a/m-p/3191063#M15482</guid>
      <dc:creator>Rohit  Singh</dc:creator>
      <dc:date>2025-02-27T19:06:42Z</dc:date>
    </item>
  </channel>
</rss>

