While trying to convince my clients NOT to put any predecessors or successors
on Summary Tasks, I did a search and found this discussion. Here's what I
usually suggest to people:
If there's a PREDECESSOR on a Summary task, it means that section can't
start until the Predecessor task is done. Figure out which Detail Task within
that section is the real Successor... the one that has to wait until the Pred
is done. Is it the first task in the section? If so, put the Predecessor on
that first task, remove from the Summary task. Is the Predecessor a pred for
ALL tasks in the section? Put on all.
Are the links between the Detail tasks in the section represented fully? If
not, add the right predecessors/successors to them.
If there's a SUCCESSOR on a Summary task, it means that Successor should not
get started until ALL the tasks in that section are done. So add a Milestone
at the end of the section to say that the section is completed (e.g.
"<Summary Task Name> Completed)". Put the Successor on the Milestone line
instead. Make sure all Detail tasks in the section flow through to the
milestone, whether one to the next to next, or each one having the Milestone
task ID in their Successor column.
Apologies to those of you who may think this explanation is obvious.
- Aviva
Post by JohnPost by unknownPlease can someone help me to resolve the issue, Iam too facing the same
issue of circular reference and unable to either outdent or indent
LG,
I assume you are still able to at least open the file. If so, apply the
built-in filter for "Summary Tasks" and look at the Predecessor and
Successor fields. There should be nothing in either field. If there is,
delete the predecessor and/or successor from the summary line. Yes, that
will change your project's logic, but it is necessary to get things back
to normal.
If the Predecessor and Successor fields on all summary lines are clear
then the circular relationship is more subtle. There is no quick and
simple way to find it. There are two basic approaches I can think of.
One is to painstakingly go through all the link logic in the file and
trace the paths. I've used this method in the past and believe it or
not, the "culprit" will eventually show up.
The second approach involves VBA. Although I don't have the exact macro
to do this I do have one that works in a similar manner with master
files that contain circular relationships. Basically it stores all link
information in a couple of spare fields. The existing Predecessor and
Successor fields are then cleared and the stored information is used to
re-create the link structure. When the algorithm hits the link that
would cause a circular relationship, the code faults thus telling the
user where the problem is.
Good luck.
John
Project MVP