<?xml version="1.0" encoding="utf-8"?>
<!--
    Infor messages based upon the Open Applications Group OAGIS standard BODs. 
    For more information about the Open Applications Group please see
    www.openapplications.org
    
    
    ** Revision: Infor version 1.0   ** based on OAGIS 9.0** 
    ** Date: Aug 2006 **
    
    License information for this file is provided in LICENSE.TXT
    For support, more information, or to report implementation bugs,
    please contact the Open Applications Group at xml@openapplications.org
    
    Name: \Infor1.0\Resources\Components\Common\Components.xsd
-->

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:oacl="http://www.openapplications.org/oagis/9/codelists"
    xmlns:oa="http://www.openapplications.org/oagis/9"
    xmlns:in4f="http://schema.infor.com/Infor1.0/fieldlist" xmlns="http://schema.infor.com/Infor1.0"
    xmlns:qdt="http://www.openapplications.org/oagis/9/qualifieddatatypes/1.1"
    targetNamespace="http://schema.infor.com/Infor1.0" elementFormDefault="qualified"
    attributeFormDefault="unqualified">

    <xsd:import namespace="http://www.openapplications.org/oagis/9"
        schemaLocation="../../../../9.0/Resources/Components/Common/Components.xsd"/>
    <xsd:import namespace="http://www.openapplications.org/oagis/9/codelists"
        schemaLocation="../../../../9.0/Resources/Components/Common/CodeLists.xsd"/>
    <xsd:import namespace="http://schema.infor.com/Infor1.0/fieldlist"
        schemaLocation="InforFieldList.xsd"/>
    <xsd:include schemaLocation="Meta.xsd"/>

    <!--  Substitution Groups  -->
    <xsd:element name="AccountingDate" type="AccountingDateType"
        substitutionGroup="oa:AccountingDate"/>
    
    <xsd:element name="Allowance" type="AllowanceType"
        substitutionGroup="oa:Allowance"/>
    
    <xsd:element name="Charge" type="ChargeType"
        substitutionGroup="oa:Charge"/>
    
    <xsd:element name="CarrierRouteReference" type="CarrierRouteType"
        substitutionGroup="oa:CarrierRouteReference"/>

    <xsd:element name="FinancialAccount" type="FinancialAccountType"
        substitutionGroup="oa:FinancialAccount"/>

    <xsd:element name="FinancialParty" type="FinancialPartyType"
        substitutionGroup="oa:FinancialParty"/>

    <xsd:element name="HazardousMaterial" type="HazardousMaterialType"
        substitutionGroup="oa:HazardousMaterial"/>
    
    <xsd:element name="Item" type="ItemType" substitutionGroup="oa:Item"/>

    <xsd:element name="SerializedLot" type="SerializedLotType" substitutionGroup="oa:SerializedLot"/>
    
    <xsd:element name="StorageLocation" type="oa:FacilityType" substitutionGroup="oa:Facility"/>
    
<!--  Extended Complex Types  -->
    
    <xsd:complexType name="AllowanceType">
        <xsd:complexContent>
            <xsd:extension base="oa:AllowanceType">
                <xsd:sequence>
                    <xsd:element ref="Tax"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>

    <xsd:complexType name="ChargeType">
        <xsd:complexContent>
            <xsd:extension base="oa:ChargeType">
                <xsd:sequence>
                    <xsd:element ref="Tax"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType> 
       
    <xsd:complexType name="AccountingChartReferenceType">
        <xsd:annotation>
            <xsd:documentation> This element is used to reference an AccountingChart which is the
                primary grouping for a collection of accounts. </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
            <xsd:extension base="oa:DocumentIDType">
                <xsd:sequence>
                    <xsd:element ref="oa:Name" minOccurs="0" maxOccurs="unbounded"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <xsd:complexType name="AccountingDateType">
        <xsd:complexContent>
            <xsd:extension base="oa:AccountingDateType">
                <xsd:sequence>
                    <xsd:element ref="AlternatePeriod" minOccurs="0" maxOccurs="unbounded"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>

    <xsd:complexType name="AccountType">
        <xsd:complexContent>
            <xsd:extension base="oa:AccountInformationType">
                <xsd:sequence>
                    <xsd:element ref="oa:Status" minOccurs="0"/>
                    <xsd:element ref="oa:Term" minOccurs="0"/>
                    <xsd:element ref="oa:OrderLimitAmount" minOccurs="0"/>
                    <xsd:element ref="oa:TotalCreditLimitAmount" minOccurs="0"/>
                    <xsd:element ref="MaxAgingDuration" minOccurs="0"/>
                    <xsd:element ref="StatementPeriodDuration" minOccurs="0"/>
                    <xsd:element ref="AccountOpenedDateTime" minOccurs="0"/>
                    <xsd:element ref="CreatedByID" minOccurs="0"/>
                    <xsd:element ref="oa:LastModificationDateTime" minOccurs="0"/>                    
                    <xsd:element ref="ModifiedByID" minOccurs="0"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <xsd:complexType name="SupplierAccountType">
        <xsd:complexContent>
            <xsd:extension base="AccountType">
                <xsd:sequence>
                    <xsd:element ref="MinimumOrderFreeShippingAmount" minOccurs="0"/>
                    <xsd:element ref="MinimumOrderAmount" minOccurs="0"/>
                    <xsd:element ref="MaximumOrderAmount" minOccurs="0"/>
                    <xsd:element ref="MaximumOrderQuantity" minOccurs="0"/>
                    <xsd:element ref="InvoiceProcessingRules" minOccurs="0"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
   
    <xsd:complexType name="AlternateCurrencyAmountType">
        <xsd:simpleContent>
            <xsd:extension base="oa:AmountType">
                <xsd:annotation>
                    <xsd:documentation> The AlternateCurrencyAmountType supports additional
                        reporting currencies that are determined at the time of a posting. The
                        purpose attribute is used to identify the reason for the value, eg.
                        reporting, conversion, tax ... </xsd:documentation>
                </xsd:annotation>
                <xsd:attribute name="purpose" type="oa:NormalizedStringType"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>

    <xsd:complexType name="CarrierRouteType">
        <xsd:complexContent>
            <xsd:extension base="oa:RouteReferenceType">
                <xsd:annotation>
                    <xsd:documentation xml:lang="en"/>
                </xsd:annotation>
                <xsd:sequence>
                    <xsd:element ref="RouteStop" minOccurs="0"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <xsd:complexType name="ColumnDataType">
        <xsd:complexContent>
            <xsd:extension base="oa:SequencedTextType">
                <xsd:annotation>
                    <xsd:documentation xml:lang="en"/>
                </xsd:annotation>
                <xsd:attribute name="currencyID" type="oacl:CurrencyCodeContentType" use="optional"/>
                <xsd:attribute name="unitCode" type="oa:UnitCodeContentType" use="optional"/>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>

    <xsd:complexType name="CurrencyLocalNameType">
        <xsd:simpleContent>
            <xsd:extension base="oa:NameType">
                <xsd:attribute name="gender" type="GenderType"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>

  <xsd:complexType name="DiscountType">
        <xsd:sequence>
            <xsd:element ref="NonDiscountAmount" minOccurs="0"/>
            <xsd:element ref="DiscountAllowedAmount" minOccurs="0"/>
            <xsd:element ref="DiscountTakenAmount" minOccurs="0"/>
            <xsd:element ref="LateDiscountIndicator" minOccurs="0"/>
            <xsd:element ref="DiscountApprovedPersonnelReference" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:complexType name="FinancialAccountType">
        <xsd:complexContent>
            <xsd:extension base="oa:FinancialAccountType">
                <xsd:sequence>
                    <xsd:element ref="oa:Status" minOccurs="0"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>

    <xsd:complexType name="FinancialPartyType">
        <xsd:complexContent>
            <xsd:extension base="oa:FinancialPartyType">
                <xsd:sequence>
                    <xsd:element ref="oa:EffectiveTimePeriod" minOccurs="0"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>

    <xsd:complexType name="ItemInstanceType">
        <xsd:complexContent>
            <xsd:extension base="oa:ItemInstanceType">
                <xsd:sequence>
                    <xsd:element ref="oa:SerializedLot" minOccurs="0"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>

    <xsd:complexType name="HazardousMaterialType">
        <xsd:complexContent>
            <xsd:extension base="oa:HazardousMaterialType">
                <xsd:sequence>
                    <xsd:element ref="MSDS" minOccurs="0"/>
                    <xsd:element ref="CriticalSpillQuantity" minOccurs="0"/>
                    <xsd:element ref="ActiveIngredientPercent" minOccurs="0"/>
                    <xsd:element ref="CASNumber" minOccurs="0"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <xsd:complexType name="ItemType">
        <xsd:complexContent>
            <xsd:extension base="oa:ItemType">
                <xsd:sequence>
                    <xsd:element ref="oa:SerializedLot" minOccurs="0"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
 
    <xsd:complexType name="LocationReferenceType">
        <xsd:complexContent>
            <xsd:extension base="oa:DocumentReferenceBaseType">
                <xsd:sequence>
                    <xsd:element ref="oa:UserArea" minOccurs="0"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType> 
        
    <xsd:complexType name="MessageTextType">
        <xsd:annotation>
            <xsd:documentation xml:lang="en">Used to pass a preformated line of text for a report or
                a message from one system to another. </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
            <xsd:extension base="xsd:string">
                <xsd:attribute name="newPage" type="oa:IndicatorType" use="optional">
                    <xsd:annotation>
                        <xsd:documentation xml:lang="en"> Indicates that when printing this document
                            that this line should occur at the top of the next page.
                        </xsd:documentation>
                    </xsd:annotation>
                </xsd:attribute>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
    
    <xsd:complexType name="MSDSType">
        <xsd:sequence>
            <xsd:element ref="SheetNumberID"/>
            <xsd:element ref="PublishDate" minOccurs="0"/>
            <xsd:element ref="ReferenceURL" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:complexType name="PersonReferenceType">
        <xsd:complexContent>
            <xsd:extension base="oa:IdentifierType"/>
        </xsd:complexContent>
    </xsd:complexType>

    <xsd:complexType name="RateType">
        <xsd:complexContent>
            <xsd:extension base="oa:AmountType" />
        </xsd:complexContent>            
    </xsd:complexType>
    
    <xsd:complexType name="ResourceReferenceType" >
        <xsd:annotation>
            <xsd:documentation source="htt://schema.infor.com/Infor1.0">Document reference for referencing resources.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
            <xsd:extension base="oa:DocumentReferenceType">
                <xsd:sequence>
                    <xsd:element ref="oa:Name" />
                    <xsd:element ref="oa:Contact" />
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <xsd:complexType name="RuleValueType">
        <xsd:simpleContent>
            <xsd:extension base="oa:NormalizedStringType">
                <xsd:attribute name="revision" type="oa:NumericType"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
    
    <xsd:complexType name="SerialControlIndicatorType">
        <xsd:simpleContent>
            <xsd:extension base="oa:IndicatorType">
                <xsd:attribute name="catchData" type="oa:IndicatorType" use="optional"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
    
    <xsd:complexType name="SerializedLotType">
        <xsd:complexContent>
            <xsd:extension base="oa:SerializedLotType">
                <xsd:sequence>
                    <xsd:element ref="LotSelection" minOccurs="0">
                        <xsd:annotation>
                            <xsd:documentation> </xsd:documentation>
                        </xsd:annotation>
                    </xsd:element>
                </xsd:sequence>
                <xsd:attribute name="excludedIndicator" type="oa:IndicatorType"/>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>

    <xsd:complexType name="StatusEnabledHeaderType">
        <xsd:complexContent>
            <xsd:extension base="oa:HeaderType">
                <xsd:sequence>
                    <xsd:element ref="Status" minOccurs="0"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>

    <xsd:complexType name="TimePeriodType">
        <xsd:complexContent>
            <xsd:extension base="oa:TimePeriodType">
                <xsd:sequence>
                    <xsd:element ref="BlockedForManualEntryOnlyIndicator" minOccurs="0">
                        <xsd:annotation>
                            <xsd:documentation> Used only when the 'ExcludedIndicator' attribute is
                                true. The default value is false when the attribute does not exist
                                for a new BOD. </xsd:documentation>
                        </xsd:annotation>
                    </xsd:element>
                </xsd:sequence>
                <xsd:attribute name="ExcludedIndicator" type="oa:IndicatorType"/>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>

    <xsd:complexType name="TPCodesType">
        <xsd:complexContent>
            <xsd:extension base="oa:PropertyType">
                <xsd:attribute name="revision" type="oa:NumericType"/>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>

    <!-- New Complex Types -->

    <xsd:complexType name="AlternatePeriodType">
        <xsd:sequence>
            <xsd:element ref="oa:PeriodID" minOccurs="0"/>
            <xsd:element ref="oa:Year" minOccurs="0"/>
        </xsd:sequence>
        <xsd:attribute name="periodType" type="oa:NormalizedStringType"/>
    </xsd:complexType>

    <xsd:complexType name="AssetValueType">
        <xsd:sequence>
            <xsd:element ref="InitialValueAmount" minOccurs="0"/>
            <xsd:element ref="CurrentValueAmount" minOccurs="0"/>
            <xsd:element ref="Depreciation" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="AvailabilityType">
        <xsd:sequence>
            <xsd:element ref="TotalAvailability"/>
            <xsd:element ref="ActualAvailability"/>
        </xsd:sequence>
    </xsd:complexType>
    
    
    <xsd:complexType name="BatchReferenceType">
        <xsd:sequence>
            <xsd:element ref="BatchID"/>
            <xsd:element ref="BatchDateTime" minOccurs="0"/>
        </xsd:sequence>
        <xsd:attribute name="batchType" type="oa:NormalizedStringType"/>
    </xsd:complexType>

    <xsd:complexType name="BurdenType">
        <xsd:annotation>
            <xsd:documentation> This element is used to reference the amount or percentage of burden on a resource. </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element ref="oa:Amount" minOccurs="0"/>
            <xsd:element ref="oa:Percentage" minOccurs="0"/>
        </xsd:sequence>        
    </xsd:complexType>
    
    <xsd:complexType name="ChartOfAccountsReferenceType">
        <xsd:annotation>
            <xsd:documentation> This element is used to reference an AccountingChart which is the
                primary grouping for a collection of accounts. </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element ref="oa:GLEntityID"/>
            <xsd:element ref="oa:GLNominalAccount"/>
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:complexType name="ChartStructureType">
        <xsd:sequence>
            <xsd:element ref="ParentAccount" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="ColumnHeaderType">
        <xsd:sequence>
            <xsd:element ref="ColumnSequence"/>
            <xsd:element ref="ColumnLabel" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="DataContent" minOccurs="0"/>
            <xsd:element ref="ColumnWidth" minOccurs="0"/>
            <xsd:element ref="IsVariation" minOccurs="0"/>
            <xsd:element ref="IsExpiry" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="ComponentItem">
        <xsd:sequence>
            <xsd:element ref="oa:Item"/>
            <xsd:element ref="oa:Quantity"/>
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:complexType name="CostRuleType">
        <xsd:sequence>
            <xsd:element ref="Rate"/>
            <xsd:element ref="Burden"/>
        </xsd:sequence>
        <xsd:attribute name="use" type="RateTypeCodeType" use="required"/>
    </xsd:complexType>
    
    <xsd:complexType name="DepreciationType">
        <xsd:sequence>
            <xsd:element ref="DepreciationAmount"/>
            <xsd:element ref="oa:GLEntityID"/>
            <xsd:element ref="oa:DocumentDateTime"/>
            <xsd:element ref="oa:AccountingDate"/>
        </xsd:sequence>
        <xsd:attribute name="type" type="oa:StringType" use="optional"/>
    </xsd:complexType>

    <xsd:complexType name="EDIDocumentType">
        <xsd:sequence>
            <xsd:element ref="DocumentCode">
                <xsd:annotation>
                    <xsd:documentation>
                        The name of the Infor Noun that is used to support this transaction.                        
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element ref="NounStatusCode" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>
                        One of the Status codes that are available for the Noun.                        
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element ref="EDITransaction"/>
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:complexType name="EDITransactionType">
        <xsd:simpleContent>
            <xsd:extension base="oa:NormalizedStringType">
                <xsd:attribute name="standard" type="oa:NormalizedStringType" use="required">
                    <xsd:annotation>
                        <xsd:documentation>
                            Standard values are EDI or EDIFACT
                        </xsd:documentation>
                    </xsd:annotation>
                </xsd:attribute>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
    
    <xsd:complexType name="ExchangeRateRulesType">
        <xsd:sequence>
            <xsd:element ref="DirectionalIndicator" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation> Indicates, when true, that these rules cannot be applied in
                        a bi-directional manner. </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element ref="DecimalPlaces" minOccurs="0"/>
            <xsd:element ref="Tolerance" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>The percent variance allowed for this rate when the rate is
                        overridden. This is based upon the standard rate.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:complexType name="FortressType">
        <xsd:annotation>
            <xsd:documentation> The URI value of the FortressType is the LID of the fortress in URI
                format</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element ref="LID"/>
            <xsd:element ref="oa:EffectiveTimePeriod" minOccurs="0"/>
            <xsd:element ref="oa:Description" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="Subsystem" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="HierarchyNodeIDType">
        <xsd:sequence>
            <xsd:element ref="HierarchyReference"/>
            <xsd:element ref="NodeID"/>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="HoldReferenceType">
        <xsd:annotation>
            <xsd:documentation> The hold quantity will be positive when an item is put on hold and
                negative when it is removed from hold. All of the HoldReference elements in a single
                BOD must be processed as a single transaction to avoid releasing items to orders
                before all of the possible hold codes have been applied. </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element ref="oa:TransactionDateTime" minOccurs="0"/>
            <xsd:element ref="HoldCode"/>
            <xsd:element ref="HoldQuantity"/>
            <xsd:element ref="IsBlocked" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation> Typically, an item on hold is not available for shipment
                        planning (It is blocked). By setting this element to false then this
                        behaviour can be changed. NOTICE: Not all systems can support an item on
                        hold that is not blocked. </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="InnerPackType">
        <xsd:sequence>
            <xsd:element ref="InnerPackID" minOccurs="0"/>
            <xsd:element ref="oa:PerPackageQuantity" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation> The UOM on this quantity is the UOM that is assigned to the
                        package that is referenced through the inner pack reference.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:complexType name="InvoiceProcessingRulesType">
        <xsd:sequence>
            <xsd:element ref="ToleranceAmount" minOccurs="0"/>
            <xsd:element ref="TolerancePercent" minOccurs="0"/>
            <xsd:element ref="IgnoreToleranceIndicator" minOccurs="0"/>
            <xsd:element ref="CapitalizeTaxIndicator" minOccurs="0"/>
            <xsd:element ref="CapitalizeAddonIndicator" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:complexType name="LotControlIndicatorType">
        <xsd:simpleContent>
            <xsd:extension base="oa:IndicatorType">
                <xsd:attribute name="catchData" type="oa:IndicatorType" use="optional"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>

    <xsd:complexType name="MemoAmountType">
        <xsd:simpleContent>
            <xsd:annotation>
                <xsd:documentation> Support for non-monetary amounts being posted to the financial
                    system. </xsd:documentation>
            </xsd:annotation>
            <xsd:extension base="oa:QuantityType">
                <xsd:attribute name="purpose" type="oa:NormalizedStringType" use="optional"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>

    <xsd:complexType name="MemoUnitType">
        <xsd:sequence>
            <xsd:element ref="UnitCode"/>
        </xsd:sequence>
        <xsd:attribute name="sequence" type="oa:PositiveIntegerNumericType" use="required"/>
        <xsd:attribute name="memoName" type="oa:StringType" use="optional"/>
    </xsd:complexType>
    
    <xsd:complexType name="NotificationAddressType">
        <xsd:simpleContent>
            <xsd:extension base="oa:NormalizedStringType">
                <xsd:attribute name="methodId" type="oa:NormalizedStringType" use="optional"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
    
    <xsd:complexType name="NotificationPersonType">
        <xsd:annotation>
            <xsd:documentation> Information about a person to be notified who is not in a
                notification group. </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element ref="oa:Name" minOccurs="0"/>
            <xsd:element ref="oa:Communication"/>
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:complexType name="PackagingType">
        <xsd:sequence>
            <xsd:element ref="oa:ID"/>
            <xsd:element ref="oa:SupplierParty" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation> This is used to ientify the supplier of the product in
                        relation to a package and the unit of measure assignment.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element ref="oa:Name" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="UnitCode">
                <xsd:annotation>
                    <xsd:documentation> This is the unit of measure code that is assigned to this
                        package. This must be unique within the item/supplier. </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element ref="BarCode" minOccurs="0"/>
            <xsd:element ref="InnerPack" minOccurs="0"/>
            <xsd:element ref="PalletTieHigh" minOccurs="0"/>
            <xsd:element ref="oa:Dimensions" minOccurs="0"/>
            <xsd:group ref="oa:ShippingWeightandVolumeGroup" minOccurs="0"/>
            <xsd:element ref="oa:UPCPackagingLevelCode" minOccurs="0"/>
            <xsd:element ref="oa:CapacityPerPackageQuantity" minOccurs="0"/>
            <xsd:element ref="PackingMaterial" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:complexType name="PalletTieHighType">
        <xsd:sequence>
            <xsd:element ref="PalletTie"/>
            <xsd:element ref="PalletHigh"/>
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:complexType name="ParentAccountType">
        <xsd:sequence>
            <xsd:element ref="oa:GLNominalAccount" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>The parent account for the current account when defined in a
                        hierarchy.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element ref="Sublevel" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>The depth of this account in the
                        hierarchy.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
        <xsd:attribute name="parentType" type="oa:StringType" use="required">
            <xsd:annotation>
                <xsd:documentation> Initial values are Complementary and Statutory.
                </xsd:documentation>
            </xsd:annotation>
        </xsd:attribute>
    </xsd:complexType>
    
    <xsd:complexType name="ReportBodyType">
        <xsd:annotation>
            <xsd:documentation>Each instance of ReportBody type represents a row of
            data.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element ref="ColumnValue" minOccurs="0" maxOccurs="unbounded">
                <xsd:annotation>
                    <xsd:documentation> Each instance of ColumnValue represents a column within a
                        row. The sequence on the element identifies the column and must match the
                        ColumnSequence from the header. The data need not be passed in order.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="ReportHeaderType">
        <xsd:sequence>
            <xsd:element ref="oa:DocumentID" minOccurs="0"/>
            <xsd:element ref="oa:EffectiveDateTime" minOccurs="0"/>
            <xsd:element ref="ReportTitle" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="ColumnHeader" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="FieldList" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="ResourceAuthorizationType">
        <xsd:sequence>
            <xsd:element ref="AuthorizationType" minOccurs="0"/>
            <xsd:element ref="ThroughDateTime" minOccurs="0"/>
            <xsd:element ref="oa:Quantity" minOccurs="0"/>
            <xsd:element ref="CUMStartDate" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:complexType name="RouteStopType">
        <xsd:annotation>
            <xsd:documentation> </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element ref="oa:RouteID" minOccurs="0"/>
            <xsd:element ref="RouteDay" minOccurs="0"/>
            <xsd:element ref="StopID" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:complexType name="SubsystemType">
        <xsd:annotation>
            <xsd:documentation> The string value of the subsystem is the name of the subsystem,
                standard values are consumer and outbox. </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
            <xsd:extension base="oa:StringType">
                <xsd:attribute name="active" type="oa:IndicatorType" use="required"/>
                <xsd:attribute name="running" type="oa:IndicatorType" use="optional"/>
                <xsd:attribute name="threads" type="oa:PositiveIntegerNumericType" use="optional"/>
                <xsd:attribute name="threadsMax" type="oa:PositiveIntegerNumericType" use="optional"
                />
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>

    <xsd:complexType name="TaxReferenceType">
        <xsd:annotation>
            <xsd:documentation> </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element ref="TaxCountry" minOccurs="0"/>
            <xsd:element ref="TaxCode" minOccurs="0"/>
            <xsd:element ref="TaxOrigin" minOccurs="0"/>
            <xsd:element ref="TaxLedger" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="TimeZoneType">
        <xsd:annotation>
            <xsd:documentation xml:lang="en"> This type is used to indentify timezone information. </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element ref="TimeZoneOffset"/>
            <xsd:element ref="TimeZoneDaylightStartDate" minOccurs="0"/>
            <xsd:element ref="TimeZoneDaylightEndDate" minOccurs="0"></xsd:element>
            <xsd:element ref="oa:Description" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="oa:EffectiveTimePeriod" minOccurs="0"/>           
        </xsd:sequence>        
    </xsd:complexType>
    
    <!-- Simple Types -->

    <!-- Elements - many should be moved to Fields.xsd. -->
    
    <!-- Oagis typed -->
    <xsd:element name="CurrentValueAmount" type="oa:AmountType"/>
    <xsd:element name="DepreciationAmount" type="oa:AmountType"/>
    <xsd:element name="DiscountAllowedAmount" type="oa:AmountType"/>
    <xsd:element name="DiscountTakenAmount" type="oa:AmountType"/>
    <xsd:element name="InitialValueAmount" type="oa:AmountType"/>
    <xsd:element name="NonDiscountAmount" type="oa:AmountType"/>
    <xsd:element name="ToleranceAmount" type="oa:AmountType"/>
    <xsd:element name="ResourceID" type="oa:DocumentIDType">
        <xsd:annotation>
            <xsd:documentation source="htt://schema.infor.com/Infor1.0">Docoument ID to uniquely identify a resource.</xsd:documentation>
        </xsd:annotation>
    </xsd:element>    

    <xsd:element name="ClassificationCode" type="oa:CodeType" />
    <xsd:element name="DocumentCode" type="oa:CodeType">
        <xsd:annotation>
            <xsd:documentation> The name of the noun that contains the data that is being used to
                create the journal. </xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    <xsd:element name="ReasonCode" type="oa:CodeType"/>
    <xsd:element name="MessageCodes" type="oa:CodesType"/>

    <xsd:element name="ManagerContact" type="oa:ContactType"/>

    <xsd:element name="ExtendedCost" type="oa:ConvertedAmountType"/>  
    
    <xsd:element name="TaxCountry" type="oa:CountryCodeType"/>

    <xsd:element name="CUMStartDate" type="oa:DateType"/>
    <xsd:element name="PublishDate" type="oa:DateType"/>    
    <xsd:element name="RequestedDeliveryDate" type="oa:DateType"/>
    <xsd:element name="TimeZoneDaylightStartDate" type="oa:DateType"/>
    <xsd:element name="TimeZoneDaylightEndDate" type="oa:DateType"/>
    
    <xsd:element name="BatchDateTime" type="oa:DateTimeType"/>
    <xsd:element name="ThroughDateTime" type="oa:DateTimeType"/>

    <xsd:element name="HierarchyReference" type="oa:DocumentReferenceType"/>
    <xsd:element name="FinancialCalendarReference" type="oa:DocumentIDType"/>
    <xsd:element name="RateTypeReference" type="oa:DocumentReferenceType">
        <xsd:annotation>
            <xsd:documentation>The reference tot he rate type for a specific currency exchange
            rate.</xsd:documentation>
        </xsd:annotation>
    </xsd:element>

    <xsd:element name="InnerPackID" type="oa:IdentifierType">
        <xsd:annotation>
            <xsd:documentation>This points to the ID of the package that is the inner pack for this
                package.</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    <xsd:element name="SheetNumberID" type="oa:IdentifierType"/>

    <xsd:element name="BlockedForManualEntryOnlyIndicator" type="oa:IndicatorType">
        <xsd:annotation>
            <xsd:documentation> Indicates that the account is blocked and not available during this
                time period. </xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    <xsd:element name="CapitalizeTaxIndicator" type="oa:IndicatorType"/>
    <xsd:element name="CapitalizeAddonIndicator" type="oa:IndicatorType"/>
    <xsd:element name="ChargeIndicator" type="oa:IndicatorType"/>
    <xsd:element name="ContractApplicableIndicator" type="oa:IndicatorType"/>
    <xsd:element name="DiscountApprovedPersonnelReference" type="oa:IdentifierType"/>
    <xsd:element name="ExpensableItemIndicator" type="oa:IndicatorType"/>
    <xsd:element name="FixedPriceItemIndicator" type="oa:IndicatorType"/>
    <xsd:element name="IgnoreToleranceIndicator" type="oa:IndicatorType"/>
    <xsd:element name="LateDiscountIndicator" type="oa:IndicatorType"/>
    <xsd:element name="PriceOverrideIndicator" type="oa:IndicatorType"/>
    
    <xsd:element name="InvoiceReference" type="oa:InvoiceReferenceType"/>
    
    <xsd:element name="AuthorizationType" type="oa:NormalizedStringType"/>
    <xsd:element name="TaxLedger" type="oa:NormalizedStringType"/>
    <xsd:element name="TimeZoneOffset" type="oa:NumericType"/>
    <xsd:element name="UnitQuantityConversionFactor" type="oa:NumericType">
        <xsd:annotation>
            <xsd:documentation>The unit quantity factor is a simple field with a numeric value that enables a conversion rate to the unit quantity of a line item</xsd:documentation>
        </xsd:annotation>
    </xsd:element>  
    
    <xsd:element name="ProbabilityPercent" type="oa:PercentType"/>
    <xsd:element name="TolerancePercent" type="oa:PercentType"/>
    
    <xsd:element name="ColumnSequence" type="oa:PositiveIntegerNumericType"/>
    <xsd:element name="ColumnWidth" type="oa:PositiveIntegerNumericType"/>
    <xsd:element name="PalletHigh" type="oa:PositiveIntegerNumericType">
        <xsd:annotation>
            <xsd:documentation>The number of levels high the innerpack can be stacked on a
            pallet.</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    <xsd:element name="PalletTie" type="oa:PositiveIntegerNumericType">
        <xsd:annotation>
            <xsd:documentation>The number of inner packs that can be configured on the same level on
                a pallet.</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    <xsd:element name="Sublevel" type="oa:PositiveIntegerNumericType"/>

    <xsd:element name="BaseUOMQuantity" type="oa:QuantityType"/>
    <xsd:element name="Tax" type="oa:TaxAmountType">
        <xsd:annotation>
            <xsd:documentation source="http://www.openapplications.org/oagis/9">Indicates the tax for the object associated.</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    
    <xsd:element name="ColumnLabel" type="oa:TextType"/>
    <xsd:element name="CostCenterName" type="oa:TextType"/>
    <xsd:element name="ReportTitle" type="oa:TextType"/>

    <xsd:element name="ActualAvailability" type="oa:TimePeriodType" />

    <xsd:element name="UnitCode" type="oa:UnitCodeContentType"/>

    <xsd:element name="LID" type="oa:URIType"/>
    <xsd:element name="ReferenceURL" type="oa:URIType"/>
    
    <!-- Infor typed -->
    <xsd:element name="AccountingChartReference" type="AccountingChartReferenceType">
        <xsd:annotation>
            <xsd:documentation xml:lang="en"> Used by Multibook GL to associate accounts to a single
                chart. Single chart systems, most of the exiasting applications do not need to
                populate this element.</xsd:documentation>
        </xsd:annotation>
    </xsd:element>  
    <xsd:element name="AlternatePeriod" type="AlternatePeriodType"/>
    <xsd:element name="ResourceAvailability" type="AvailabilityType"/>
    <xsd:element name="Burden" type="BurdenType">
        <xsd:annotation>
            <xsd:documentation>Burden amount and/or percentage of a resource</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    <xsd:element name="ColumnHeader" type="ColumnHeaderType"/>
    <xsd:element name="ColumnValue" type="ColumnDataType"/>
    <xsd:element name="CostRule" type="CostRuleType"/>
    <xsd:element name="CurrencyLocalName" type="CurrencyLocalNameType"/>
    <xsd:element name="CustomerAccount" type="AccountType"/>
    <xsd:element name="DataContent" type="DataContentType"/>
    <xsd:element name="DefaultContraAccountReference" type="ChartOfAccountsReferenceType"/>
    <xsd:element name="Depreciation" type="DepreciationType"/>
    <xsd:element name="Discount" type="DiscountType"/>
    <xsd:element name="EDIDocument" type="EDIDocumentType"/>
    <xsd:element name="EDITransaction" type="EDITransactionType"/>
    <xsd:element name="ExchangeRateRules" type="ExchangeRateRulesType"/>
    <xsd:element name="FieldList" type="in4f:FieldListType"/>
    <xsd:element name="HierarchyNodeID" type="HierarchyNodeIDType"/>
    <xsd:element name="HoldReference" type="HoldReferenceType"/>
    <xsd:element name="InnerPack" type="InnerPackType"/>
    <xsd:element name="InvoiceProcessingRules" type="InvoiceProcessingRulesType"/>
    <xsd:element name="ItemInstance" type="ItemInstanceType"/>
    <xsd:element name="NotificationAddress" type="NotificationAddressType"/>
    <xsd:element name="PackagingUnit" type="PackagingType"/>
    <xsd:element name="PackingMaterial" type="ComponentItem"/>
    <xsd:element name="MSDS" type="MSDSType"/>
    <xsd:element name="ParentAccount" type="ParentAccountType"/>
    <xsd:element name="PalletTieHigh" type="PalletTieHighType"/>
    <xsd:element name="BuyerPersonReference" type="PersonReferenceType"/>
    <xsd:element name="SalesPersonReference" type="PersonReferenceType"/>
    <xsd:element name="ResourceReference" type="ResourceReferenceType"/>
    <xsd:element name="RouteStop" type="RouteStopType"/>
    <xsd:element name="Status" type="SimpleStatusEnumType"/>
    <xsd:element name="Subsystem" type="SubsystemType"/>
    <xsd:element name="SupplierAccount" type="SupplierAccountType"/>
    <xsd:element name="TaxableTransactionOrigin" type="TaxableTransactionOriginType"/>
    <xsd:element name="TaxOrigin" type="TaxableTransactionOriginType"/>
    <xsd:element name="TimeZone" type="TimeZoneType"/>
</xsd:schema>
