Product documentation Docs
    • English
    • Deutsch
    • 日本語
    • 한국어
    • Français
  • More Sites
    • Now Community
    • Developer Site
    • Knowledge Base
    • Product Information
    • ServiceNow.com
    • Training
    • Customer Success Center
    • ServiceNow Support Videos
  • Log in

Product documentation

  • Home
How search works:
  • Punctuation and capital letters are ignored
  • Special characters like underscores (_) are removed
  • Known synonyms are applied
  • The most relevant topics (based on weighting and matching to search terms) are listed first in search results
Topics are ranked in search results by how closely they match your search terms
  • A match on the entire phrase you typed
  • A match on part of the phrase you typed
  • A match on ALL of the terms in the phrase you typed
  • A match on ANY of the terms in the phrase you typed

Note: Matches in titles are always highly ranked.

  • Release version
    Table of Contents
    • IT Service Management
Table of Contents
Choose your release version
    Home New York IT Service Management IT Service Management Change Management Activate Change Management plugins Activate Change Management - State Model Update change request states

    Update change request states

    • Save as PDF Selected topic Topic & subtopics All topics in contents
    • Unsubscribe Log in to subscribe to topics and get notified when content changes.
    • Share this page

    Update change request states

    If you upgraded from a release prior to Geneva, you must update old state labels to new state labels after you activate the Change Management state model.

    About this task

    State values for current change records are not modified when you activate the Change Management state model. However, your current change records display the new state labels in the state field.

    State value New state label Old state label
    -5 New Pending
    -4 Assess (Not used)
    -3 Authorize (Not used)
    -2 Scheduled (Not used)
    -1 Implement (Not used)
    0 Review (Not used)
    1 (Not used) Open
    2 (Not used) Work in Progress
    3 Closed Closed Complete
    4 Canceled Closed Incomplete
    7 (Not used) Closed Skipped

    For example, records with a state value of -5 have the Pending state label before the Change Management state model is activated. After the state model is activated, these records retain the state value of -5 but have the New label. To use your organization's required change management process with the state model, you must update state values to the new labels in your existing change records as appropriate, either manually or by script.

    You must also update any reports that run queries based on old state labels to reflect the new state labels.

    Procedure

    1. To automatically update the state field values from old state labels to new state labels, customize and then run the following sample script:
      updateStates();
      
      function updateStates() {
      
        function hasApprovers(changeGr) {
          var approverGr = new GlideRecord("sysapproval_approver");
          approverGr.addQuery('sysapproval', changeGr.getUniqueValue());
          approverGr.query();
          return approverGr.getRowCount() > 0;
        }
      
        function hasRunningWorkflows(changeGr) {
          var workflow = new Workflow();
          var workflowGr = workflow.getRunningFlows(changeGr);
          var hasRunningFlows = workflowGr.getRowCount() > 0;
          return hasRunningFlows;
        }
      
        // Old State Model
        var PENDING = '-5';
        var OPEN = '1';
        var CLOSED_COMPLETE = '3';
        var CLOSED_INCOMPLETE = '4';
        var CLOSED_SKIPPED = '7';
      
        // New State Model
        var NEW = '-5';
        var ASSESS = '-4';
        var AUTHORIZE = '-3';
        var SCHEDULED = '-2';
        var IMPLEMENT = '-1';
        var REVIEW = '0';
        var CLOSED = '3';
        var CANCELLED = '4';
      
        // Find all change requests
        var record = new GlideRecord('change_request');
        record.query();
      
        // Update state from old value to new value
        while (record.next()) {
          switch(record.getValue('state')) {
            case OPEN:
              if (!hasRunningWorkflows(record) && !hasApprovers(record))
                record.state = NEW;
              break;
            case CLOSED_COMPLETE:
              record.state = CLOSED;
              record.close_code = "successful";
              break;
            case CLOSED_SKIPPED:
              record.state = CANCELLED;
              record.close_code = "unsuccessful";
              break;
            case CLOSED_INCOMPLETE:
              record.state = CLOSED;
              record.close_code = "successful_issues";
              break;
          }
          record.autoSysFields(false);
          record.setWorkflow(false);
          record.update();
        }
      
      }
      
    2. Verify that the state labels have changed in existing change request records.
    Related reference
    • Installed with Change Management - State Model

    Tags:

    Feedback
    On this page

    Previous topic

    Next topic

    • Contact Us
    • Careers
    • Terms of Use
    • Privacy Statement
    • Sitemap
    • © ServiceNow. All rights reserved.

    Release version
    Choose your release version

      Update change request states

      • Save as PDF Selected topic Topic & subtopics All topics in contents
      • Unsubscribe Log in to subscribe to topics and get notified when content changes.
      • Share this page

      Update change request states

      If you upgraded from a release prior to Geneva, you must update old state labels to new state labels after you activate the Change Management state model.

      About this task

      State values for current change records are not modified when you activate the Change Management state model. However, your current change records display the new state labels in the state field.

      State value New state label Old state label
      -5 New Pending
      -4 Assess (Not used)
      -3 Authorize (Not used)
      -2 Scheduled (Not used)
      -1 Implement (Not used)
      0 Review (Not used)
      1 (Not used) Open
      2 (Not used) Work in Progress
      3 Closed Closed Complete
      4 Canceled Closed Incomplete
      7 (Not used) Closed Skipped

      For example, records with a state value of -5 have the Pending state label before the Change Management state model is activated. After the state model is activated, these records retain the state value of -5 but have the New label. To use your organization's required change management process with the state model, you must update state values to the new labels in your existing change records as appropriate, either manually or by script.

      You must also update any reports that run queries based on old state labels to reflect the new state labels.

      Procedure

      1. To automatically update the state field values from old state labels to new state labels, customize and then run the following sample script:
        updateStates();
        
        function updateStates() {
        
          function hasApprovers(changeGr) {
            var approverGr = new GlideRecord("sysapproval_approver");
            approverGr.addQuery('sysapproval', changeGr.getUniqueValue());
            approverGr.query();
            return approverGr.getRowCount() > 0;
          }
        
          function hasRunningWorkflows(changeGr) {
            var workflow = new Workflow();
            var workflowGr = workflow.getRunningFlows(changeGr);
            var hasRunningFlows = workflowGr.getRowCount() > 0;
            return hasRunningFlows;
          }
        
          // Old State Model
          var PENDING = '-5';
          var OPEN = '1';
          var CLOSED_COMPLETE = '3';
          var CLOSED_INCOMPLETE = '4';
          var CLOSED_SKIPPED = '7';
        
          // New State Model
          var NEW = '-5';
          var ASSESS = '-4';
          var AUTHORIZE = '-3';
          var SCHEDULED = '-2';
          var IMPLEMENT = '-1';
          var REVIEW = '0';
          var CLOSED = '3';
          var CANCELLED = '4';
        
          // Find all change requests
          var record = new GlideRecord('change_request');
          record.query();
        
          // Update state from old value to new value
          while (record.next()) {
            switch(record.getValue('state')) {
              case OPEN:
                if (!hasRunningWorkflows(record) && !hasApprovers(record))
                  record.state = NEW;
                break;
              case CLOSED_COMPLETE:
                record.state = CLOSED;
                record.close_code = "successful";
                break;
              case CLOSED_SKIPPED:
                record.state = CANCELLED;
                record.close_code = "unsuccessful";
                break;
              case CLOSED_INCOMPLETE:
                record.state = CLOSED;
                record.close_code = "successful_issues";
                break;
            }
            record.autoSysFields(false);
            record.setWorkflow(false);
            record.update();
          }
        
        }
        
      2. Verify that the state labels have changed in existing change request records.
      Related reference
      • Installed with Change Management - State Model

      Tags:

      Feedback

          Share this page

          Got it! Feel free to add a comment
          To share your product suggestions, visit the Idea Portal.
          Please let us know how to improve this content

          Check any that apply

          To share your product suggestions, visit the Idea Portal.
          Confirm

          We were unable to find "Coaching" in Jakarta. Would you like to search instead?

          No Yes
          • Contact Us
          • Careers
          • Terms of Use
          • Privacy Statement
          • Sitemap
          • © ServiceNow. All rights reserved.

          Subscribe Subscribed Unsubscribe Last updated: Tags: January February March April May June July August September October November December No Results Found Versions Search preferences successfully updated My release version successfully updated My release version successfully deleted An error has occurred. Please try again later. You have been unsubscribed from all topics. You are now subscribed to and will receive notifications if any changes are made to this page. You have been unsubscribed from this content Thank you for your feedback. Form temporarily unavailable. Please try again or contact  docfeedback@servicenow.com  to submit your comments. The topic you requested does not exist in the release. You were redirected to a related topic instead. The available release versions for this topic are listed There is no specific version for this documentation. Explore products Click to go to the page. Release notes and upgrades Click to open the dropdown menu. Delete Remove No selected version Reset This field is required You are already subscribed to this topic Attach screenshot The file you uploaded exceeds the allowed file size of 20MB. Please try again with a smaller file. Please complete the reCAPTCHA step to attach a screenshot
          Log in to personalize your search results and subscribe to topics
          No, thanks Login