Advanced Customization > Services and Infrastructure Customization > Customizing MPMLink > Custom Data Utility for Identifying Supplier Parts in BOM Transformer
  
Custom Data Utility for Identifying Supplier Parts in BOM Transformer
Windchill provides a mechanism using which supplier parts are grayed out for easy identification in a BOM structure in BOM Transformer . In out of the box configuration, Windchill uses a boolean type soft attribute on a WTPart or its related Plant Data, or Department Data to identify supplier parts. Site administrators can configure the attribute that can be used for this purpose. Refer to Marking Subcontracted Parts and Supplier Parts in BOM Transformer for information about configuring the default behavior. Alternatively, you can implement your own custom data utility to identify supplier parts as per business needs. For example, mark the parts which belongs to a certain supplier organization. For such custom behavior, a customization entry point is provided.
Prerequisite Knowledge
Java classes and concepts such as class extension.
Xconf mechanism to create properties.
Solution
The identification of a WTPart as a supplier part is driven by data utility configured for isSupplierPart selector. The out-of-the-box data utility is com.ptc.windchill.enterprise.associativity.asb.dataUtilities.PartSupplierStatusDataUtility
The data utility produces an integer value for any given object. The integer values have following significance:
Integer
Description
-1
The object passed to data utility is not EnterpriseData and that it is not a valid object to be marked as supplier part.
0
The object is not a supplier part.
1
The object is a supplier part.
The UI layer consumes the integer value and marks the children of any supplier part as gray out.
The registered data utility entry out of the box is as follows:
<Option serviceClass="com.ptc.windchill.enterprise.associativity.asb.dataUtilities.PartSupplierStatusDataUtility"
requestor="java.lang.Object"
selector="isSupplierPart"
cardinality="duplicate"/>