componentTrace
The componentTrace data contains information about components that cannot be uniquely identified (Batch ID Components like materials, bulk goods, or sub-components without their own identifiers).
Sample XML telegram (complete)
This document describes the complete componentTrace section of XML telegrams used in Part Traceability.
Click to unfold sample XML telegram version 1
<?xml version="1.0" encoding="UTF-8"?>
<documents contentType="QualityData">
<document>
…
<componentTrace>
<components/>
</componentTrace>
</document>
</documents>
Click to unfold sample XML telegram version 2
<?xml version="1.0" encoding="UTF-8"?>
<documents contentType="QualityData">
<document>
…
<componentTrace>
<batchElements/>
<batchComponents/>
</componentTrace>
</document>
</documents>
Sample XML telegrams (detailed sections)
This document describes the version 1 of componentTrace in XML telegrams used in Part Traceability.
components (version 1)
Click to unfold sample XML telegram
<componentTrace>
<components>
<component typeNo="" batchName="51564_5465" MATLabel="" batchName2="" manufacturer="" bc1="" bc2="" bc3="" bc4="" batchClass="" />
<component typeNo="" batchName="51564_5465" MATLabel="" batchName2="" manufacturer="" bc1="" bc2="" bc3="" bc4="" batchClass="" />
</components>
</componentTrace>
components (version 2)
This document describes the version 2 of componentTrace in XML telegrams used in Part Traceability.
Click to unfold sample XML telegram
<componentTrace>
<batchElements>
<batchElement id="1" batchName="" manufacturer="" typeNo="" bc1="" bc2="" bc3="" bc4=""/>
<batchElement id="2" batchName="" manufacturer="" typeNo="" bc1="" bc2="" bc3="" bc4=""/>
</batchElements>
<batchComponents>
<batchComponent refId="1" tx="2" ty="3" sx="" sy="" refDes="S100"/>
<batchComponent refId="2" tx="2" ty="3" sx="" sy="" refDes="S100"/>
</batchComponents>
</componentTrace>
XSD file
A componentTrace XSD file is available for download.
Click to unfold componentTrace XSD
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://opcon.dc.modules.qualitydata/dtos/trace"
xmlns="http://opcon.dc.modules.qualitydata/dtos/trace"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<!-- ========== COMMON TYPES ========== -->
<!-- Unicode allowed text -->
<xs:simpleType name="Str20">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="20"/>
<xs:pattern value="[\p{L}\p{N}_\-\.]+"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Str40">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="40"/>
<xs:pattern value="[\p{L}\p{N}_\-\.]+"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Str80">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="80"/>
<xs:pattern value="[\p{L}\p{N}_\-\.]+"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Str50">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="50"/>
<xs:pattern value="[\p{L}\p{N}_\-\.]+"/>
</xs:restriction>
</xs:simpleType>
<!-- ISO 8601 datetime with timezone -->
<xs:simpleType name="DateTimeTZ">
<xs:restriction base="xs:string">
<xs:pattern value="\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+\-]\d{2}:\d{2})"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="UInt">
<xs:restriction base="xs:integer">
<xs:minInclusive value="0"/>
</xs:restriction>
</xs:simpleType>
<!-- ========== COMPONENT TRACE ========== -->
<xs:element name="componentTrace">
<xs:complexType>
<xs:sequence>
<!-- Batch Elements -->
<xs:element name="batchElements">
<xs:complexType>
<xs:sequence>
<xs:element name="batchElement" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="id" type="UInt" use="required"/> <!-- Unique (sequential) number that starts with 0 -->
<xs:attribute name="batchName" type="Str80" use="optional"/> <!-- The core name of the batch. The value is required when no MATId is available -->
<xs:attribute name="MATLabel" type="Str80" use="optional"/> <!-- The material identifier. The value is required when no batchName is available. -->
<xs:attribute name="batchName2" type="Str80" use="optional"/> <!-- Alternative (second) batch name. Name from manufacturer or target name for the customer -->
<xs:attribute name="manufacturer" type="Str80" use="optional"/> <!-- The manufacturer name/identifier. If the information cannot be provided by a specific client (e.g. PLC), the value is retrieved from the Material Management module via background job -->
<xs:attribute name="typeNo" type="Str80" use="optional"/> <!-- The type number of the batch -->
<xs:attribute name="bc1" type="Str80" use="optional"/> <!-- Barcode -->
<xs:attribute name="bc3" type="Str80" use="optional"/> <!-- Barcode -->
<xs:attribute name="bc4" type="Str80" use="optional"/> <!-- Barcode -->
<xs:attribute name="bc2" type="Str80" use="optional"/> <!-- Barcode -->
<xs:attribute name="batchClass" type="Str80" use="optional"/> <!-- Batch classification string (compare class of Unique ID Components) -->
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Batch Components -->
<xs:element name="batchComponents">
<xs:complexType>
<xs:sequence>
<xs:element name="batchComponent" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="refId" type="UInt" use="required"/> <!-- Unique (sequential) number that starts with 0 -->
<xs:attribute name="tx" type="UInt" use="required"/> <!-- Element position number (starts with 1) -->
<xs:attribute name="ty" type="UInt" use="optional"/>
<xs:attribute name="sx" type="xs:integer" use="optional"/>
<xs:attribute name="sy" type="xs:integer" use="optional"/>
<xs:attribute name="refDes" type="Str80" use="required"/> <!-- Reference designator information -->
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Components -->
<xs:element name="components">
<xs:complexType>
<xs:sequence>
<xs:element name="component" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="typeNo" type="Str20" use="optional"/> <!-- The type number of the component -->
<xs:attribute name="batchName" type="Str80" use="optional"/> <!-- The core name of the batch. The value is required when no MATLabel is available -->
<xs:attribute name="MATLabel" type="Str80" use="optional"/> <!-- The material identifier. The value is required when no batchName is available -->
<xs:attribute name="batchName2" type="Str80" use="optional"/> <!-- Alternative (second) batch name. Name from manufacturer or target name for the customer -->
<xs:attribute name="manufacturer" type="Str80" use="optional"/> <!-- The manufacturer name/identifier -->
<xs:attribute name="bc1" type="Str80" use="optional"/> <!-- Barcode -->
<xs:attribute name="bc2" type="Str80" use="optional"/> <!-- Barcode -->
<xs:attribute name="bc3" type="Str80" use="optional"/> <!-- Barcode -->
<xs:attribute name="bc4" type="Str80" use="optional"/> <!-- Barcode -->
<xs:attribute name="batchClass" type="Str80" use="optional"/> <!-- Batch classification string -->
</xs:complexType>
<xs:key name="componentKey">
<xs:selector xpath="."/>
<xs:field xpath="@batchName|@MATLabel"/>
</xs:key>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- ========== DOCUMENT ROOT ========== -->
<xs:element name="componentTraceDocument">
<xs:complexType>
<xs:sequence>
<xs:element ref="componentTrace"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>