<?xml version="1.0" encoding="utf-8"?>
<!--
        
        ** OAGIS® Revision: 9.1  **
        ** Date: 11 May 2007 **
        ** Copyright 1997-2007, All Rights Reserved **
        
        This is an OAGIS® BOD XML Schema (XSD) Definition.
        
       License information for this file is provided in the file **OAGi License Agreement.txt** that is provided with this download package.
        
        For support, more information, or to report implementation bugs, please contact the Open Applications Group at xml@openapplications.org.
        
        XML Schema 
        
-->
<!--
© Copyright 2007 Infor Global Solutions Technology GmbH and/or its affiliates and subsidiaries. All rights reserved. The 
word and design marks set forth herein are trademarks and/or registered trademarks of Infor Global Solutions 
Technology GmbH and/or its affiliates and subsidiaries. All rights reserved. All other trademarks listed herein 
are the property of their respective owners.
 
-->
<!--    *****     Update Log     *****
 
Date                By      Note
04 Mar 2013   BvO    New noun
04 Nov 2014	  LA	Added QualitySpecificationReference to InspectionTaskType and 
				    QualityTest to InspectionTaskLineType
        *****     Update End     *****
 
-->
<xsd:schema targetNamespace="http://schema.infor.com/InforOAGIS/2"
	xmlns="http://schema.infor.com/InforOAGIS/2" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xsd:include schemaLocation="../Components/Operational/QualityComponents.xsd"/>

	<xsd:element name="InspectionOrder" type="InspectionOrderType">
		<xsd:annotation>
			<xsd:documentation> Inspection orders can roughly be divided into 3 categories: (1)
				inspections of products that are purchased, produced, or sold; (2) production
				routing inspections, which are not related to an origin order; (3) storage
				inspections - quality inspections for items in inventory. Each InspectionOrder BOD
				message contains a single inspection order and its tasks and task
				lines.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name="InspectionOrderType">
		<xsd:sequence>
			<xsd:element ref="InspectionOrderHeader" minOccurs="0"/>
			<xsd:element ref="InspectionOrderTask" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:element name="InspectionOrderHeader" type="InspectionOrderHeaderType">
		<xsd:annotation>
			<xsd:documentation source="http://schema.infor.com/InforOAGIS/2">The header information
				of the inspection order.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="InspectionOrderTask" type="InspectionOrderTaskType">
		<xsd:annotation>
			<xsd:documentation source="http://schema.infor.com/InforOAGIS/2">Typically, an
				inspection order results in an inspection task for the Quality Management
				team.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="InspectionOrderTaskLine" type="InspectionOrderTaskLineType">
		<xsd:annotation>
			<xsd:documentation source="http://schema.infor.com/InforOAGIS/2">An inspection task may
				consist of multiple inspection task lines. In an inspection task line, the
				inspection setup by item part and characteristic is defined.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>

	<xsd:complexType name="InspectionOrderHeaderType">
		<xsd:complexContent>
			<xsd:extension base="StatusEnabledHeaderType">
				<xsd:sequence>
					<xsd:element ref="PurchaseOrderReference" minOccurs="0"/>
					<xsd:element ref="ProductionOrderReference" minOccurs="0"/>
					<xsd:element ref="SalesOrderReference" minOccurs="0"/>
					<xsd:element ref="InspectDeliveryReference" minOccurs="0"/>
					<xsd:element ref="InspectionOrderTypeCode" minOccurs="0"/>
					<xsd:element ref="SupplierParty" minOccurs="0"/>
					<xsd:element ref="ShipFromParty" minOccurs="0"/>
					<xsd:element ref="CustomerParty" minOccurs="0"/>
					<xsd:element ref="ShipToParty" minOccurs="0"/>
					<xsd:element ref="Item" minOccurs="0"/>
					<xsd:element ref="WarehouseLocation" minOccurs="0"/>
					<xsd:element ref="InventoryDateTime" minOccurs="0"/>
					<xsd:element ref="Quantity" minOccurs="0">
						<xsd:annotation>
							<xsd:documentation>The inspection order quantity that is eligible for
								inspection.</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
					<xsd:element ref="BaseUOMQuantity" minOccurs="0"/>
					<xsd:element ref="AcceptedQuantity" minOccurs="0">
						<xsd:annotation>
							<xsd:documentation>The total actual quantity that is accepted for the
								inspection order.</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
					<xsd:element ref="AcceptedBaseUOMQuantity" minOccurs="0"/>
					<xsd:element ref="RecommendedAcceptedQuantity" minOccurs="0"/>
					<xsd:element ref="RecommendedAcceptedBaseUOMQuantity" minOccurs="0"/>
					<xsd:element ref="RejectedQuantity" minOccurs="0">
						<xsd:annotation>
							<xsd:documentation>The total actual quantity that is rejected for the
								inspection order.</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
					<xsd:element ref="RejectedBaseUOMQuantity" minOccurs="0"/>
					<xsd:element ref="RecommendedRejectedQuantity" minOccurs="0"/>
					<xsd:element ref="RecommendedRejectedBaseUOMQuantity" minOccurs="0"/>
					<xsd:element ref="DestroyedQuantity" minOccurs="0"/>
					<xsd:element ref="DestroyedBaseUOMQuantity" minOccurs="0"/>
					<xsd:element ref="RecommendedDestroyedQuantity" minOccurs="0"/>
					<xsd:element ref="RecommendedDestroyedBaseUOMQuantity" minOccurs="0"/>
					<xsd:element ref="RejectReasonCode" minOccurs="0">
						<xsd:annotation>
							<xsd:documentation>The overall reason why the samples are
								rejected.</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
					<xsd:element ref="DestroyReasonCode" minOccurs="0"/>
					<xsd:element ref="RecommendationIndicator" minOccurs="0"/>
					<xsd:element ref="ProcessBlockingMethodCode" minOccurs="0"/>
					<xsd:element ref="ResponsiblePersonReference" minOccurs="0">
						<xsd:annotation>
							<xsd:documentation>The person who requested the
								inspection.</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
					<xsd:element ref="ProducedByPersonReference" minOccurs="0">
						<xsd:annotation>
							<xsd:documentation>The person who produced the material to be inspected
								in case of a production order inspection related
								request.</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
					<xsd:element ref="SourceLocation" minOccurs="0"/>
					<xsd:element ref="MaterialLocation" minOccurs="0" maxOccurs="unbounded"/>
					<xsd:element ref="InspectionDueDateTime" minOccurs="0"/>
					<xsd:element ref="Reference" minOccurs="0" maxOccurs="unbounded"/>
					<xsd:element ref="Classification" minOccurs="0"/>
					<xsd:element ref="UserArea" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="InspectionOrderTaskType">
		<xsd:complexContent>
			<xsd:extension base="StatusEnabledLineType">
				<xsd:sequence>
					<xsd:element ref="CreationDateTime" minOccurs="0"/>
					<xsd:group ref="InspectionTaskGeneralGroup" minOccurs="0"/>
					<xsd:element ref="QualitySpecificationReference" minOccurs="0">
						<xsd:annotation>
							<xsd:documentation>
								To specify a QualitySpecification for the Task
							</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
					<xsd:group ref="InspectionTaskMethodologyGroup" minOccurs="0"/>
					<xsd:element ref="InspectionOrderTaskLine" minOccurs="0" maxOccurs="unbounded"/>
					<xsd:element ref="Reference" minOccurs="0" maxOccurs="unbounded"/>
					<xsd:element ref="Classification" minOccurs="0"/>
					<xsd:element ref="UserArea" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:group name="InspectionTaskGeneralGroup">
		<xsd:annotation>
			<xsd:documentation>Inspection order task - general data.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="CreationPeriod" minOccurs="0"/>
			<xsd:element ref="CompletionPeriod" minOccurs="0"/>
			<xsd:element ref="TestProcedureCode" minOccurs="0"/>
			<xsd:element ref="TestProcedureVersion" minOccurs="0"/>
			<xsd:element ref="TestGroupCode" minOccurs="0"/>
			<xsd:element ref="TestResultCode" minOccurs="0"/>
			<xsd:element ref="OriginalInspectionOrderTaskLineNumber" minOccurs="0"/>
			<xsd:element ref="ReInspectionOrderTaskLineNumber" minOccurs="0"/>
		</xsd:sequence>
	</xsd:group>
	<xsd:group name="InspectionTaskMethodologyGroup">
		<xsd:annotation>
			<xsd:documentation>Inspection order task - methodology.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="TestTypeCode" minOccurs="0"/>
			<xsd:element ref="TestFrequency" minOccurs="0"/>
			<xsd:element ref="TestPercent" minOccurs="0"/>
			<xsd:element ref="TestQuantity" minOccurs="0"/>
			<xsd:element ref="TestBaseUOMQuantity" minOccurs="0"/>
			<xsd:element ref="SampleQuantity" minOccurs="0"/>
			<xsd:element ref="SampleBaseUOMQuantity" minOccurs="0"/>
			<xsd:element ref="AcceptableQualityPercent" minOccurs="0"/>
			<xsd:element ref="SamplingRuleCode" minOccurs="0"/>
			<xsd:element ref="SamplingPlan" minOccurs="0"/>
			<xsd:element ref="InspectionStandardCode" minOccurs="0"/>
			<xsd:element ref="InspectionSeverityCode" minOccurs="0"/>
			<xsd:element ref="NumberOfIterations" minOccurs="0"/>
			<xsd:element ref="Iteration" minOccurs="0"/>
			<xsd:element ref="InspectionLevelCode" minOccurs="0"/>
			<xsd:element ref="SkipLotIndicator" minOccurs="0"/>
			<xsd:element ref="AcceptedQuantity" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>The part of the sample quantity accepted after
						testing.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element ref="AcceptedBaseUOMQuantity" minOccurs="0"/>
			<xsd:element ref="RejectedQuantity" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>The part of the sample quantity rejected after
						testing.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element ref="RejectedBaseUOMQuantity" minOccurs="0"/>
		</xsd:sequence>
	</xsd:group>
	<xsd:complexType name="InspectionOrderTaskLineType">
		<xsd:complexContent>
			<xsd:extension base="StatusEnabledLineType">
				<xsd:sequence>
					<xsd:element ref="CreationDateTime" minOccurs="0"/>
					<xsd:group ref="TaskLineGeneralGroup" minOccurs="0"/>
					<xsd:element ref="QualityTest" minOccurs="0">
						<xsd:annotation>
							<xsd:documentation>
								Specifies the reference to QualityTest master
							</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
					<xsd:group ref="TaskLineTestDataGroup" minOccurs="0"/>
					<xsd:group ref="TaskLineLimitsGroup" minOccurs="0"/>
					<xsd:element ref="Reference" minOccurs="0" maxOccurs="unbounded"/>
					<xsd:element ref="Classification" minOccurs="0"/>
					<xsd:element ref="UserArea" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:group name="TaskLineGeneralGroup">
		<xsd:annotation>
			<xsd:documentation>Inspection order task line - general data.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="ItemAspectCode" minOccurs="0"/>
			<xsd:element ref="ItemCharacteristicCode" minOccurs="0"/>
			<xsd:element ref="ItemCharacteristicTypeCode" minOccurs="0"/>
			<xsd:element ref="ItemCharacteristicUOMCode" minOccurs="0"/>
			<xsd:element ref="ItemCharacteristicStandardTypeCode" minOccurs="0"/>
			<xsd:element ref="ItemCharacteristicCategoryCode" minOccurs="0"/>
			<xsd:element ref="ActualStartDateTime" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>The date on which the first data is entered for the
						inspection order task line.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element ref="ActualStartPeriod" minOccurs="0"/>
			<xsd:element ref="ActualCompletionDateTime" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>The date on which the inspection is reported as
						completed.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element ref="ActualCompletionPeriod" minOccurs="0"/>
		</xsd:sequence>
	</xsd:group>
	<xsd:group name="TaskLineTestDataGroup">
		<xsd:annotation>
			<xsd:documentation>Inspection order task line - test data.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="TestCode" minOccurs="0"/>
			<xsd:choice>
				<xsd:element ref="TestLocation" minOccurs="0"/>
				<xsd:element ref="WorkCenterReference" minOccurs="0">
					<xsd:annotation>
						<xsd:documentation>
							To specify the work center details if the tests happen in 
							a work center
						</xsd:documentation>
					</xsd:annotation>
				</xsd:element>
			</xsd:choice>

			<xsd:element ref="TestResultCode" minOccurs="0"/>
			<xsd:element ref="AcceptedQuantity" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>The actual quantity that is accepted for the task
						line.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element ref="AcceptedBaseUOMQuantity" minOccurs="0"/>
			<xsd:element ref="RejectedQuantity" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>The actual quantity that is rejected for the task
						line.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element ref="RejectedBaseUOMQuantity" minOccurs="0"/>
			<xsd:element ref="HoldQuantity" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>The quantity which was placed on hold pending further
						inspection.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element ref="HoldBaseUOMQuantity" minOccurs="0"/>
			<xsd:element ref="RejectReasonCode" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>The reason for rejection of the samples.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element ref="HoldReasonCode" minOccurs="0"/>
			<xsd:element ref="DestructiveTestIndicator" minOccurs="0"/>
			<xsd:element ref="TestResultTypeCode" minOccurs="0"/>
			<xsd:element ref="TestUOMCode" minOccurs="0"/>
			<xsd:element ref="TestStandard" minOccurs="0"/>
			<xsd:element ref="TestSkill" minOccurs="0"/>
			<xsd:element ref="TestPersonReference" minOccurs="0"/>
		</xsd:sequence>
	</xsd:group>
	<xsd:group name="TaskLineLimitsGroup">
		<xsd:annotation>
			<xsd:documentation>Inspection order task line - limits.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="FixedItemCharacteristicValue" minOccurs="0"/>
			<xsd:element ref="ItemCharacteristicStandard" minOccurs="0"/>
			<xsd:element ref="NormValue" minOccurs="0"/>
			<xsd:element ref="LowerLimit" minOccurs="0"/>
			<xsd:element ref="UpperLimit" minOccurs="0"/>
			<xsd:element ref="LowerWarningLimit" minOccurs="0"/>
			<xsd:element ref="UpperWarningLimit" minOccurs="0"/>
		</xsd:sequence>
	</xsd:group>
	<xsd:element name="InspectionOrderTypeCode" type="CodeType">
		<xsd:annotation>
			<xsd:documentation>The type of inspection order. Extensible code list. Valid values
				include: Sales, Purchase, Production, BillOfMaterial, Routing,
				Storage.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>

</xsd:schema>
