Part Relations
Px part relations data is processed from the relatedParts.xml file where relationship types such as supersession, cross-references, and alternates are identified in the role attribute on the Relation tag and the corresponding source and target attributes or children. For AND groupings, Px uses the Source and Target tags contained in Relation. Supported relationships include one-to-one, one-to-many, and many-to-one. AND and OR relationships are also supported.
Applicability of the parts relation is provided in the Metadata tag contained in Relation. By default, quantity, date and description attributes are supported on Metadata. If you want to transform additional metadata, then you need to add a new attribute in the customization XSL file.
For calculating the forward and backward supersession chain, the anchor Part Group is used and traversed accordingly either in a forward or backward direction. If the supersession group of part is found , that means the chain of an individual part is being calculated.
The root element of the relatedParts.xml file is Relationships. The file contains the following significant markup:
• Relation element
◦ role attribute
◦ src attribute
◦ tgt attribute
• Target element
• Source element
• Objectref element
◦ href attribute
Parts relation can also be loaded from third party SAP or through a CSV file. For these inputs, the groupID attribute for the Group element should be a combination of object number and org name. This group ID attribute present is used to create the anchor and arc between parts.
Following is an example of part relations.
<Relation id="wt.supersede.SupersedeGroup:6121937"
quantity="2"
role="supersession"
src="x-wc://f03a22d72215f49d:wt.part.WTPartMaster:BRPDL003B"
target="x-wc://52d4a5903feea56:wt.part.WTPartMaster:BRPDL003F"/>
The quantity attribute defines the number of target parts.
<Property token="ModifyDate">
<Value>2016-03-29 18:30:00.0</Value>
</Property>
Defines the date value on the part relation.
<Property token="Description">
<Value>Case2: 1:N,RC001A superseded by RC Supersede B and RC Supersede C
</Value>
</Property>
Defines the description value on the part relation.
Transformation Steps for Part Relations
The IMAN registry file is generated in the work area during the initialize the transform process. The IMANConfig.xml file has the following entry for the part relation group:
<Type name="GROUP">
<IdentifyingAttributes>
<Property name="uri"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="objNumber"/>
<Property name="orgName"/>
</OtherAttributes>
</Type>
Following are the transformation steps:
1. The transformation of Part Relations passes all the parts registry to IMAN.
2. IMAN will return two files, directRelation.xml (all relations associated with the parts registry) and IndirectRelation.xml (group specific relations for those groups which are identified in DirectRelation.xml).
3. Transformation:
a. Add the objects present in the current set of relations defined in the bundle.
b. Identify objects to be deleted by comparing DirectRelation.xml and relatedParts.xml, excluding group member relations.
c. Handle group member relations in DirectRelation.xml:
For non-common group members (a group found in DirectRelation.xml, but not in relatedParts.xml), identify the group specific registry ID from DirectRelation.xml and mark the group for deletion.
For common group member relations in DirectRelation.xml and relatedParts.xml, identify the group specific registry ID from DirectRelation.xml and relatedParts.xml, and then look for Indirect.xml to exclude other relations which are not part of PR.
d. Send the relations to be added or deleted to IMAN and the Registry.
e. Send the groups to be deleted to IMAN.
4. IMAN deletes the identified relations and groups.
Data Filtering
Filtering information is supported on part relations. Following is the data filtering definition on a part relation element:
<xsl:call-template name="set-calc-applic">
<xsl:with-param name="logicalExpr1" select="apexLE"/>
<xsl:with-param name="logicalExpr2" select="apexSE"/>
<xsl:with-param name="logicalExpr3" select="apexAC"/>
<xsl:with-param name="docTypeValue"/>
</xsl:call-template>
Also supported is part relation anchor and arc filtering. Following is the data filtering definition on a part relation anchor and arc:
<xsl:call-template name="calc-applic-arc">
<xsl:with-param name="applicRoot" select="apexLE"/>
<xsl:with-param name="docTypeValue"/>
<xsl:with-param name="effRoot" select="apexSE"/>
<xsl:with-param name="arcFiltering" select="'true'"/>
</xsl:call-template>