Cancelled Resource Plans stuck

Ferenc Hudak
Tera Expert

The use case we have come across with client:
- Resoure Plan gets cancelled due to replanning. 'Start date' of the plan is 2022.01.01. 'End date' is 2022.12.31.
- Cancelled plan now should be replanned, as project continues
- User can't adjust/update/replan or even delete the plan, all fields are locked and plan is stuck in cancelled phase
- UI Action 'Re-plan' exists for the Resource Plan table, but not visible on the UI

Re-plan UI Action condition: (new RMUIActionHelper(current)).canRePlan()
Buttons and actions for the Resource Plans are handled by script include 'RMUIActionHelper'. Sniplet from the script:

canRePlan: function() {
return gs.hasRole('resource_user') && (this.gr.state == ResourcePlanState.CANCELLED) && this._planStartsInFuture();
}
....
_planStartsInFuture: function() {
var planStartsInFuture = false;
var today = new GlideDate();
var planStartDate = this.gr.start_date.getGlideObject();
if(!gs.nil(planStartDate))
planStartsInFuture = today.compareTo(planStartDate) == -1;
return planStartsInFuture;
}

Based on the logic, replanning is only possible when the 'Start date' of the cancelled plan is in the future. This causes cancelled resource plans with start dates in the past to be stuck on the project, as users (with ressurce_user or resource_manager roles) are not able to modify/update/replan or even delete the plans.

Let me know your thougths and if we are missing something. Ideally all cancelled plans should be enabled for replanning, but at least made possible to delete.

1 ACCEPTED SOLUTION

Ferenc Hudak
Tera Expert

Hi Arnab,

thanks for the input, I also got mainly the same from support. For the sake of completeness:


There is a Delete ACL for "resource_plan" that allows users with the "resource_user" role to delete a Resource Plan if it's in one the following States:

Planning
Requested
Rejected
Change

You could modify this if desired so users could Delete the Resource Plans if they are no longer needed.

This behavior is documented and is considered expected behavior:
https://docs.servicenow.com/en-US/bundle/sandiego-it-business-management/page/product/resource-management/task/t_CancelAResourcePlan.html

This behavior was added awhile back via PRB639228.

 That means deletion should not be possible in the follwing usecases:

- Plan is cancelled, and
- resource plan has actuals already, or
- resource plan has past allocations

Although adjusting ACLs is easy to enable deletion, additional logic will be required to check before deletion, if there's any past data that should be preserved.

 

View solution in original post

3 REPLIES 3

Marilyn1
Tera Contributor

I am not sure this response addresses your question, but here goes ...  Cancelling a resource plan, in my experience, is an action on the part of a resource or project manager and not an automated process and is no longer editable once cancelled.  You can copy them, making less data entry necessary on the new plan.  

Re-planning, if I understand correctly and in our experience, can be done only when a resource plan is rejected.  I have not tested whether a resource plan can be re-planned after rejecting if the date is in the past.  

When a resource plan needs to be extended past the original end date, we use the extend function on the resource plan to extend the end date to future date.  It is important to also add the hours needed between the original end date and the revised end date.  The resource manager must allocate those hours after an extension is requested, unless the resource manager performs the extension, in which case the allocation is automatic. 

An allocated resource plan can be moved to a future start date if no time has been tracked to the resource plan.  In the allocation workbench, a plan can be moved, as a whole, to a future start date in the event the start date is delayed.  We have just begun adjusting the monthly breakdown of hours in the resource / allocation workbench with the PM editing the monthly PLANNED hours and the RM editing the monthly confirm/ alloc hours.  This process is very manual and requires communication, but does allow for monthly differences.

Arnab19
ServiceNow Employee
ServiceNow Employee

Hi Ferenc,

Here is the link to the product documentation for cancellation of resource plans: https://docs.servicenow.com/bundle/rome-it-business-management/page/product/resource-management/task...

It mentions that a cancelled resource plan can be brought back to the Planning state again only if it has no past allocations.

When a resource plan is cancelled, all past and future allocations for the resource plans also get cancelled. However, if there are any actual hours logged against any allocations, those allocations do not get deleted, rather the allocated hours become 0 and the actual hours logged are retained. So, if a resource has done some work based on the allocation and the resource plan gets cancelled, the system would retain that information. That's the reason why you cannot replan a cancelled resource plan. 

You can always copy the resource plan and start the plan again with much less manual data entry.

Ferenc Hudak
Tera Expert

Hi Arnab,

thanks for the input, I also got mainly the same from support. For the sake of completeness:


There is a Delete ACL for "resource_plan" that allows users with the "resource_user" role to delete a Resource Plan if it's in one the following States:

Planning
Requested
Rejected
Change

You could modify this if desired so users could Delete the Resource Plans if they are no longer needed.

This behavior is documented and is considered expected behavior:
https://docs.servicenow.com/en-US/bundle/sandiego-it-business-management/page/product/resource-management/task/t_CancelAResourcePlan.html

This behavior was added awhile back via PRB639228.

 That means deletion should not be possible in the follwing usecases:

- Plan is cancelled, and
- resource plan has actuals already, or
- resource plan has past allocations

Although adjusting ACLs is easy to enable deletion, additional logic will be required to check before deletion, if there's any past data that should be preserved.