<?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
10 Apr 2008    JB      Added correct Copyright and update comments to schema.
15 Dec 2009    PO      Added summary book code 
        *****     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"
    attributeFormDefault="unqualified">

    <xsd:include schemaLocation="../Components/Financial/Components.xsd"/>

    <xsd:element name="AccountingBookDefinition" type="AccountingBookDefinitionType">
        <xsd:annotation>
            <xsd:documentation > AccountingBookDefinition used for
                associating a chart of accounts, a currency, and a calendar.</xsd:documentation>
        </xsd:annotation>
    </xsd:element>

    <xsd:complexType name="AccountingBookDefinitionType">
        <xsd:complexContent>
            <xsd:extension base="StatusEnabledHeaderType">
                <xsd:sequence>
                    <xsd:element ref="Name" minOccurs="0" maxOccurs="unbounded"/>
                    <xsd:element ref="EffectiveTimePeriod" minOccurs="0"/>
                    <xsd:element ref="AccountingChartReference" minOccurs="0"/>
                    <xsd:element ref="FinancialCalendarReference" minOccurs="0"/>
                    <xsd:element ref="CurrencyCode" minOccurs="0"/>
                    <xsd:element ref="BookTypeCode" minOccurs="0"/>
                    <xsd:element ref="BudgetBookDefinitionReference" minOccurs="0"/>
                    <xsd:element ref="SummaryBook" minOccurs="0"/>
                    <xsd:element ref="RegenerationRequired" minOccurs="0">
                        <xsd:annotation>
                            <xsd:documentation>AER balance processing needs a way of distinguishing when to regenerate balances for summary books when a change to the rules has occurred on the summary book definition. This flag is intended to instruct the AGL to regenerate balances when it is set to TRUE. This is only applicable to Cday summary balances.
                            </xsd:documentation>
                        </xsd:annotation>
                    </xsd:element>
                    <xsd:element ref="BookType" minOccurs="0"/>
                    <xsd:element ref="UserArea" minOccurs="0"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>

    <xsd:element name="BudgetBookDefinitionReference" type="SemanticDocumentReferenceType"/>
    <xsd:element name="BookTypeCode" type="CodeType"/>
    
    <xsd:complexType name="SummaryBookType">
        <xsd:sequence>
            <xsd:element ref="AccountingBookDefinitionReference" minOccurs="0"/>
            <xsd:element ref="AccountingEntityHierarchyNodeReference" minOccurs="0"/>
            <xsd:element ref="SummarizationDefinition" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="SummaryBook" type="SummaryBookType"/>
    
    <xsd:complexType name="SummarizationDefinitionType">
        <xsd:sequence>
            <xsd:element ref="HierarchyReference" minOccurs="0"/>
            <xsd:element ref="Code" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>
                        This Code actually refers to a code list. The listID for this code MUST be 'Dimension'. 
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element ref="DerivationRuleSourceCode" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="SummarizationDefinition" type="SummarizationDefinitionType"/>
    
	<xsd:element name="BookType" type="CodeType"/>
    <xsd:element name="AccountingEntityHierarchyNodeReference" type="HierarchyNodeReferenceType"/>
    <xsd:element name="RegenerationRequired" type="IndicatorType"/>
    <xsd:element name="DerivationRuleSourceCode"  type="CodeType"/>
</xsd:schema>
