http://www.freelists.org/archives/wc-programming/01-2004/msg00001.html

I've been thinking about the rules that should be employed to move an
EPMDocument to the hidden repository (non-removal delete).  There are 4
main links that can be created with an EPMDocument, EPMDescribeLink,
EPMReferenceLink, EPMMemberLink and EPMContainedIn.  There is one other
the EPMVariantLink but I'm not sure of its purpose (Anyone? Anyone?
Bueller?).  There seems to be not much issue if the object being removed
links to other objects.  If you could, give some brain cells to this
list to make sure there will be no issues:
1.       EPMDescribesLink - This is part of the build rules to WTParts.
If any of these exist for the EPMDocument, it cannot be removed to the
hidden folder.
2.       EPMReferenceLink - If any other EPMDocument references this
object, it cannot be removed.  Suggest, editing the referencing cad file
such as the part or drawing and removing the reference.  Older
iterations will still show a reference so it should be up to user to
determine whether to apply this rule.  As tests indicate, reference will
still show to removed object but user will not be able to access it.
3.       EPMMemberLink - If this object is used by any other
EPMDocument, it cannot be removed.  This should go for older iterations.
The reverse is not true if this object uses other EPMDocuments.  The
case would be for removing an assembly only.  The components will no
longer show the used by link.
4.       EPMContainedIn - This is a link between a generic and its
instances.  If the object being removed is an instance, it should not be
allowed to be removed.  The generic can be removed but only with all of
its instances going with it.  This is explained below.
5.       Baseline - If object is part of a baseline, it cannot be
removed.  This cannot be overridden.  This could mean that the object is
in a workspace.
If we use the mass delete feature, any violation of the rules above can
be overridden if the linked object also exists in the deletion list.
These rules would be applied after all attempts to complete delete
(remove from database) have been exhausted.  We can assume at this
point, there is some reference to this object, preventing it from being
removed.  The tests will determine if we can hide the item away in the
hidden repository. To the user, it would seem as if the object was
deleted.  
 
Antonio Villanueva
Sun Certified Java Programmer
tonyv1009@xxxxxxxxxxx
203-775-0685
IM:tonyv1009 on AIM
Get the community together and spread the word.
Join the Windchill lists at Freelist.org (bottom)
<http://www.freelists.org/cgi-bin/cat?cat=2> 
