Key | Value |
---|---|
Table | DS05 Schedule Logic |
Severity | MAJOR |
Unique ID | 1050234 |
Summary | Does this SS or FF relationship exist alongside an FS or SF relationship? (Note: This DIQ is not indicative of a definitive issue with the schedule; rather, it is designed to raise awareness about the SS and FF relationships that it flags and indicates that further investigation may be needed into how they relate to the Critical Path, Hammocks, and/or apportionment.) |
Error message | Predecessor has at least one SS or FF relationship (type = SS or FF) and one non-SS or non-FF relationship tied to it (type = SF or FS). |
The following text was generated by an AI tool and hasn't been reviewed for accuracy by a human! It might be useful, but it also might have errors. Are you a human? You can help by reviewing it for accuracy! Edit it as needed then remove this message.
The Data Integrity and Quality (DIQ) check titled "SS or FF Improperly Linked With Other Relationship Types" is designed to ensure that the relationship types in the DS05 Schedule Logic table are correctly linked.
This check specifically looks for instances where a Start-to-Start (SS) or Finish-to-Finish (FF) relationship exists alongside a Finish-to-Start (FS) or Start-to-Finish (SF) relationship. This is not a valid combination, as a task cannot simultaneously have both types of relationships.
The error message "Predecessor has at least one SS or FF relationship (type = SS or FF) and one non-SS or non-FF relationship tied to it (type = SF or FS)" indicates that the issue lies in the 'type' field of the DS05 Schedule Logic table.
The expected values for the 'type' field are either 'SS', 'FF', 'FS', or 'SF'. However, the DIQ check is flagging instances where a predecessor task has both an 'SS' or 'FF' relationship and an 'FS' or 'SF' relationship.
To resolve this issue, review the 'type' field for each predecessor task in the DS05 Schedule Logic table. Ensure that each task only has one type of relationship, either 'SS', 'FF', 'FS', or 'SF', and not a combination of these.
Note: This DIQ is not indicative of a definitive issue with the schedule; rather, it is designed to raise awareness about the SS and FF relationships that it flags and indicates that further investigation may be needed into how they relate to the Critical Path, Hammocks, and/or apportionment.
The following text was generated by an AI tool and hasn't been reviewed for accuracy by a human! It might be useful, but it also might have errors. Are you a human? You can help by reviewing it for accuracy! Edit it as needed then remove this message.
This test is being performed on the 'DS05 Schedule Logic' table to check for any instances where a Start-to-Start (SS) or Finish-to-Finish (FF) relationship exists alongside a Finish-to-Start (FS) or Start-to-Finish (SF) relationship. The test is designed to identify any predecessor that has at least one SS or FF relationship and one non-SS or non-FF relationship tied to it.
The importance of this check lies in ensuring the logical consistency and accuracy of the project schedule. In project management, these relationships represent dependencies between tasks. Having an SS or FF relationship alongside an FS or SF relationship could lead to confusion, misinterpretation, and potential scheduling errors.
The severity of this test is marked as 'MAJOR', which implies that while it may not immediately prevent the data from being reviewed, it is likely to cause problems during the analysis of the project schedule. Therefore, it is crucial to address this issue to maintain the integrity and quality of the project management data.
CREATE FUNCTION [dbo].[fnDIQ_DS05_Logic_IsSSorFFRelTypeImproperlyLinked] (
@upload_id int = 0
)
RETURNS TABLE
AS RETURN
(
with Flags as (
SELECT schedule_type, predecessor_task_ID, ISNULL(predecessor_subproject_ID,'') PSubP, STRING_AGG(type, ',') WITHIN GROUP (ORDER BY type) Type
FROM DS05_schedule_logic
WHERE upload_ID = @upload_ID
GROUP BY schedule_type, predecessor_task_ID, ISNULL(predecessor_subproject_ID,'')
)
SELECT L.*
FROM DS05_schedule_logic L INNER JOIN Flags F ON L.schedule_type = F.schedule_type
AND L.predecessor_task_ID = F.predecessor_task_ID
AND ISNULL(L.predecessor_subproject_ID,'') = F.PSubP
WHERE upload_ID = @upload_ID
AND (
F.[Type] LIKE '%SS%FS%'
OR F.[Type] LIKE '%FS%SS%'
OR F.[Type] LIKE '%SS%SF%'
OR F.[Type] LIKE '%SF%SS%'
OR F.[Type] LIKE '%FF%FS%'
OR F.[Type] LIKE '%FS%FF%'
OR F.[Type] LIKE '%FF%SF%'
OR F.[Type] LIKE '%SF%FF%'
)
)
Date | Description of Changes |
---|---|
2024-04-30 | Logic adjusted to account for the addition of the predecessor_subproject_ID field. |
2024-08-08 | Summary updated to include note. |