<?xml version="1.0" encoding="utf-8"?>
<!-- edited with XMLSpy v2014 (x64) (http://www.altova.com) by Group IT (PostNL Groep) -->
<!--
major/ minor versie:	0.1
datum creatie:			2 december 2014	
datum akkoord:			
datum productie:		
gemaakt door			Nelleke van der Meer ism Johan Heijda, Iddo Bakker, Guido Matthijsen, Sander Kappen
doelgroep					SAP by Design


opmerking tbv versiebeheer en aansluiting SAP PI
Op 2-12-2014, direct na publicatie 0.1 versie canoniek object, is het object door Guido Matthijsen geimplenteerd in SAPPI. Reden is urgentie bij maken PurchaseRequest bericht tbv EMN, gebaseerd op canoniek object Purchase Order.
Omdat het object nog niet beoordeeld is door de architecten en de informatie analisten, zullen er nog wijzigingen gaan ontstaan.
Met GM is afgesproken dat deze wijzigingen worden gedocumenteerd in de tekst van het XSD.
Na oplevering object wordt, in overleg met PI, gezorgd voor consistentie.

Verschillen na bouw door GM:
uit mail GM:
1) Zowel PurchaseOrderHeaderType als StatusEnabledHeaderType daaronder, bevat ‘Note’, dit geeft een conflict, ik heb deze daarom bij StatusEnabledHeaderType weggelaten.
2) PurchaseOrder verwijst naar complextype PurchaseOrderType, echter deze was a vergeven bij andere berichten daarom heb ik daarvan gemaakt PurchaseType.

aanpassingen in XSD canonical:
1) SalesQuantity in Orderline vervallen
2) nieuw toegevoegde elementen:
fi1:OrderQuantity
fi1:ConfirmedQuantity
fi1:ReceivedQuantity 

3) co2:Item en fi1:ProcessCode zijn bij elkaar gezet in een element Product. Eigenlijk is in components een nieuw herbruikbaar element nodig ter vervanging van co2:Item maar de analyse van product door het MDM project is nog niet ver genoeg om gebruikt te kunnen worden.

  	
     -->
<xsd:schema xmlns:ma1="urn:postnl/mail/manufacturingcomponents/1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:postnl/mail/purchaseorder/1" xmlns:co1="urn:postnl/mail/components/1" xmlns:me1="urn:postnl/mail/meta/1" xmlns:fi1="urn:postnl/mail/fields1" xmlns:co2="urn:postnl/mail/components/2" targetNamespace="urn:postnl/mail/purchaseorder/1" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xsd:import namespace="urn:postnl/mail/components/1" schemaLocation="../../Common/OAGI/Components/Components1.xsd"/>
	<xsd:import namespace="urn:postnl/mail/components/2" schemaLocation="../../Common/OAGI/Components/Components2.xsd"/>
	<xsd:import namespace="urn:postnl/mail/manufacturingcomponents/1" schemaLocation="../../Common/OAGI/Components/ManufacturingComponents1.xsd"/>
	<xsd:import namespace="urn:postnl/mail/meta/1" schemaLocation="../../Common/OAGI/Components/Meta1.xsd"/>
	<xsd:import namespace="urn:postnl/mail/fields1" schemaLocation="../../Common/OAGI/Components/Fields1.xsd"/>
	<xsd:element name="PurchaseOrder" type="PurchaseOrderType"/>
	<xsd:complexType name="PurchaseOrderType">
		<xsd:sequence>
			<xsd:element ref="PurchaseOrderHeader" minOccurs="0"/>
			<xsd:element ref="PurchaseOrderLine" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="PurchaseOrderHeader" type="PurchaseOrderHeaderType"/>
	<xsd:complexType name="PurchaseOrderHeaderType">
		<xsd:complexContent>
			<xsd:extension base="co1:StatusEnabledHeaderType">
				<xsd:sequence>
					<xsd:element ref="fi1:PurchaseOrderID" minOccurs="0"/>
					<xsd:element ref="fi1:PurchaseOrderType" minOccurs="0"/>
					<xsd:element ref="fi1:PurchaseOrderTypeDescription" minOccurs="0"/>
					<xsd:element ref="co1:SupplierParty" minOccurs="0"/>
					<xsd:element ref="co1:EmployeeResponsibleParty" minOccurs="0"/>
					<xsd:element ref="co1:BillToParty" minOccurs="0"/>
					<xsd:element ref="co1:ProvidingParty" minOccurs="0"/>
					<xsd:element ref="fi1:OrderDateTime" minOccurs="0"/>
					<xsd:element ref="co1:TransportationTerm" minOccurs="0"/>
					<xsd:element ref="co1:PaymentTerm" minOccurs="0"/>
					<xsd:element ref="fi1:NetAmount" minOccurs="0"/>
					<xsd:element ref="fi1:GrossAmount" minOccurs="0"/>
					<xsd:element ref="co1:VATQualifiedAmount" minOccurs="0" maxOccurs="unbounded"/>
					<xsd:element ref="co1:Note" minOccurs="0" maxOccurs="unbounded"/>
					<xsd:element ref="fi1:PreventOutputCode" minOccurs="0" maxOccurs="unbounded"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:element name="PurchaseOrderLine" type="PurchaseOrderLineType"/>
	<xsd:complexType name="PurchaseOrderLineType">
		<xsd:sequence>
			<xsd:element ref="fi1:LineNumber" minOccurs="0"/>
			<xsd:element ref="co1:Status" minOccurs="0"/>
			<xsd:element ref="fi1:OrderDateTime" minOccurs="0"/>
			<xsd:element name="Product" type="ProductType" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>A products or services that is made/ offered offered to be sold.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element ref="fi1:OrderQuantity" minOccurs="0"/>
			<xsd:element ref="fi1:ConfirmedQuantity" minOccurs="0"/>
			<xsd:element ref="fi1:ReceivedQuantity" minOccurs="0"/>
			<xsd:element ref="co1:GrossPricePerUnit" minOccurs="0"/>
			<xsd:element ref="co1:NetPricePerUnit" minOccurs="0"/>
			<xsd:element ref="co1:Weight" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="FollowUpDocuments" type="FollowUpDocumentsType" minOccurs="0"/>
			<xsd:element name="Prices" type="PricesType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="Taxes" type="TaxesType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="Delivery" type="DeliveryType" minOccurs="0"/>
			<xsd:element name="AccountAssignment" type="AccountAssignmentType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="SourceOfSupply" type="SourceOfSupplyType" minOccurs="0"/>
			<xsd:element ref="co1:Note" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="co1:Attachment" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="co1:OrderLineCharacteristic" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="ProductType">
		<xsd:sequence>
			<xsd:element ref="co2:Item" minOccurs="0"/>
			<xsd:element ref="fi1:ProcessCode" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="FollowUpDocumentsType">
		<xsd:sequence>
			<xsd:element ref="fi1:ReceiptExpected" minOccurs="0"/>
			<xsd:element ref="fi1:InvoiceExpected" minOccurs="0"/>
			<xsd:element ref="fi1:EvaluatedReceiptSettlement" minOccurs="0"/>
			<xsd:element ref="fi1:DeliveryCompleted" minOccurs="0"/>
			<xsd:element ref="fi1:InvoiceCompleted" minOccurs="0"/>
			<xsd:element ref="fi1:OverDeliveryTolerance" minOccurs="0"/>
			<xsd:element ref="fi1:UnderDeliveryTolerance" minOccurs="0"/>
			<xsd:element ref="fi1:UnlimitedOverDelivery" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="PricesType">
		<xsd:sequence>
			<xsd:element ref="fi1:NetAmount" minOccurs="0"/>
			<xsd:element ref="fi1:GrossAmount" minOccurs="0"/>
			<xsd:element ref="fi1:ExtendedAmount" minOccurs="0"/>
			<xsd:element ref="fi1:TotalAmount" minOccurs="0"/>
			<xsd:element ref="co1:QualifiedAmount" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="co1:Discount" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="co1:Penalty" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="co1:Charge" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="TaxesType">
		<xsd:sequence>
			<xsd:element ref="fi1:TaxCountry" minOccurs="0"/>
			<xsd:element ref="fi1:TaxDate" minOccurs="0"/>
			<xsd:element ref="fi1:TaxDueDate" minOccurs="0"/>
			<xsd:element ref="fi1:AutomaticTaxDetermination" minOccurs="0"/>
			<xsd:element ref="co1:Tax" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="DeliveryType">
		<xsd:sequence>
			<xsd:element ref="fi1:RequiredDeliveryDateTime" minOccurs="0"/>
			<xsd:element ref="co2:CustomerParty" minOccurs="0"/>
			<xsd:element ref="co1:RequesterParty" minOccurs="0"/>
			<xsd:element ref="co1:RecipientParty" minOccurs="0"/>
			<xsd:element ref="co1:ShipFromParty" minOccurs="0"/>
			<xsd:element name="DeliveryLocation" type="co1:LocationType" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>The location for the contracted delivery.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element ref="co1:DeliveryTimePeriod" minOccurs="0"/>
			<xsd:element ref="fi1:AllowSubstitutionIndicator" minOccurs="0"/>
			<xsd:element ref="fi1:PartialShipmentAllowedIndicator" minOccurs="0"/>
			<xsd:element ref="fi1:DropShipmentAllowedIndicator" minOccurs="0"/>
			<xsd:element ref="fi1:EarlyShipmentAllowedIndicator" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="AccountAssignmentType">
		<xsd:sequence>
			<xsd:element ref="fi1:AccountAssignmentType" minOccurs="0"/>
			<xsd:element ref="fi1:AccountAssignmentCode" minOccurs="0"/>
			<xsd:element ref="fi1:Percentage" minOccurs="0"/>
			<xsd:element ref="fi1:NetAmount" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="SourceOfSupplyType">
		<xsd:sequence>
			<xsd:element ref="co1:SupplierParty" minOccurs="0"/>
			<xsd:element ref="co1:ContractReference" minOccurs="0"/>
			<xsd:element ref="co1:ItemID" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
</xsd:schema>
