Key | Value |
---|---|
Table | DS05 Schedule Logic |
Severity | CRITICAL |
Unique ID | 9050281 |
Summary | Is this predecessor missing in the schedule? |
Error message | predecessor_task_ID not found in DS04 task_ID list (by schedule_type and subproject_id). |
The Data Integrity and Quality (DIQ) check titled "Predecessor Missing in Schedule" is designed to verify the consistency of task dependencies in the project schedule. This check is performed on the DS05 Schedule Logic table.
The error message "predecessor_task_ID not found in DS04 task_ID list (by schedule_type and subproject_id)" indicates that there is a task in the DS05 Schedule Logic table that is listed as a predecessor to another task, but this task is not found in the DS04 Schedule table. This inconsistency can cause issues in the project schedule, as it implies a dependency on a task that does not exist in the schedule.
The fields causing this issue are the 'predecessor_task_ID' in the DS05 Schedule Logic table and the 'task_ID' in the DS04 Schedule table. The 'schedule_type' and 'subproject_id' fields are also utilized, as they ensure that the task and its predecessor belong to the same type of schedule, either 'FC' (Forecast) or 'BL' (Baseline), and subproject.
The values for the 'predecessor_task_ID' field in the DS05 Schedule Logic table should match the 'task_ID' values in the DS04 Schedule table. If a 'predecessor_task_ID' does not have a corresponding 'task_ID' in the DS04 Schedule table, it will trigger this DIQ check error.
To resolve this issue, review the tasks and their dependencies in both DS05 Schedule Logic and DS04 Schedule tables. Ensure that all predecessor tasks listed in the DS05 table exist in the DS04 table and that they belong to the same schedule type.
This test is being performed to ensure that all predecessor tasks are correctly listed in the schedule. The predecessor task is a task that must be completed (or at least started) before a particular task can begin. If a predecessor task is missing from the schedule, it could lead to confusion, delays, or errors in the project timeline.
The severity of this test is marked as 'CRITICAL', which is the highest level of severity. This means that if this issue is not resolved, the data cannot be reviewed or used for further analysis. It is crucial to fix this error to maintain the integrity and quality of the project management data.
The importance of this check lies in its potential to prevent serious project management issues. By ensuring that all predecessor tasks are correctly listed in the schedule, the project team can accurately plan and execute tasks in the correct order. This helps to prevent delays and ensures that the project progresses smoothly.
CREATE FUNCTION [dbo].[fnDIQ_DS05_Logic_IsPredMissingInDS04] (
@upload_id int = 0
)
RETURNS TABLE
AS RETURN
(
with Tasks as (
SELECT schedule_type, task_ID, ISNULL(subproject_ID,'') SubP
FROM DS04_schedule
WHERE upload_id = @upload_ID
)
SELECT L.*
FROM DS05_schedule_logic L LEFT OUTER JOIN Tasks T ON L.schedule_type = T.schedule_type
AND L.predecessor_task_ID = T.task_ID
AND ISNULL(L.predecessor_subproject_ID,T.SubP) = T.SubP
WHERE upload_id = @upload_ID AND T.task_ID IS NULL
)
Date | Description of Changes |
---|---|
2024-04-30 | Logic adjusted to account for the addition of 'subproject_id' field. |