- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-01-2020 01:28 AM
Hello,
(function executeRule(current, previous /*null when async*/ ) {
var responseSLA;
var resolutionSLA;
var resCheck;
var resoCheck;
var durCheck;
var slaCheck = new GlideRecord('task_sla');
slaCheck.addQuery('task', current.sys_id);
slaCheck.query();
while (slaCheck.next()) {
if (slaCheck.task.assignment_group.name.includes('Supply')) {
if (slaCheck.sla == 'c791bb61dbd658508a7cd0b2ca961906') {
responseSLA = slaCheck.start_time.getDisplayValue();
}
if (slaCheck.sla == '7ea3bba1dbd658508a7cd0b2ca9619ac' && slaCheck.stage == 'completed') {
resolutionSLA = slaCheck.end_time.getDisplayValue();
}
calcTime();
}
if (slaCheck.task.assignment_group.name.includes('AOG')) {
if (slaCheck.sla == '4858c35fdb9b50508a7cd0b2ca9619df') {
responseSLA = slaCheck.start_time.getDisplayValue();
}
if (slaCheck.sla == '6d48835fdb9b50508a7cd0b2ca961950' && slaCheck.stage == 'completed') {
resolutionSLA = slaCheck.end_time.getDisplayValue();
}
calcTime();
}
}
function calcTime() {
resCheck = GlideDateTime(responseSLA);
resoCheck = GlideDateTime(resolutionSLA);
durCheck = GlideDateTime.subtract(resCheck, resoCheck);
var finalTime = new GlideDuration(durCheck);
current.u_supplychain_calc = finalTime;
}
//current.update();
})(current, previous);
Above code will do subtraction of start and end date of two sla when it is completed. I want to subtract pause duration value from "finalTime" value. FYI, pause value is a duration field from task_sla. Can anyone assist on this.
Solved! Go to Solution.
- Labels:
-
Scripting and Coding
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-07-2020 09:37 PM
This got resolved by getting pause time as below
pauseDuration = slaCheck.pause_duration.dateNumericValue();
and after that,
durCheck = GlideDateTime.subtract(resCheck, resoCheck).getNumericValue();
var subTime = durCheck - pauseDuration;
var finalTime = current.u_supplychain_calc.setDateNumericValue(subTime);

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-01-2020 04:32 PM
Just .subtract() GlideDuration together.
(function executeRule(current, previous /*null when async*/ ) {
var responseSLA;
var resolutionSLA;
var resCheck;
var resoCheck;
var durCheck;
var pauseDuration;
var slaCheck = new GlideRecord('task_sla');
slaCheck.addQuery('task', current.sys_id);
slaCheck.query();
while (slaCheck.next()) {
if (slaCheck.task.assignment_group.name.includes('Supply')) {
if (slaCheck.sla == 'c791bb61dbd658508a7cd0b2ca961906') {
responseSLA = slaCheck.start_time.getDisplayValue();
}
if (slaCheck.sla == '7ea3bba1dbd658508a7cd0b2ca9619ac' && slaCheck.stage == 'completed') {
resolutionSLA = slaCheck.end_time.getDisplayValue();
}
calcTime();
}
if (slaCheck.task.assignment_group.name.includes('AOG')) {
if (slaCheck.sla == '4858c35fdb9b50508a7cd0b2ca9619df') {
responseSLA = slaCheck.start_time.getDisplayValue();
}
if (slaCheck.sla == '6d48835fdb9b50508a7cd0b2ca961950' && slaCheck.stage == 'completed') {
resolutionSLA = slaCheck.end_time.getDisplayValue();
}
calcTime();
}
pauseDuration = slaCheck.pause_duration;
}
function calcTime() {
resCheck = GlideDateTime(responseSLA);
resoCheck = GlideDateTime(resolutionSLA);
durCheck = GlideDateTime.subtract(resCheck, resoCheck);
var diffTime = new GlideDuration(durCheck);
var finalTime = diffTime.subtract(pauseDuration);
current.u_supplychain_calc = finalTime;
}
//current.update();
})(current, previous);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-04-2020 09:58 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-04-2020 10:53 PM
The error may be caused when pause_duration is empty. Try adding if condition to check if not empty.
if (pauseDuration) {
var finalTime = diffTime.subtract(pauseDuration);
current.u_supplychain_calc = finalTime;
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-04-2020 11:25 PM