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:
- Create and add diagnostic features
- Add diagnostic and fix scripts to fix corrupt or invalid project data
- Create Diagnostic scans and map related scripts
- Define fields for users to create specific filter conditions. The diagnostic scripts use the results of these filter conditions as input for detecting any corrupt or invalid data.
Project Diagnostics page provides the default scans described in the following table.
| Diagnostic Scan Name | Description |
|---|---|
| Tasks with invalid top task | Lists 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 portfolio | Lists 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 program | Lists 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 relations | Lists 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 tasks | Lists the tasks that have empty or invalid parents. |
| Check for tasks with cyclic dependencies | Checks 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 project | Recalculates task dates in a project. Avertissement : Performing this action
might change the dates in a project. |
| Check duplicate/redundant relationships | Lists tasks that have duplicate or redundant relations in the selected projects. |
| Cost plans with no start and end fiscal period | Checks and lists cost plans with no start and end fiscal period within the selected projects. |
| Validate project task constraints in project | Lists 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 state | Lists 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 periods | Checks and lists the projects that have negative fiscal year project budgets. |
| Identify discrepancies in project budget | Checks 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 periods | Checks and lists the cost plan breakdowns with invalid fiscal periods. |
| Identify duplicate task type breakdowns for an expense type and a fiscal period | Checks and lists the duplicate task type breakdowns. |
| Associate orphan expense lines to the system generated cost plan | Lists 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. |