>Hi Gregory,
>
>Thanks - I got thinking along those lines after seeing Al's comment from Friday night - I think the solution #1 would be the easiest to implement. I already have a function called GetTopMostParentID() that I could modify to keep track of which parent_IDs have been processed so far and if I hit a duplicate, to trigger an error (or create a new function to do the same).
>
>Question: what would a candidate index look like and how would I use it? Just wondering where you are going with that.
index on Company_id tag Branch for !deleted() candidate
An office can only occur once as a child
Gregory