Skip to content
Release: Australia · Updated: 2026-03-12 · Official documentation · View source

Project Diagnostics

Project Diagnostics enables you to detect corrupt data in a project such as task validity, dependencies, and relationships using diagnostic scans that execute diagnostic scripts. You can also fix corrupt data using fix scripts.

Data might become corrupt or invalid for various reasons, such as:

  • Incorrect field mapping during project import
  • Incorrect scheduling of tasks
  • Incorrect dependency and relationship definitions

Project Diagnostics uses diagnostic scans and fix scripts to detect and fix corrupt data in your projects. It enables you to do the following action:

Project Diagnostics page provides the default scans described in the following table.

Diagnostic Scan NameDescription
Tasks with invalid top taskLists the tasks that have an invalid top task. A task is considered to have an invalid top task if the value for the top task is set to Null or is mapped to a different task in the hierarchy.
Tasks with invalid top portfolioLists the tasks that have an invalid top portfolio. A task is considered to have an invalid top portfolio if it belongs to a different portfolio or is not associated with any portfolio.
Tasks with invalid top programLists the tasks that have an invalid top program. A task is considered to have an invalid top program if it belongs to a different program in the same portfolio or is not associated with any program.
Invalid relationsLists the invalid relations in a project.A relation is considered to be invalid if the predecessor or successor is not a part of the project \(unless it is an external relation\), or if the predecessor or successor record does not exist in the system.
Validate parent tasksLists the tasks that have empty or invalid parents.
Check for tasks with cyclic dependenciesChecks for any cyclic relations, which are not permitted, in a project. For example, suppose you have a project in which Task A is related to Task B. A reverse relation from Task B to Task A would be considered a cyclic dependency.
Recalculate projectRecalculates task dates in a project.Warning: Performing this action might change the dates in a project.
Check duplicate/redundant relationshipsLists tasks that have duplicate or redundant relations in the selected projects.
Cost plans with no start and end fiscal periodChecks and lists cost plans with no start and end fiscal period within the selected projects.
Validate project task constraints in projectLists all tasks with invalid constraint types. For example, a task with Start no later than set as a parent or the Constraint date field is empty for a task with Start no earlier than and Start no later than constraint.
Validate tasks with invalid stateLists all tasks with invalid WIP or Closed state based on actual dates.
Identify projects with negative planned cost for any year where the budget was not allocated to the corresponding fiscal periodsChecks and lists the projects that have negative fiscal year project budgets.
Identify discrepancies in project budgetChecks and lists the projects for which project funding does not match with the sum of task type breakdown cost or fiscal year project budget.
Identify cost plan breakdowns with invalid fiscal periodsChecks and lists the cost plan breakdowns with invalid fiscal periods.
Identify duplicate task type breakdowns for an expense type and a fiscal periodChecks and lists the duplicate task type breakdowns.
Associate orphan expense lines to the system generated cost planLists the expense lines that are not associated to any cost plan. When you run the fix script, these orphan expense lines are associated to a system-generated cost plan and then to the respective breakdowns of the system-generated cost plan.