Unable to Change Normal Change to Emergency Change ("Change model presets cannot be modified")

snehalkausa
Tera Contributor

 

Hi Team,

I have a requirement where a scheduled job identifies Normal Change Requests that are still in the Assess state but have missed their CAB approval window. The job automatically reverts such changes back to the New state.

After the change is reverted to New, the CAB Manager should be able to convert the Change Request from Normal to Emergency.

However, when attempting to change the type to Emergency, I receive the following error:

"Change model presets cannot be modified."

My understanding is that the Change Request was originally created using the Normal Change Model, and when I try to change the type at runtime, ServiceNow does not allow modification of the associated model presets.

To address this, I have tried:

  1. Setting the chg_model field to blank before updating the type.

  2. Setting the chg_model field to the Emergency Change Model sys_id.

  3. Updating the record via script before changing the type.

Unfortunately, none of these approaches work, and the same error is displayed.

 Is there a supported way to convert an existing Normal Change Request to an Emergency Change Request after creation?

//  Query change_request ONLY by CAB MONDAY window and CI's CSC REVIEW is TRUE
var mondayChangeSysIds = [];
var cscchgGR = new GlideRecord('change_request');
cscchgGR.addQuery('type', 'normal');
cscchgGR.addQuery('state', '-4');
cscchgGR.addQuery('start_date', '>=', firstMonday.getValue()); // Tue 16:00 local -> UTC[web:10]
cscchgGR.addQuery('start_date', '<=', nextMonday.getValue());
cscchgGR.addQuery('sys_updated_on', '<=', refSat);
//cscchgGR.addQuery('cmdb_ci', 'IN', ciIds.join(','));
cscchgGR.addQuery('cmdb_ci.u_csc_review', '=', 'true');
cscchgGR.orderBy('start_date');
cscchgGR.query();
var candidates_csc = 0;
while (cscchgGR.next()) {
    candidates_csc++;
    mondayChangeSysIds.push(cscchgGR.sys_id.toString());
    cscchgGR.state = -5;
    chgGR.setValue('chg_model','62d10fa1c303101035ae3f52c1d3aec1');//Emergency change model id 62d10fa1c303101035ae3f52c1d3aec1
    //chgGR.chg_model='';
    cscchgGR.work_notes = 'This change is Auto-reverted from Assess to NEW State';
    cscchgGR.update();
    //gs.eventQueue('change.reverted.to.new', cscchgGR, gs.getUserID(), gs.nowDateTime());
    gs.eventQueue('change.reverted.to.new', cscchgGR, cscchgGR.assigned_to.email, cscchgGR.u_manager_approval_group.email);  

}

Any guidance would be appreciated.

Thanks.

4 REPLIES 4

Dr Atul G- LNG
Tera Patron

Hi @snehalkausa 

 

This is expected behaviour as per the process.

Once a change has been raised and moved to the next stage (or even further), it cannot be modified. If any updates are required, the existing change should be cancelled and a new change should be raised with the updated details. This ensures proper tracking and adherence to the standard change management process.

*************************************************************************************************************
Regards
Dr. Atul G. - Learn N Grow Together
ServiceNow Techno - Functional Trainer
LinkedIn: https://www.linkedin.com/in/dratulgrover
YouTube: https://www.youtube.com/@LearnNGrowTogetherwithAtulG
Topmate: https://topmate.io/dratulgrover [ Connect for 1-1 Session]

****************************************************************************************************************

Hi,

Thank you for the reply.
Do we have any work around for this? As this process was working earlier when we were using Workflow.
However as per updated requirement, we have implemented change management by using flow designer. As per my understanding the issue encountered due to shifting from workflow to flow as flow uses Model instead of change type.
 

I doubt we have any workaround for this.

The reason is that earlier we were using the Change Type, whereas now we are using the Model. The model is tightly coupled with the flow, and as per understanding, it has been locked to prevent changes once the process has progressed.

It would be better to create a new change rather than modifying the existing one. Changing the model or type on an in-flight change could also impact reporting and historical data accuracy. Creating a new change ensures proper tracking and avoids any unintended side effects.

*************************************************************************************************************
Regards
Dr. Atul G. - Learn N Grow Together
ServiceNow Techno - Functional Trainer
LinkedIn: https://www.linkedin.com/in/dratulgrover
YouTube: https://www.youtube.com/@LearnNGrowTogetherwithAtulG
Topmate: https://topmate.io/dratulgrover [ Connect for 1-1 Session]

****************************************************************************************************************

Tanushree Maiti
Tera Patron

Hi @snehalkausa 

 

Based on my understanding, the type of a change request cannot be changed after it has been created.

 

If a different type is required, the current change request would need to be canceled and a new one created with the correct type.

 

 

Please Accept the solution if it assisted you with your question & Mark this response as Helpful.
Regards
Tanushree Maiti
ServiceNow Technical Architect
LinkedIn: https://www.linkedin.com/in/tanushreemaiti