<?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
        03 Jun 2011          NO       Added new noun based upon PurchaseOrder (JIRA BOD-1569)
        
        *****     Update End     *****
        
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
        xmlns="http://schema.infor.com/InforOAGIS/2"
        targetNamespace="http://schema.infor.com/InforOAGIS/2" elementFormDefault="qualified">
        
        <xsd:include schemaLocation="../Components/Operational/OrderManagementComponents.xsd"/>
        
        <xsd:element name="PlannedPurchaseOrder" type="PlannedPurchaseOrderType">
                <xsd:annotation>
                        <xsd:documentation source="http://schema.infor.com/InforOAGIS/2">A planning concept in which planning data 
                                is handled in the form of orders.  In order planning, supply is planned in the form of planned orders.
                                LN takes into account the start and finish dates of individual planned orders.  For production planning, this 
                                method considers all material and capacity requirements, as recorded in an item's BOM and routing.
                                These planned orders can be firmed, confirmed and transferred into execution level orders (purchase, 
                                production and warehouse transfers).  Transferring the planned order means: execution order gets created 
                                and planned order gets deleted. Identifier of planned order and execution order do not match, they are 
                                separate entities.</xsd:documentation>
                </xsd:annotation>
        </xsd:element>
        
        <xsd:element name="PlannedPurchaseOrderHeader" type="PlannedPurchaseOrderHeaderType">
                <xsd:annotation>
                        <xsd:documentation source="http://schema.infor.com/InforOAGIS/2">The
                                Purchase Order Header contains information that applies to the
                                entire purchase order. This Component is required.</xsd:documentation>
                </xsd:annotation>
        </xsd:element>
        
        <xsd:element name="PlannedPurchaseOrderLine" type="PlannedPurchaseOrderLineType">
                <xsd:annotation>
                        <xsd:documentation source="http://schema.infor.com/InforOAGIS/2">The
                                Purchase Order Line indicates the ordered item or product ordered
                                along with the quantity, price and other descriptive information. It
                                is also possible to provide additional Parties, PaymentTerms,
                                Charge, and Attachment information as needed at the line level. At
                                least one occurrence of this Component is required for each
                                occurrence of the Purchase Order.</xsd:documentation>
                </xsd:annotation>
        </xsd:element>
        
        <xsd:element name="PlannedPurchaseOrderSubLine" type="PlannedPurchaseOrderSubLineType">
                <xsd:annotation>
                        <xsd:documentation source="http://schema.infor.com/InforOAGIS/2">The
                                Component Subline represents any additional information concerning
                                the product on the Line. The Subline can be used to describe a
                                specific configuration of the ordered item.</xsd:documentation>
                </xsd:annotation>
        </xsd:element>
        
        <xsd:element name="PlannedPurchaseOrderSchedule" type="PlannedPurchaseOrderScheduleType">
                <xsd:annotation>
                        <xsd:documentation source="http://schema.infor.com/InforOAGIS/2">The
                                Component Schedule represents the requested ship or delivery dates
                                for goods ordered. The Schedule is an optional Component. The
                                Schedule can not be associated with a Subline. It is only associated
                                with a Line.</xsd:documentation>
                </xsd:annotation>
        </xsd:element>
        
        <xsd:complexType name="PlannedPurchaseOrderType">
                <xsd:annotation>
                        <xsd:documentation source="http://schema.infor.com/InforOAGIS/2">The schema
                                type for PurchaseOrder. MAKE ALL CHANGES TO ORDER, NOT PO!
                                PurchaseOrder's base abstract type, Order, is shared between
                                PurchaseOrder and SalesOrder. SalesOrder is essentially an extension
                                of PurchaseOrder, but in order to use the local-global design
                                pattern, each of PO and SO needs to instantiate its own Header and
                                Line elements.To do this, we factored out the PO content models,
                                instantiated both PO and SO from Order.</xsd:documentation>
                </xsd:annotation>
                <xsd:sequence>
                        <xsd:element ref="PlannedPurchaseOrderHeader" minOccurs="0"/>
                        <xsd:element ref="PlannedPurchaseOrderLine" minOccurs="0" maxOccurs="unbounded"/>
                </xsd:sequence>
        </xsd:complexType>
        
        <xsd:complexType name="PlannedPurchaseOrderHeaderType">
                <xsd:complexContent>
                        <xsd:extension base="OrderHeaderType">
                                <xsd:sequence>
                                        <xsd:element ref="OrderDateTime" minOccurs="0"/>
                                        <xsd:element ref="BuyerParty" minOccurs="0"/>
                                        <xsd:element ref="AcceptByDateTime" minOccurs="0"/>
                                        <xsd:element ref="ReleaseNumber" minOccurs="0"/>
                                        <xsd:element ref="RequisitionReference" minOccurs="0"
                                                maxOccurs="unbounded"/>
                                        <xsd:element ref="QuoteReference" minOccurs="0"
                                                maxOccurs="unbounded"/>
                                        <xsd:element ref="SalesOrderReference" minOccurs="0"
                                                maxOccurs="unbounded"/>
                                        <xsd:element ref="UserArea" minOccurs="0"/>
                                        <xsd:element ref="PriceOverrideIndicator" minOccurs="0" />
                                        <xsd:element ref="ContractApplicableIndicator" minOccurs="0" />
                                        <xsd:element ref="RFQReference" minOccurs="0" maxOccurs="unbounded" />
                                        <xsd:element ref="ProductionOrderReference" minOccurs="0" maxOccurs="unbounded"/>
                                        <xsd:element ref="Classification" minOccurs="0" maxOccurs="unbounded" />
                                        <xsd:element ref="DocumentUsageCode" minOccurs="0" />
                                        <xsd:element ref="BaseCurrencyAmount" minOccurs="0" maxOccurs="unbounded"/>
                                        <xsd:element ref="PlannerReference" minOccurs="0"/>
                                        <xsd:element ref="BuyerReference" minOccurs="0"/>
                                        <xsd:element ref="Charge" minOccurs="0" maxOccurs="unbounded"/>
                                        <xsd:element ref="RemitToParty" minOccurs="0"/>
                                </xsd:sequence>
                        </xsd:extension>
                </xsd:complexContent>
        </xsd:complexType>
        
        <xsd:complexType name="PlannedPurchaseOrderLineType">
                <xsd:complexContent>
                        <xsd:extension base="OrderLineType">
                                <xsd:sequence>
                                        <xsd:element ref="BackOrderedQuantity" minOccurs="0"/>
                                        <xsd:element ref="BackOrderedBaseUOMQuantity" minOccurs="0"/>
                                        <xsd:element ref="ReceivedQuantity" minOccurs="0"/>
                                        <xsd:element ref="ReceivedBaseUOMQuantity" minOccurs="0"/>
                                        <xsd:element ref="OpenQuantity" minOccurs="0"/>
                                        <xsd:element ref="OpenBaseUOMQuantity" minOccurs="0"/>
                                        <xsd:element ref="QuoteReference" minOccurs="0"/>
                                        <xsd:element ref="SalesOrderReference" minOccurs="0"/>
                                        <xsd:element ref="BuyerParty" minOccurs="0"/>
                                        <xsd:element ref="PlannedPurchaseOrderSubLine" minOccurs="0"
                                                maxOccurs="unbounded"/>
                                        <xsd:element ref="PlannedPurchaseOrderSchedule" minOccurs="0"
                                                maxOccurs="unbounded"/>
                                        <xsd:element ref="UserArea" minOccurs="0"/>
                                        <xsd:element ref="PriceOverrideIndicator" minOccurs="0" />
                                        <xsd:element ref="ContractApplicableIndicator" minOccurs="0" />
                                        <xsd:element ref="ContractReference" minOccurs="0"/>
                                        <xsd:element ref="FixedPriceItemIndicator" minOccurs="0"/>
                                        <xsd:element ref="ExpensableItemIndicator" minOccurs="0"/>
                                        <xsd:element ref="AllocatedQuantity" minOccurs="0"/>
                                        <xsd:element ref="AllocatedBaseUOMQuantity" minOccurs="0"/>
                                        <xsd:element ref="UnitQuantityConversionFactor" minOccurs="0"/>
                                        <xsd:element ref="SupplierParty" minOccurs="0"/>
                                        <xsd:element ref="ShipFromParty" minOccurs="0"/>
                                        <xsd:element ref="RemitToParty" minOccurs="0"/>
                                        <xsd:element ref="PurchaseOrderReference" minOccurs="0" maxOccurs="unbounded"/>
                                        <xsd:element ref="RFQReference" minOccurs="0" maxOccurs="unbounded" />
                                        <xsd:element ref="ProductionOrderReference" minOccurs="0" maxOccurs="unbounded"/>
                                        <xsd:element ref="Allowance" minOccurs="0" maxOccurs="unbounded"/>
                                        <xsd:element ref="Charge" minOccurs="0" maxOccurs="unbounded"/>
                                        <xsd:element ref="Classification" minOccurs="0" maxOccurs="unbounded" />
                                        <xsd:element ref="BaseCurrencyAmount" minOccurs="0" maxOccurs="unbounded"/>
                                        <xsd:element ref="InspectionRequiredIndicator" minOccurs="0"/>
                                        <xsd:element ref="AutoAdjustIndicator" minOccurs="0"/>
                                </xsd:sequence>
                        </xsd:extension>
                </xsd:complexContent>
        </xsd:complexType>
        
        <xsd:complexType name="PlannedPurchaseOrderSubLineType">
                <xsd:complexContent>
                        <xsd:extension base="RequestSubLineType">
                                <xsd:sequence>
                                        <xsd:element ref="BaseCurrencyAmount" minOccurs="0" maxOccurs="unbounded" />
                                        <xsd:element ref="UserArea" minOccurs="0"/>
                                </xsd:sequence>
                        </xsd:extension>
                </xsd:complexContent>
        </xsd:complexType>
        
        <xsd:complexType name="PlannedPurchaseOrderScheduleType">
                <xsd:complexContent>
                        <xsd:extension base="ProcurementScheduleType">
                                <xsd:sequence>
                                        <xsd:element ref="UserArea" minOccurs="0"/>
                                        <xsd:element ref="Status" minOccurs="0"/>
                                        <xsd:element ref="PriceOverrideIndicator" minOccurs="0" />
                                        <xsd:element ref="ContractApplicableIndicator" minOccurs="0" />
                                        <xsd:element ref="ShipToParty" minOccurs="0" />
                                        <xsd:element ref="BackOrderedQuantity" minOccurs="0"/>
                                        <xsd:element ref="BackOrderedBaseUOMQuantity" minOccurs="0"/>
                                        <xsd:element ref="ReceivedQuantity" minOccurs="0"/>
                                        <xsd:element ref="ReceivedBaseUOMQuantity" minOccurs="0"/>  
                                        <xsd:element ref="UnitPrice" minOccurs="0">
                                                <xsd:annotation>
                                                        <xsd:documentation>This amount is used to override the amount on the line. When omitted the unit price is the 
                                                                same as the unit price for the line.</xsd:documentation>
                                                </xsd:annotation>
                                        </xsd:element>
                                        <xsd:element ref="IncotermsCode" minOccurs="0" />
                                        <xsd:element ref="CarrierParty" minOccurs="0" />
                                        <xsd:element ref="TaxJurisdicationCodes" minOccurs="0" />
                                        <xsd:element ref="FreightTermCode" minOccurs="0"/>
                                        <xsd:element ref="BaseCurrencyAmount" minOccurs="0" maxOccurs="unbounded" />
                                </xsd:sequence>
                        </xsd:extension>
                </xsd:complexContent>
        </xsd:complexType>
        
</xsd:schema>
