Business Continuity Management RTO Gap Calculation
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-25-2022 07:21 AM
We are in the process of deploying BCM. Trying to understand how RTO Gaps are calculated. I have created sample BIA and completed the RTO Impact and Dependency Assessments. I also have a Plan with a defined Scope, Loss Scenario and completed the Asset Dependencies and Recovery Strategies. Can't get the RTO Gap Workspace section to populate:
Thanks in advance for your help
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-04-2022 08:46 AM
Good morning, I am also interested in this process. Have you learned anything on your question since you posted it?
Thank you.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-04-2022 09:28 AM
Hi Robert,
Yes. There is a Business Rule in the sn_bcp_plan_asset table called GetRTOGapDuration which controls the calculation of the gap. It requires both the recovery_time_objective and recovery_time_achievable fields for each plan asset to have data:
Here is the BR:
(function executeRule(current, previous /*null when async*/) {
// Add your code here
var recoveryTimeObjectiveString = current.recovery_time_objective.starts_at;
var recoveryTimeAchievableString = current.recovery_time_achievable.starts_at;
var isRtoGapUnobtainable = !recoveryTimeObjectiveString || !recoveryTimeAchievableString;
if (isRtoGapUnobtainable) {
current.recovery_time_objective_gap = '';
return;
}
var recoveryTimeObjectiveDateTime = new GlideDateTime(recoveryTimeObjectiveString);
var recoveryTimeAchievableDateTime = new GlideDateTime(recoveryTimeAchievableString);
var isRtoGapPresent = recoveryTimeObjectiveDateTime.compareTo(recoveryTimeAchievableDateTime) === -1;
var rtoGap;
if (isRtoGapPresent) {
rtoGap = new GlideDuration(recoveryTimeAchievableDateTime.getNumericValue() - recoveryTimeObjectiveDateTime.getNumericValue());
}
else {
rtoGap = new GlideDuration(0);
}
current.recovery_time_objective_gap = rtoGap;
})(current, previous);
The calculations are now working for me:
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-20-2022 02:25 AM
Hey, does anyone know where this Recovery Time Achievable fields gets populated by? Is it calculated by a rule, or it needs to be manually populated?