Using Custom State causes Date Roll-up to break for ProjectsDescriptionUsing a Custom State such as "On Hold" is causing the Project Date Roll-ups to BreakSteps to Reproduce Prerequisites: 1. Create Custom State Choice for BOTH [pm_project] and [pm_project_task]2. Enter Choice Fields as: Label = "On Hold", Value = 123. Open the [sys_dictionary_override] for State Field where Table = planned_task4. In the 'Attributes' field change "work_in_progress_states=2" to "work_in_progress_states=2;12" Steps: 1. Create a project2. Create a project task: "Prestudy" with Planned duration:80 days3. Create a project task: "Execution" with Planned duration: 150 days4. In planning console create a FS dependency from Prestudy to Execution5. Go to Prestudy and set state to Work in progress6. Go to Execution and change Planned end date (e.g. add 1 month)7. Observe that the changed Planned end date rolls up to Planned end date on the project8. On Prestudy: set state to On hold. Save.9. On Prestudy: set state back to Work in progress. Save.10: Go to Execution and change Planned end date (e.g. add 1 month)11. Expected result: Planned end date rolls up to the Planned end date on the projectActual result: Planned end date NO LONGER rolls up to the projectWorkaroundThis problem is currently under review. You can contact ServiceNow Technical Support or subscribe to this Known Error article by clicking the Subscribe button at the top right of this article to be notified when more information becomes available. Temporary Workaround: Please be sure to revert these workaround changes once you have Upgraded to the Fix Version as listed in this Known Error article. You can apply the following Script Changes to see this issue resolved in your current release: In the "PlannedTaskStateChangeHandler" Script Include: Search for the "recalculationHelper.process(current);" statement and replace all occurrences of it with "recalculationHelper.process(current, previous);" In the "RecalculationHelper" Script Include: Add the below function to this Script Include (See Code Snippet 1).Call the new function from the start of the 'process' function (See Code Snippet 2).See the Screenshot for guidance. New Function for "RecalculationHelper" Script Include [Code Snippet 1]: areStatesInSameBucket: function(current, previous) {var currentTaskStateUtil = new PlannedTaskStateUtil(current);var previousTaskStateUtil = new PlannedTaskStateUtil(previous);var currentStateBucket = currentTaskStateUtil.getBucketForState(current.state);var previousStateBucket = previousTaskStateUtil.getBucketForState(previous.state);if(currentStateBucket == previousStateBucket)return true;elsereturn false;}, Call New Function in "RecalculationHelper" Script Include [Code Snippet 2]: if(this.areStatesInSameBucket(gr, previousGr))return; Guidance Screenshot: Related Problem: PRB1502702