<?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.
30 Sep 2010    NO      Added a new PeriodTypeCode element (JIRA BOD-1438).
19 Jan 2011    NO      Added UserArea (BOD-1467)

        *****     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="FinancialCalendar" type="FinancialCalendarType"/>

    <xsd:complexType name="FinancialCalendarType">
        <xsd:sequence>
            <xsd:element ref="FinancialCalendarID"/>
            <xsd:element ref="Name" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:group ref="FreeFormTextGroup"/>
            <xsd:element ref="Status" minOccurs="0"/>
            <xsd:element ref="CalendarYear" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="UserArea" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:element name="CalendarYear" type="CalendarYearType"/>

    <xsd:complexType name="CalendarYearType">
        <xsd:annotation>
            <xsd:documentation>The calendar defines the default periods for a year. Additional
                periods can be defined as a roll-up of the periods of the year. Only 5 years of data
                should be carried at a time.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element ref="Year"/>
            <xsd:element ref="YearMethod" minOccurs="0"/>
            <xsd:element ref="InsertedYearIndicator" minOccurs="0"/>
            <xsd:element ref="Name" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="Status" minOccurs="0"/>
            <xsd:element ref="EffectiveTimePeriod"/>
            <xsd:element ref="Period" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:element name="YearMethod" type="YearMethodType"/>
    <xsd:element name="Period" type="PeriodType"/>

    <xsd:complexType name="PeriodType">
        <xsd:sequence>
            <xsd:element ref="PeriodID"/>
            <xsd:element ref="AdjustmentSequence" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation> Works with the period ID to uniquely identify a period. If
                        this element is omitted or has a value of 0 then it is the actual period.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element ref="Name" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="ShortName" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="Status" minOccurs="0"/>
            <xsd:element ref="EffectiveTimePeriod"/>
            <xsd:element ref="PeriodTypeCode" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:element name="FinancialCalendarID" type="DocumentIDType"/>
    <xsd:element name="PeriodTypeCode" type="CodeType">
        <xsd:annotation>
            <xsd:documentation> This element is used to store 'Normal', 'Adjustment', or 'YearEnd' period types. </xsd:documentation>
        </xsd:annotation>
    </xsd:element>    

</xsd:schema>
