<?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 Validate parent case mrvs before closing child task in Community Central forum</title>
    <link>https://www.servicenow.com/community/community-central-forum/validate-parent-case-mrvs-before-closing-child-task/m-p/3550128#M7017</link>
    <description>&lt;P&gt;I have a case (sn_customerservice_case) which has a child task that I don't want to close until a mrvs on the parent is not empty.&lt;/P&gt;&lt;P&gt;I have created a Before Update Business Rule and while this appears to validate correctly if I attempt to close the child task with an empty mrvs, it also does not recognise when the mrvs is not empty and issues an error.&lt;/P&gt;&lt;P&gt;The code is:&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;function&lt;/SPAN&gt;&lt;SPAN&gt; executeRule(current, previous &lt;/SPAN&gt;&lt;SPAN&gt;/*null when async*/&lt;/SPAN&gt;&lt;SPAN&gt;) {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;var&lt;/SPAN&gt;&lt;SPAN&gt; parentCase = &lt;/SPAN&gt;&lt;SPAN&gt;new&lt;/SPAN&gt; &lt;SPAN&gt;GlideRecord&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;'sn_customerservice_case'&lt;/SPAN&gt;&lt;SPAN&gt;); &lt;/SPAN&gt;&lt;SPAN&gt;// Adjust table name if needed&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt; (parentCase.&lt;/SPAN&gt;&lt;SPAN&gt;get&lt;/SPAN&gt;&lt;SPAN&gt;(current.parent)) {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;var&lt;/SPAN&gt;&lt;SPAN&gt; mrvsData = parentCase.variables.approved_quantities_backend; &lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt; (gs.nil(mrvsData) || mrvsData == &lt;/SPAN&gt;&lt;SPAN&gt;'[]'&lt;/SPAN&gt;&lt;SPAN&gt;) {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; gs.addErrorMessage(&lt;/SPAN&gt;&lt;SPAN&gt;'You cannot close this task. The Approved Quantities on the Parent must be completed.'&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; current.setAbortAction(&lt;/SPAN&gt;&lt;SPAN&gt;true&lt;/SPAN&gt;&lt;SPAN&gt;); &lt;/SPAN&gt;&lt;SPAN&gt;// Aborts the save/close action&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;return&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; }&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;})(current, previous);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Any help would be appreciated.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
    <pubDate>Thu, 28 May 2026 01:38:32 GMT</pubDate>
    <dc:creator>IreneBest</dc:creator>
    <dc:date>2026-05-28T01:38:32Z</dc:date>
    <item>
      <title>Validate parent case mrvs before closing child task</title>
      <link>https://www.servicenow.com/community/community-central-forum/validate-parent-case-mrvs-before-closing-child-task/m-p/3550128#M7017</link>
      <description>&lt;P&gt;I have a case (sn_customerservice_case) which has a child task that I don't want to close until a mrvs on the parent is not empty.&lt;/P&gt;&lt;P&gt;I have created a Before Update Business Rule and while this appears to validate correctly if I attempt to close the child task with an empty mrvs, it also does not recognise when the mrvs is not empty and issues an error.&lt;/P&gt;&lt;P&gt;The code is:&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;function&lt;/SPAN&gt;&lt;SPAN&gt; executeRule(current, previous &lt;/SPAN&gt;&lt;SPAN&gt;/*null when async*/&lt;/SPAN&gt;&lt;SPAN&gt;) {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;var&lt;/SPAN&gt;&lt;SPAN&gt; parentCase = &lt;/SPAN&gt;&lt;SPAN&gt;new&lt;/SPAN&gt; &lt;SPAN&gt;GlideRecord&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;'sn_customerservice_case'&lt;/SPAN&gt;&lt;SPAN&gt;); &lt;/SPAN&gt;&lt;SPAN&gt;// Adjust table name if needed&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt; (parentCase.&lt;/SPAN&gt;&lt;SPAN&gt;get&lt;/SPAN&gt;&lt;SPAN&gt;(current.parent)) {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;var&lt;/SPAN&gt;&lt;SPAN&gt; mrvsData = parentCase.variables.approved_quantities_backend; &lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt; (gs.nil(mrvsData) || mrvsData == &lt;/SPAN&gt;&lt;SPAN&gt;'[]'&lt;/SPAN&gt;&lt;SPAN&gt;) {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; gs.addErrorMessage(&lt;/SPAN&gt;&lt;SPAN&gt;'You cannot close this task. The Approved Quantities on the Parent must be completed.'&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; current.setAbortAction(&lt;/SPAN&gt;&lt;SPAN&gt;true&lt;/SPAN&gt;&lt;SPAN&gt;); &lt;/SPAN&gt;&lt;SPAN&gt;// Aborts the save/close action&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;return&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; }&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;})(current, previous);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Any help would be appreciated.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 28 May 2026 01:38:32 GMT</pubDate>
      <guid>https://www.servicenow.com/community/community-central-forum/validate-parent-case-mrvs-before-closing-child-task/m-p/3550128#M7017</guid>
      <dc:creator>IreneBest</dc:creator>
      <dc:date>2026-05-28T01:38:32Z</dc:date>
    </item>
    <item>
      <title>Re: Validate parent case mrvs before closing child task</title>
      <link>https://www.servicenow.com/community/community-central-forum/validate-parent-case-mrvs-before-closing-child-task/m-p/3550162#M7020</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://www.servicenow.com/community/user/viewprofilepage/user-id/450175"&gt;@IreneBest&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Your are using setAbortAction(). Then why you have added "return;"&lt;/P&gt;&lt;P&gt;Remove Return; line&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN class=""&gt;(&lt;/SPAN&gt;&lt;SPAN class=""&gt;function&lt;/SPAN&gt;&lt;SPAN class=""&gt; executeRule(current, previous &lt;/SPAN&gt;&lt;SPAN class=""&gt;/*null when async*/&lt;/SPAN&gt;&lt;SPAN class=""&gt;) {
    &lt;/SPAN&gt;&lt;SPAN class=""&gt;var&lt;/SPAN&gt;&lt;SPAN class=""&gt; parentCase = &lt;/SPAN&gt;&lt;SPAN class=""&gt;new&lt;/SPAN&gt;&lt;SPAN class=""&gt; GlideRecord(&lt;/SPAN&gt;&lt;SPAN class=""&gt;'sn_customerservice_case'&lt;/SPAN&gt;&lt;SPAN class=""&gt;);
    &lt;/SPAN&gt;&lt;SPAN class=""&gt;if&lt;/SPAN&gt;&lt;SPAN class=""&gt; (parentCase.&lt;/SPAN&gt;&lt;SPAN class=""&gt;get&lt;/SPAN&gt;&lt;SPAN class=""&gt;(current.parent)) {
       &lt;/SPAN&gt;&lt;SPAN class=""&gt;var&lt;/SPAN&gt;&lt;SPAN class=""&gt; mrvsData = parentCase.variables.&lt;SPAN&gt;approved_quantities_backend&lt;/SPAN&gt;; 
       &lt;/SPAN&gt; &lt;SPAN class=""&gt;if&lt;/SPAN&gt;&lt;SPAN class=""&gt; (gs.nil(mrvsData) || mrvsData == &lt;/SPAN&gt;&lt;SPAN class=""&gt;'[]'&lt;/SPAN&gt;&lt;SPAN class=""&gt; || mrvsData == &lt;/SPAN&gt;&lt;SPAN class=""&gt;''&lt;/SPAN&gt;&lt;SPAN class=""&gt;) {
            &lt;/SPAN&gt;&lt;SPAN class=""&gt; gs.addErrorMessage(&lt;/SPAN&gt;&lt;SPAN class=""&gt;'&lt;SPAN&gt;You cannot close this task. The Approved Quantities on the Parent must be completed.&lt;/SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN class=""&gt;);
            current.setAbortAction(&lt;/SPAN&gt;&lt;SPAN class=""&gt;true&lt;/SPAN&gt;&lt;SPAN class=""&gt;);
        }
    }

})(current, previous);&lt;/SPAN&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 28 May 2026 03:49:12 GMT</pubDate>
      <guid>https://www.servicenow.com/community/community-central-forum/validate-parent-case-mrvs-before-closing-child-task/m-p/3550162#M7020</guid>
      <dc:creator>Tanushree Maiti</dc:creator>
      <dc:date>2026-05-28T03:49:12Z</dc:date>
    </item>
    <item>
      <title>Re: Validate parent case mrvs before closing child task</title>
      <link>https://www.servicenow.com/community/community-central-forum/validate-parent-case-mrvs-before-closing-child-task/m-p/3550164#M7021</link>
      <description>&lt;P&gt;Thanks for the quick reply.&lt;/P&gt;&lt;P&gt;Unfortunately this did not fix the issue, only made it appear that the task was closed when it wasn't.&lt;/P&gt;</description>
      <pubDate>Thu, 28 May 2026 04:00:07 GMT</pubDate>
      <guid>https://www.servicenow.com/community/community-central-forum/validate-parent-case-mrvs-before-closing-child-task/m-p/3550164#M7021</guid>
      <dc:creator>IreneBest</dc:creator>
      <dc:date>2026-05-28T04:00:07Z</dc:date>
    </item>
    <item>
      <title>Re: Validate parent case mrvs before closing child task</title>
      <link>https://www.servicenow.com/community/community-central-forum/validate-parent-case-mrvs-before-closing-child-task/m-p/3550166#M7022</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://www.servicenow.com/community/user/viewprofilepage/user-id/450175"&gt;@IreneBest&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Try this script with Before Update BR&amp;nbsp;&lt;/P&gt;&lt;P&gt;condition:&amp;nbsp;State changes to Closed&amp;nbsp;&lt;/P&gt;&lt;P&gt;Sample script:&lt;/P&gt;&lt;P&gt;(function executeRule(current, previous &lt;EM&gt;/*null when async*/&lt;/EM&gt;) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var parentCase = new GlideRecord('sn_customerservice_case');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (parentCase.get(current.parent)) { &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; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var mrvsJson = parentCase.variables.approved_quantities_backend;&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 isEmpty = true;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (mrvsJson) {&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 parsedData = JSON.parse(mrvsJson);&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 (parsedData.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; isEmpty = false;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (isEmpty) {&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; gs.addErrorMessage(‘You cannot close this task. The Approved Quantities on the Parent must be completed.');&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; current.setAbortAction(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;</description>
      <pubDate>Thu, 28 May 2026 04:07:28 GMT</pubDate>
      <guid>https://www.servicenow.com/community/community-central-forum/validate-parent-case-mrvs-before-closing-child-task/m-p/3550166#M7022</guid>
      <dc:creator>Tanushree Maiti</dc:creator>
      <dc:date>2026-05-28T04:07:28Z</dc:date>
    </item>
    <item>
      <title>Re: Validate parent case mrvs before closing child task</title>
      <link>https://www.servicenow.com/community/community-central-forum/validate-parent-case-mrvs-before-closing-child-task/m-p/3550170#M7023</link>
      <description>&lt;P&gt;&lt;a href="https://www.servicenow.com/community/user/viewprofilepage/user-id/450175"&gt;@IreneBest&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;this should work fine&lt;/P&gt;
&lt;LI-CODE lang="javascript"&gt;(function executeRule(current, previous) {

    // Run only when closing the child task
    if (!current.state.changesTo('3'))  // replace 3 with your actual closed state value
        return;

    var parentCase = new GlideRecord('sn_customerservice_case');
    if (!parentCase.get(current.parent))
        return;

   var mrvs = parentCase.variables.approved_quantities_backend + '';
if (!mrvs || mrvs == '[]' || JSON.parse(mrvs).length === 0) {
    gs.addErrorMessage('You cannot close this task. The Approved Quantities on the Parent must be completed.');
    current.setAbortAction(true);
}

})(current, previous);&lt;/LI-CODE&gt;
&lt;P&gt;&lt;span class="lia-unicode-emoji" title=":light_bulb:"&gt;💡&lt;/span&gt; If my response helped, please mark it as correct &lt;span class="lia-unicode-emoji" title=":white_heavy_check_mark:"&gt;✅&lt;/span&gt; and close the thread &lt;span class="lia-unicode-emoji" title=":locked:"&gt;🔒&lt;/span&gt;— this helps future readers find the solution faster! &lt;span class="lia-unicode-emoji" title=":folded_hands:"&gt;🙏&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 28 May 2026 04:36:48 GMT</pubDate>
      <guid>https://www.servicenow.com/community/community-central-forum/validate-parent-case-mrvs-before-closing-child-task/m-p/3550170#M7023</guid>
      <dc:creator>Ankur Bawiskar</dc:creator>
      <dc:date>2026-05-28T04:36:48Z</dc:date>
    </item>
  </channel>
</rss>

