- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-18-2016 01:38 AM
Hi Experts,
I need to implement Impact assessment with set of questions/scores same like it is existing for Risk Assessment in the change form.
I have a list of questions and scores provided separately for both Risk as well as Impact, and can see that currently Risk assessment is already implemented, which also calculates Impact with it for each change by default.
I need to perform this action separately for both Risk & Impact. I have gone through few links Using Change Risk Assessment - ServiceNow Wiki which explains the concept clearly, for this.
However, there are links(UI actions) mentioned in this page like "Fill out Risk Assessment" and "Execute Risk Calculation". The 1st UI action, contains set of question only for Risks which calculates based on scores. Similarly I need to implement this for Impact as well like adding new UI actions only for Impact something like this--> "Fill out Impact Assessment" and "Execute Impact Calculation". I know I can copy paste same code for Impact as well, but need to know some additional background scripts running behind this, i.e., BRs and Script includes, also System properties. How these are inter related.
Could any one please guide me on this?
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-29-2016 03:15 AM
Hi,
I have implemented this for Impact assessment by creating a table for Impact Assessment similar as Risk Assessment. Also, applied same scripts for Impact process separately as similar to Risks.
Hence, Marking this as resolved.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-29-2016 03:15 AM
Hi,
I have implemented this for Impact assessment by creating a table for Impact Assessment similar as Risk Assessment. Also, applied same scripts for Impact process separately as similar to Risks.
Hence, Marking this as resolved.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-17-2017 07:52 PM
Hi Rathika,
Can you please share steps you followed for impact assessment configuration.
Regards,
Jayantha
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-19-2017 11:40 PM
Hi Jayantha,
I have followed below steps for implementing this:
1. Created a new custom table for Impact assessment thresholds (u_impact_assessment_thresholds), with 3 fields similar to impact assessment - assessment (ref type - Assessment Master), score greater than (based on my set of questions and calc required) & impact. Added this related list from task table (extended) in change form.
2. Added set of assessment questions for Impact with list of choices required to calculate impact score.
3. Created UI actions and Script includes for Impact Assessment calculation, as similar to the one existing for risk assessment.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-16-2017 04:16 AM
Hi Rathika,
I have a custom table, where in i have to do the impact assessment based on the question and answers, i have created the 'Impact assessment thresholds' and all, but not sure about 'UI actions and Script includes for Impact Assessment calculation' you have mentioned about.
Could you help me?
Thanks
Yogish
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-22-2017 04:42 AM
Hi Yogesh,
I have created 2 UI actions as below:
1. Impact Assessment Only - link for assessment inputs:
onclick: invokeImpactAssessment()
condn: !current.isNewRecord()
script:
//create task_assessment record and open impact assessment in popup window
function invokeImpactAssessment(){
var id = g_form.getUniqueValue();
var ga = new GlideAjax('CreateImpactAssessment');
ga.addParam('sysparm_name','checkImpactAssessment');
ga.addParam('sysparm_id',id);
ga.addParam('sysparm_class','change_request');
ga.getXMLWait();
var impact = ga.getAnswer();
g_form.hideAllFieldMsgs();
if (impact == 'No Condition'){
g_form.addInfoMessage('There are no Impact assessments defined for this request');
}
else {
var impactArr = [];
impactArr = impact.split(',', 2);
var taskAsmtID = impactArr[0];
var assessmentName = impactArr[1];
if (assessmentName!= 'Impact Assessment Score'){
g_form.addInfoMessage('This request doesnot satisfy any pre-defined Impact assessments conditions');
return false;
}
var d = new GlideOverlay({
title: 'Survey only for Impact Assessment',
form: 'survey_take'
});
d.setPreference("sysparm_task_assessment", taskAsmtID);
d.setPreference("sysparm_survey", assessmentName);
d.setPreference("sysparm_survey_update", "false");
d.render();
}
}
2. Execute Impact Only - link for execution(Calculates only impact of current change request using logic in the IACalculator script):
Condn: !current.isNewRecord() && gs.hasRole('itil') && gs.getProperty('glide.ui.risk_calculate_rule') == "ui_action"
Script:
var scr = new IACalculator();
var takenRAImpact = '';
var IassessmentMatch = scr.checkForMatchingAssessment(current.sys_class_name, current);
if (IassessmentMatch == '') {
calcI();
}
else {
takenRAImpact = scr.checkForAssessmentInstance(current.sys_id);
//the correct assessment has been taken
if (takenRAImpact != '' && takenRAImpact == IassessmentMatch){
calcI();
}
if (takenRAImpact != '' && takenRAImpact != IassessmentMatch){
gs.addInfoMessage(gs.getMessage('Incorrect impact assessment taken, please fill out a new assessment'));
}
if (takenRAImpact == ''){
gs.addInfoMessage(gs.getMessage('An impact assessment is required, please fill out the impact assessment'));
}
}
function calcI() {
var impact = scr.calculateImpact(current);
current.update();
}
action.setRedirectURL(current);