svn commit: r1642027 [1/2] - in /ofbiz/trunk: applications/accounting/ applications/accounting/entitydef/ applications/accounting/script/org/ofbiz/accounting/olap/ applications/accounting/servicedef/ applications/order/ applications/order/entitydef/ ap...

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r1642027 [1/2] - in /ofbiz/trunk: applications/accounting/ applications/accounting/entitydef/ applications/accounting/script/org/ofbiz/accounting/olap/ applications/accounting/servicedef/ applications/order/ applications/order/entitydef/ ap...

jacopoc
Author: jacopoc
Date: Thu Nov 27 06:14:06 2014
New Revision: 1642027

URL: http://svn.apache.org/r1642027
Log:
Moved the "bi" component from the framework to the specialpurpose folder; moved all the dependencies (client code) on the "bi" component from applications components to the "bi" component itself.
Now the "bi" component contains all the dimensions/facts/star schemas and all the logic to populate them and can be easily enabled/disabled.

Added:
    ofbiz/trunk/specialpurpose/bi/
      - copied from r1641394, ofbiz/trunk/framework/bi/
    ofbiz/trunk/specialpurpose/bi/entitydef/
    ofbiz/trunk/specialpurpose/bi/entitydef/entitygroup.xml   (with props)
    ofbiz/trunk/specialpurpose/bi/entitydef/entitymodel.xml   (with props)
    ofbiz/trunk/specialpurpose/bi/script/org/ofbiz/bi/FactServices.xml   (with props)
    ofbiz/trunk/specialpurpose/bi/servicedef/secas.xml   (with props)
Removed:
    ofbiz/trunk/applications/accounting/entitydef/entitygroup_olap.xml
    ofbiz/trunk/applications/accounting/entitydef/entitymodel_olap.xml
    ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/olap/
    ofbiz/trunk/applications/accounting/servicedef/secas_olap.xml
    ofbiz/trunk/applications/accounting/servicedef/services_olap.xml
    ofbiz/trunk/applications/order/entitydef/entitygroup_olap.xml
    ofbiz/trunk/applications/order/entitydef/entitymodel_olap.xml
    ofbiz/trunk/applications/order/script/org/ofbiz/order/olap/
    ofbiz/trunk/applications/order/servicedef/secas_olap.xml
    ofbiz/trunk/applications/order/servicedef/services_olap.xml
    ofbiz/trunk/applications/product/data/DimensionTypeData.xml
    ofbiz/trunk/applications/product/entitydef/entitygroup_olap.xml
    ofbiz/trunk/applications/product/entitydef/entitymodel_olap.xml
    ofbiz/trunk/applications/product/script/org/ofbiz/product/olap/
    ofbiz/trunk/applications/product/servicedef/secas_olap.xml
    ofbiz/trunk/applications/product/servicedef/services_olap.xml
    ofbiz/trunk/framework/bi/
    ofbiz/trunk/framework/common/data/DimensionTypeData.xml
    ofbiz/trunk/framework/common/entitydef/entitygroup_olap.xml
    ofbiz/trunk/framework/common/entitydef/entitymodel_olap.xml
    ofbiz/trunk/framework/common/script/org/ofbiz/common/olap/
    ofbiz/trunk/framework/common/servicedef/services_olap.xml
    ofbiz/trunk/framework/common/src/org/ofbiz/common/olap/
Modified:
    ofbiz/trunk/applications/accounting/ofbiz-component.xml
    ofbiz/trunk/applications/order/ofbiz-component.xml
    ofbiz/trunk/applications/order/servicedef/secas.xml
    ofbiz/trunk/applications/order/servicedef/services.xml
    ofbiz/trunk/applications/product/ofbiz-component.xml
    ofbiz/trunk/framework/build.xml
    ofbiz/trunk/framework/common/ofbiz-component.xml
    ofbiz/trunk/framework/component-load.xml
    ofbiz/trunk/specialpurpose/bi/build.xml
    ofbiz/trunk/specialpurpose/bi/data/BiTypeData.xml
    ofbiz/trunk/specialpurpose/bi/ofbiz-component.xml
    ofbiz/trunk/specialpurpose/bi/script/org/ofbiz/bi/DimensionServices.xml
    ofbiz/trunk/specialpurpose/bi/servicedef/services.xml
    ofbiz/trunk/specialpurpose/bi/src/org/ofbiz/bi/util/DimensionServices.java
    ofbiz/trunk/specialpurpose/build.xml
    ofbiz/trunk/specialpurpose/component-load.xml

Modified: ofbiz/trunk/applications/accounting/ofbiz-component.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/ofbiz-component.xml?rev=1642027&r1=1642026&r2=1642027&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/ofbiz-component.xml (original)
+++ ofbiz/trunk/applications/accounting/ofbiz-component.xml Thu Nov 27 06:14:06 2014
@@ -29,8 +29,6 @@ under the License.
     <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel.xml"/>
     <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel_reports.xml"/>
     <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel_old.xml"/>
-    <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel_olap.xml"/>
-    <entity-resource type="group" reader-name="main" loader="main" location="entitydef/entitygroup_olap.xml"/>
     <entity-resource type="eca" reader-name="main" loader="main" location="entitydef/eecas.xml"/>
     <entity-resource type="data" reader-name="seed" loader="main" location="data/AccountingTypeData.xml"/>
     <entity-resource type="data" reader-name="seed" loader="main" location="data/AccountingHelpData.xml"/>
@@ -66,7 +64,6 @@ under the License.
     <service-resource type="model" loader="main" location="servicedef/services_tax.xml"/>
     <service-resource type="model" loader="main" location="servicedef/services_rate.xml"/>
     <service-resource type="model" loader="main" location="servicedef/services_cost.xml"/>
-    <service-resource type="model" loader="main" location="servicedef/services_olap.xml"/>
 
     <!-- Payment Processor/Gateway Service Definitions -->
     <service-resource type="model" loader="main" location="servicedef/services_sagepay.xml"/>
@@ -91,7 +88,6 @@ under the License.
     <service-resource type="eca" loader="main" location="servicedef/secas.xml"/>
     <service-resource type="eca" loader="main" location="servicedef/secas_payment.xml"/>
     <service-resource type="eca" loader="main" location="servicedef/secas_ledger.xml"/>
-    <service-resource type="eca" loader="main" location="servicedef/secas_olap.xml"/>
     <service-resource type="eca" loader="main" location="servicedef/secas_invoice.xml"/>
 
     <test-suite loader="main" location="testdef/accountingtests.xml"/>

Modified: ofbiz/trunk/applications/order/ofbiz-component.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/ofbiz-component.xml?rev=1642027&r1=1642026&r2=1642027&view=diff
==============================================================================
--- ofbiz/trunk/applications/order/ofbiz-component.xml (original)
+++ ofbiz/trunk/applications/order/ofbiz-component.xml Thu Nov 27 06:14:06 2014
@@ -28,8 +28,6 @@ under the License.
     <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel.xml"/>
     <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel_old.xml"/>
     <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel_view.xml"/>
-    <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel_olap.xml"/>
-    <entity-resource type="group" reader-name="main" loader="main" location="entitydef/entitygroup_olap.xml"/>
     <entity-resource type="eca" reader-name="main" loader="main" location="entitydef/eecas.xml"/>
     <entity-resource type="data" reader-name="seed" loader="main" location="data/OrderTypeData.xml"/>
     <entity-resource type="data" reader-name="seed" loader="main" location="data/OrderPortletData.xml"/>
@@ -49,7 +47,6 @@ under the License.
     <service-resource type="model" loader="main" location="servicedef/services_return.xml"/>
     <service-resource type="model" loader="main" location="servicedef/services_upgrade.xml"/>
     <service-resource type="model" loader="main" location="servicedef/services_checkout.xml"/>
-    <service-resource type="model" loader="main" location="servicedef/services_olap.xml"/>
     <service-resource type="eca" loader="main" location="servicedef/secas.xml"/>
 
     <test-suite loader="main" location="testdef/FinAccountTests.xml"/>

Modified: ofbiz/trunk/applications/order/servicedef/secas.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/servicedef/secas.xml?rev=1642027&r1=1642026&r2=1642027&view=diff
==============================================================================
--- ofbiz/trunk/applications/order/servicedef/secas.xml (original)
+++ ofbiz/trunk/applications/order/servicedef/secas.xml Thu Nov 27 06:14:06 2014
@@ -436,17 +436,10 @@ under the License.
         <action service="createReturnStatus" mode="sync"/>
     </eca>
     
-    <!-- fact entities -->
-    <!-- Load data into the SalesOrderItemFact olap entity when a sales order is set to ready -->
-    <eca service="changeOrderItemStatus" event="commit">
-        <condition field-name="statusId" operator="equals" value="ITEM_APPROVED"/>
-        <condition-field field-name="statusId" operator="not-equals" to-field-name="oldStatusId"/>
-        <action service="loadSalesOrderFact" mode="sync" run-as-user="system"/>
-    </eca>
     <eca service="createUpdateCustomerAndShippingAddress" event="invoke">
         <action service="setAnonUserLogin" mode="sync"/>
     </eca>
-    
+
     <!-- Use for link the payment and the invoice When Received Payment -->
     <eca service="createPaymentFromPreference" event="commit">
         <condition field-name="paymentId" operator="is-not-empty"/>

Modified: ofbiz/trunk/applications/order/servicedef/services.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/servicedef/services.xml?rev=1642027&r1=1642026&r2=1642027&view=diff
==============================================================================
--- ofbiz/trunk/applications/order/servicedef/services.xml (original)
+++ ofbiz/trunk/applications/order/servicedef/services.xml Thu Nov 27 06:14:06 2014
@@ -1069,25 +1069,6 @@ under the License.
         <attribute name="availabalityList" type="List" mode="OUT"/>
     </service>
     
-    <!-- Order Facts -->
-    <service name="loadSalesOrderFact" auth="true" engine="simple"
-        location="component://order/script/org/ofbiz/order/olap/FactServices.xml" invoke="loadSalesOrderFact">
-        <description>Calls the loadSalesOrderItemFact service for all the order items.</description>
-        <attribute name="orderId" type="String" mode="IN" optional="false"/>
-    </service>
-    
-    <service name="loadSalesOrderItemFact" auth="true" engine="simple"
-        location="component://order/script/org/ofbiz/order/olap/FactServices.xml" invoke="loadSalesOrderItemFact">
-        <description>
-            Pulls information from the OrderItem* entities and stores them in the SalesOrderItem entity (olap entity).
-            One of orderId/orderItemSeqId or order/orderItem must be passed or an error is returned.
-        </description>
-        <attribute name="orderId" type="String" mode="IN" optional="true"/>
-        <attribute name="orderItemSeqId" type="String" mode="IN" optional="true"/>
-        <attribute name="orderHeader" type="org.ofbiz.entity.GenericValue" mode="IN" optional="true"/>
-        <attribute name="orderItem" type="org.ofbiz.entity.GenericValue" mode="IN" optional="true"/>
-        <attribute name="orderAdjustment " type="org.ofbiz.entity.GenericValue" mode="IN" optional="true"/>
-    </service>
     <service name="createQuoteTerm" engine="simple" default-entity-name="QuoteTerm"
         location="component://order/script/org/ofbiz/order/quote/QuoteServices.xml" invoke="createQuoteTerm">
         <description>

Modified: ofbiz/trunk/applications/product/ofbiz-component.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/ofbiz-component.xml?rev=1642027&r1=1642026&r2=1642027&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/ofbiz-component.xml (original)
+++ ofbiz/trunk/applications/product/ofbiz-component.xml Thu Nov 27 06:14:06 2014
@@ -30,8 +30,6 @@ under the License.
     <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel_view.xml"/>
     <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel_old.xml"/>
     <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel_shipment.xml"/>
-    <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel_olap.xml"/>
-    <entity-resource type="group" reader-name="main" loader="main" location="entitydef/entitygroup_olap.xml"/>
     <entity-resource type="eca" reader-name="main" loader="main" location="entitydef/eecas.xml"/>
     <entity-resource type="data" reader-name="seed-initial" loader="main" location="data/ProductScheduledServices.xml"/>
     <entity-resource type="data" reader-name="seed" loader="main" location="data/ProductTypeData.xml"/>
@@ -43,7 +41,6 @@ under the License.
     <entity-resource type="data" reader-name="demo" loader="main" location="data/FacilitySecurityGroupDemoData.xml"/>
     <entity-resource type="data" reader-name="demo" loader="main" location="data/ProductDemoData.xml"/>
     <entity-resource type="data" reader-name="seed" loader="main" location="data/ApiSchemaDhl.xml"/>
-    <entity-resource type="data" reader-name="seed" loader="main" location="data/DimensionTypeData.xml"/>
     <entity-resource type="data" reader-name="seed" loader="main" location="data/ProductPortletData.xml"/>
 
     <service-resource type="model" loader="main" location="servicedef/services.xml"/>
@@ -64,10 +61,8 @@ under the License.
     <service-resource type="model" loader="main" location="servicedef/services_view.xml"/>
     <service-resource type="model" loader="main" location="servicedef/services_cost.xml"/>
     <service-resource type="model" loader="main" location="servicedef/services_uom.xml"/>
-    <service-resource type="model" loader="main" location="servicedef/services_olap.xml"/>
     <service-resource type="eca" loader="main" location="servicedef/secas.xml"/>
     <service-resource type="eca" loader="main" location="servicedef/secas_shipment.xml"/>
-    <service-resource type="eca" loader="main" location="servicedef/secas_olap.xml"/>
     <service-resource type="model" loader="main" location="servicedef/services_upgrade.xml"/>
 
     <!-- test suite -->

Modified: ofbiz/trunk/framework/build.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/build.xml?rev=1642027&r1=1642026&r2=1642027&view=diff
==============================================================================
--- ofbiz/trunk/framework/build.xml (original)
+++ ofbiz/trunk/framework/build.xml Thu Nov 27 06:14:06 2014
@@ -24,7 +24,7 @@ under the License.
                entity/build.xml,geronimo/build.xml,
                catalina/build.xml,
                security/build.xml,service/build.xml,entityext/build.xml,
-               bi/build.xml,minilang/build.xml,
+               minilang/build.xml,
                webapp/build.xml,widget/build.xml,
                common/build.xml,datafile/build.xml,
                testtools/build.xml,

Modified: ofbiz/trunk/framework/common/ofbiz-component.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/ofbiz-component.xml?rev=1642027&r1=1642026&r2=1642027&view=diff
==============================================================================
--- ofbiz/trunk/framework/common/ofbiz-component.xml (original)
+++ ofbiz/trunk/framework/common/ofbiz-component.xml Thu Nov 27 06:14:06 2014
@@ -25,8 +25,6 @@ under the License.
     <classpath type="jar" location="build/lib/*"/>
     <classpath type="dir" location="config"/>
     <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel.xml"/>
-    <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel_olap.xml"/>
-    <entity-resource type="group" reader-name="main" loader="main" location="entitydef/entitygroup_olap.xml"/>
     <entity-resource type="data" reader-name="seed" loader="main" location="data/CommonSecurityPermissionSeedData.xml"/>
     <entity-resource type="data" reader-name="demo" loader="main" location="data/CommonSecurityGroupDemoData.xml"/>
     <entity-resource type="data" reader-name="seed" loader="main" location="data/CommonSystemPropertyData.xml"/>
@@ -62,13 +60,11 @@ under the License.
     <entity-resource type="data" reader-name="seed" loader="main" location="data/LanguageData.xml"/>
     <entity-resource type="data" reader-name="seed" loader="main" location="data/UnitData.xml"/>
     <entity-resource type="data" reader-name="seed" loader="main" location="data/PeriodData.xml"/>
-    <entity-resource type="data" reader-name="seed" loader="main" location="data/DimensionTypeData.xml"/>
     <entity-resource type="data" reader-name="seed" loader="main" location="data/CommonPortletData.xml"/>
 
     <service-resource type="model" loader="main" location="servicedef/services.xml"/>
     <service-resource type="model" loader="main" location="servicedef/services_cdyne.xml"/>
     <service-resource type="model" loader="main" location="servicedef/services_email.xml"/>
-    <service-resource type="model" loader="main" location="servicedef/services_olap.xml"/>
     <service-resource type="model" loader="main" location="servicedef/services_security.xml"/>
     <service-resource type="model" loader="main" location="servicedef/services_test.xml"/>
     <service-resource type="group" loader="main" location="servicedef/groups_test.xml"/>

Modified: ofbiz/trunk/framework/component-load.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/component-load.xml?rev=1642027&r1=1642026&r2=1642027&view=diff
==============================================================================
--- ofbiz/trunk/framework/component-load.xml (original)
+++ ofbiz/trunk/framework/component-load.xml Thu Nov 27 06:14:06 2014
@@ -31,7 +31,6 @@ under the License.
     <load-component component-location="service"/>
     <load-component component-location="catalina"/>
     <load-component component-location="entityext"/>
-    <load-component component-location="bi"/>
     <load-component component-location="webapp"/>
     <load-component component-location="widget"/>
     <load-component component-location="testtools"/>

Modified: ofbiz/trunk/specialpurpose/bi/build.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/bi/build.xml?rev=1642027&r1=1641394&r2=1642027&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/bi/build.xml (original)
+++ ofbiz/trunk/specialpurpose/bi/build.xml Thu Nov 27 06:14:06 2014
@@ -40,12 +40,4 @@ under the License.
         <fileset dir="../../framework/service/lib" includes="*.jar"/>
         <fileset dir="../../framework/service/build/lib" includes="*.jar"/>
     </path>
-
-    <!-- ================================================================== -->
-    <!-- Compilation of the source files                                                                                                                         -->
-    <!-- ================================================================== -->
-
-    <target name="classes" depends="prepare">
-        <javac17 classpathref="local.class.path"/>
-    </target>
 </project>

Modified: ofbiz/trunk/specialpurpose/bi/data/BiTypeData.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/bi/data/BiTypeData.xml?rev=1642027&r1=1641394&r2=1642027&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/bi/data/BiTypeData.xml (original)
+++ ofbiz/trunk/specialpurpose/bi/data/BiTypeData.xml Thu Nov 27 06:14:06 2014
@@ -19,5 +19,12 @@ under the License.
 -->
 
 <entity-engine-xml>
+    <CurrencyDimension dimensionId="_NF_" description="Currency Not Found."/>
+    <CurrencyDimension dimensionId="_NA_" description="Currency Not Set."/>
 
+    <DateDimension dimensionId="_NF_" description="Date Not Found."/>
+    <DateDimension dimensionId="_NA_" description="Date Not Set."/>
+
+    <ProductDimension dimensionId="_NF_"/>
+    <ProductDimension dimensionId="_NA_"/>
 </entity-engine-xml>

Added: ofbiz/trunk/specialpurpose/bi/entitydef/entitygroup.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/bi/entitydef/entitygroup.xml?rev=1642027&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/bi/entitydef/entitygroup.xml (added)
+++ ofbiz/trunk/specialpurpose/bi/entitydef/entitygroup.xml Thu Nov 27 06:14:06 2014
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<entitygroup xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/entitygroup.xsd">
+
+    <!-- ========================================================= -->
+    <!-- Dimensions                                                     -->
+    <!-- ========================================================= -->
+    <entity-group group="org.ofbiz.olap" entity="CurrencyDimension"/>
+    <entity-group group="org.ofbiz.olap" entity="DateDimension"/>
+    <entity-group group="org.ofbiz.olap" entity="ProductDimension"/>
+
+    <!-- ========================================================= -->
+    <!-- Facts                                                     -->
+    <!-- ========================================================= -->
+    <entity-group group="org.ofbiz.olap" entity="SalesInvoiceItemFact"/>
+    <entity-group group="org.ofbiz.olap" entity="SalesOrderItemFact"/>
+    <entity-group group="org.ofbiz.olap" entity="InventoryItemFact"/>
+
+    <!-- ========================================================= -->
+    <!-- Star Schemas                                              -->
+    <!-- ========================================================= -->
+    <entity-group group="org.ofbiz.olap" entity="SalesInvoiceItemStarSchema"/>
+    <entity-group group="org.ofbiz.olap" entity="SalesOrderItemStarSchema"/>
+    <entity-group group="org.ofbiz.olap" entity="InventoryItemSchema"/>
+
+</entitygroup>
+

Propchange: ofbiz/trunk/specialpurpose/bi/entitydef/entitygroup.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/bi/entitydef/entitygroup.xml
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/trunk/specialpurpose/bi/entitydef/entitygroup.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: ofbiz/trunk/specialpurpose/bi/entitydef/entitymodel.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/bi/entitydef/entitymodel.xml?rev=1642027&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/bi/entitydef/entitymodel.xml (added)
+++ ofbiz/trunk/specialpurpose/bi/entitydef/entitymodel.xml Thu Nov 27 06:14:06 2014
@@ -0,0 +1,468 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<entitymodel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/entitymodel.xsd">
+    <!-- ========================================================= -->
+    <!-- ======================== Defaults ======================= -->
+    <!-- ========================================================= -->
+    <title>OLAP entities</title>
+    <description>None</description>
+
+    <!-- ========================================================= -->
+    <!-- Dimensions                                                -->
+    <!-- ========================================================= -->
+    <entity entity-name="DateDimension" package-name="org.ofbiz.bi.dimension" title="Date Dimension">
+        <description>Date (days) dimension. The natural key is [dateValue]</description>
+        <field name="dimensionId" type="id-ne">
+            <description>Unique identifier of the Date dimension record</description>
+        </field>
+        <field name="dateValue" type="date">
+            <description>The date (day)</description>
+        </field>
+        <field name="description" type="description">
+            <description>Full date description</description>
+        </field>
+        <field name="dayName" type="short-varchar">
+            <description>The name of the day (Monday, Tuesday, etc...)</description>
+        </field>
+        <field name="dayOfMonth" type="numeric">
+            <description>The number of the day in the month</description>
+        </field>
+        <field name="dayOfYear" type="numeric">
+            <description>The number of the day in the year</description>
+        </field>
+        <field name="monthName" type="short-varchar">
+            <description>The name of the month (January, February, etc...)</description>
+        </field>
+        <field name="monthOfYear" type="numeric">
+            <description>The number of the month (1-12)</description>
+        </field>
+        <field name="yearName" type="numeric">
+            <description>The year (2008, 2009, etc...)</description>
+        </field>
+        <field name="weekOfMonth" type="numeric">
+            <description>The number of the week in the month</description>
+        </field>
+        <field name="weekOfYear" type="numeric">
+            <description>The number of the week in the year</description>
+        </field>
+        <field name="yearMonthDay" type="short-varchar">
+            <description>YYYY-MM-DD</description>
+        </field>
+        <field name="yearAndMonth" type="short-varchar">
+            <description>YYYY-MM</description>
+        </field>
+        <field name="weekdayType" type="short-varchar">
+            <description>Weekday indicator (Weekday or Weekend)</description>
+        </field>
+        <prim-key field="dimensionId"/>
+    </entity>
+
+    <entity entity-name="CurrencyDimension" package-name="org.ofbiz.bi.dimension" title="Currency Dimension">
+        <description>Currency dimension. The natural key is [currencyId]</description>
+        <field name="dimensionId" type="id-ne">
+            <description>Unique identifier of the Currency dimension record</description>
+        </field>
+        <field name="currencyId" type="id-ne">
+            <description>The currency id (natural key).</description>
+        </field>
+        <field name="description" type="description">
+            <description>Full currency description</description>
+        </field>
+        <prim-key field="dimensionId"/>
+    </entity>
+
+    <entity entity-name="ProductDimension" package-name="org.ofbiz.bi.dimension.product" title="Product Dimension">
+        <description>Product dimension. The natural key is [productId]</description>
+        <field name="dimensionId" type="id-ne">
+            <description>Unique identifier of the Product dimension record</description>
+        </field>
+        <field name="productId" type="id-ne">
+            <description>The natural key. From Product.productId</description>
+        </field>
+        <field name="productType" type="description">
+            <description>The product type. From ProductType.description</description>
+        </field>
+        <field name="brandName" type="name"></field>
+        <field name="internalName" type="description"></field>
+        <prim-key field="dimensionId"/>
+    </entity>
+
+    <!-- ========================================================= -->
+    <!-- Facts                                                     -->
+    <!-- ========================================================= -->
+    <entity entity-name="SalesInvoiceItemFact" package-name="org.ofbiz.bi.fact.accounting" title="Sales Invoice Item Fact">
+        <description>A transaction fact entity with invoice item grain.</description>
+        <field name="invoiceId" type="id-ne"></field> <!-- degenerate dimension -->
+        <field name="invoiceItemSeqId" type="id-ne"></field> <!-- degenerate dimension -->
+        <field name="orderId" type="id-ne"></field> <!-- degenerate dimension -->
+        <field name="invoiceDateDimId" type="id-ne"></field>
+        <field name="productDimId" type="id-ne"></field>
+        <field name="billToCustomerDimId" type="id-ne"></field> <!-- TODO: implement the dimension -->
+        <field name="origCurrencyDimId" type="id-ne"></field>
+
+        <field name="quantity" type="fixed-point">
+            <description>Quantity invoiced. From InvoiceItem.quantity</description>
+        </field>
+
+        <field name="extGrossAmount" type="currency-precise">
+            <description>Extended gross amount: quantity invoiced multiplied by the list unit price.</description>
+        </field>
+        <field name="extDiscountAmount" type="currency-precise">
+            <description>Extended discount amount.</description>
+        </field>
+        <field name="extNetAmount" type="currency-precise">
+            <description>Extended net amount: gross amount less discounts.</description>
+        </field>
+        <field name="extTaxAmount" type="currency-precise">
+            <description>Extended tax amount.</description>
+        </field>
+        <field name="extManFixedCost" type="currency-precise">
+            <description>Extended manufacturing fixed cost.</description>
+        </field>
+        <field name="extManVarCost" type="currency-precise">
+            <description>Extended manufacturing variable cost.</description>
+        </field>
+        <field name="extStorageCost" type="currency-precise">
+            <description>Extended storage cost.</description>
+        </field>
+        <field name="extDistributionCost" type="currency-precise">
+            <description>Extended distribution cost.</description>
+        </field>
+        <field name="contributionAmount" type="currency-precise">
+            <description>Extended net amount less all the costs.</description>
+        </field>
+        <!--
+        TODO: implement multi-currency fields
+        <field name="extGrossAmountOrig" type="currency-precise">
+            <description>Extended gross amount in the original currency: quantity invoiced multiplied by the list unit price.</description>
+        </field>
+        <field name="extDiscountAmountOrig" type="currency-precise">
+            <description>Extended discount amount in the original currency.</description>
+        </field>
+        <field name="extNetAmountOrig" type="currency-precise">
+            <description>Extended net amount in the original currency: gross amount less discounts.</description>
+        </field>
+        <field name="extManFixedCostOrig" type="currency-precise">
+            <description>Extended manufacturing fixed cost in the original currency.</description>
+        </field>
+        <field name="extManVarCostOrig" type="currency-precise">
+            <description>Extended manufacturing variable cost in the original currency.</description>
+        </field>
+        <field name="extStorageCostOrig" type="currency-precise">
+            <description>Extended storage cost in the original currency.</description>
+        </field>
+        <field name="extDistributionCostOrig" type="currency-precise">
+            <description>Extended distribution cost in the original currency.</description>
+        </field>
+        <field name="contributionAmountOrig" type="currency-precise">
+            <description>Extended net amount less all the costs in the original currency.</description>
+        </field>
+        -->
+
+        <prim-key field="invoiceId"/>
+        <prim-key field="invoiceItemSeqId"/>
+
+        <relation type="one" fk-name="SIIF_INVDATE" rel-entity-name="DateDimension">
+            <key-map field-name="invoiceDateDimId" rel-field-name="dimensionId"/>
+        </relation>
+        <relation type="one" fk-name="SIIF_CURRENCY" rel-entity-name="CurrencyDimension">
+            <key-map field-name="origCurrencyDimId" rel-field-name="dimensionId"/>
+        </relation>
+        <relation type="one" fk-name="SIIF_PRODUCT" rel-entity-name="ProductDimension">
+            <key-map field-name="productDimId" rel-field-name="dimensionId"/>
+        </relation>
+
+    </entity>
+
+    <entity entity-name="SalesOrderItemFact" package-name="org.ofbiz.bi.fact.order" title="Sales Order Item Fact">
+        <description>A transaction fact entity with order item grain.</description>
+        <field name="orderId" type="id-ne"></field> <!-- degenerate dimension -->
+        <field name="orderItemSeqId" type="id-ne"></field> <!-- degenerate dimension -->
+        <field name="orderDateDimId" type="id-ne"></field>
+        <field name="productDimId" type="id-ne"></field>
+        <field name="origCurrencyDimId" type="id-ne"></field>
+        <field name="billToCustomerDimId" type="id-ne"></field> <!-- TODO: implement the dimension -->
+
+        <field name="productCategoryId" type="id-ne"></field>
+        <field name="productStoreId" type="id-ne"></field>
+        <field name="salesChannelEnumId" type="id-ne"></field>
+        <field name="statusId" type="id-ne"></field>
+
+        <field name="brand" type="name"></field>
+        <field name="pod" type="name"></field>
+        <field name="account" type="name"></field>
+
+        <field name="quantity" type="fixed-point">
+            <description>Quantity order. From OrderItem.quantity</description>
+        </field>
+
+        <field name="extGrossAmount" type="currency-precise">
+            <description>Extended gross amount: quantity item multiplied by the unit price.</description>
+        </field>
+        <field name="extGrossCost" type="currency-precise">
+            <description>Extended gross cost: quantity item multiplied by the last price.</description>
+        </field>
+        <field name="extDiscountAmount" type="currency-precise">
+            <description>Extended discount amount.</description>
+        </field>
+        <field name="extNetAmount" type="currency-precise">
+            <description>Extended net amount: gross amount less discounts.</description>
+        </field>
+        <field name="extShippingAmount" type="currency-precise">
+            <description>Extended shipping amount.</description>
+        </field>
+        <field name="extTaxAmount" type="currency-precise">
+            <description>Extended tax amount.</description>
+        </field>
+
+        <field name="GS" type="currency-precise">
+            <description>Gross Sales: Gross Amount plus Shipping Amount.</description>
+        </field>
+        <field name="GMS" type="currency-precise">
+            <description>Gross Merchandize Sales: Gross Amount.</description>
+        </field>
+        <field name="GMP" type="currency-precise">
+            <description>Gross Merchandize Profit: Gross Merchandize Sales less Gross Cost.</description>
+        </field>
+        <field name="GSS" type="currency-precise">
+            <description>Gross Shipping Sales: Shipping Amount</description>
+        </field>
+        <field name="GSC" type="currency-precise">
+            <description>Gross Shipping Cost</description>
+        </field>
+        <field name="GSP" type="currency-precise">
+            <description>Gross Shipping Profit: Gross Shipping Sales less Gross Shipping Cost.</description>
+        </field>
+        <field name="GP" type="currency-precise">
+            <description>Gross Profit: Gross Merchandize Profit less Gross Shipping Profit.</description>
+        </field>
+
+        <field name="countOrder" type="fixed-point">
+            <description>Count of order.</description>
+        </field>
+        <field name="productPromoCode" type="id-ne">
+            <description>Product promotion Code.</description>
+        </field>
+
+        <prim-key field="orderId"/>
+        <prim-key field="orderItemSeqId"/>
+
+        <relation type="one" fk-name="SOIF_ORDERDATE" rel-entity-name="DateDimension">
+            <key-map field-name="orderDateDimId" rel-field-name="dimensionId"/>
+        </relation>
+        <relation type="one" fk-name="SOIF_CURRENCY" rel-entity-name="CurrencyDimension">
+            <key-map field-name="origCurrencyDimId" rel-field-name="dimensionId"/>
+        </relation>
+        <relation type="one" fk-name="SOIF_PRODUCT" rel-entity-name="ProductDimension">
+            <key-map field-name="productDimId" rel-field-name="dimensionId"/>
+        </relation>
+
+    </entity>
+
+    <entity entity-name="InventoryItemFact" package-name="org.ofbiz.bi.fact.product" title="Inventory Item Fact">
+        <description>A transaction fact entity with inventory item.</description>
+        <field name="inventoryItemId" type="id-ne"></field>
+        <field name="facilityId" type="id-ne"></field>
+        <field name="productDimId" type="id-ne"></field>
+        <field name="origCurrencyDimId" type="id-ne"></field>
+        <field name="inventoryDateDimId" type="id-ne"></field>
+
+        <field name="quantityOnHandTotal" type="fixed-point"></field>
+        <field name="availableToPromiseTotal" type="fixed-point"></field>
+        <field name="unitCost" type="fixed-point"></field>
+        <field name="soldoutAmount" type="fixed-point"></field>
+        <prim-key field="inventoryItemId"/>
+        <relation type="one" fk-name="IIF_INVPRODUCT" rel-entity-name="ProductDimension">
+            <key-map field-name="productDimId" rel-field-name="dimensionId"/>
+        </relation>
+        <relation type="one" fk-name="IIF_INVCURRENCY" rel-entity-name="CurrencyDimension">
+            <key-map field-name="origCurrencyDimId" rel-field-name="dimensionId"/>
+        </relation>
+        <relation type="one" fk-name="IIF_INVDATE" rel-entity-name="DateDimension">
+            <key-map field-name="inventoryDateDimId" rel-field-name="dimensionId"/>
+        </relation>
+    </entity>
+
+    <!-- ========================================================= -->
+    <!-- Star Schemas                                              -->
+    <!-- ========================================================= -->
+    <view-entity entity-name="SalesInvoiceItemStarSchema" package-name="org.ofbiz.bi.starschema.accounting" title="Sales Invoice Item Star Schema">
+        <description>Invoice Item star schema (Profit and Loss Statement).</description>
+
+        <member-entity entity-alias="SIIF" entity-name="SalesInvoiceItemFact"/>
+        <member-entity entity-alias="IDD" entity-name="DateDimension"/>
+        <member-entity entity-alias="PD" entity-name="ProductDimension"/>
+        <member-entity entity-alias="CD" entity-name="CurrencyDimension"/>
+
+        <alias-all entity-alias="IDD" prefix="invoiceDate" group-by="true">
+            <exclude field="dimensionId"/>
+        </alias-all>
+        <alias-all entity-alias="PD" prefix="product" group-by="true">
+            <exclude field="dimensionId"/>
+        </alias-all>
+        <alias-all entity-alias="CD" prefix="currency" group-by="true">
+            <exclude field="dimensionId"/>
+        </alias-all>
+        <alias-all entity-alias="SIIF" function="sum">
+            <exclude field="invoiceItemSeqId"/>
+            <exclude field="invoiceDateDimId"/>
+            <exclude field="productDimId"/>
+            <exclude field="billToCustomerDimId"/>
+            <exclude field="origCurrencyDimId"/>
+            <exclude field="orderId"/>
+            <exclude field="invoiceId"/>
+            <exclude field="invoiceItemSeqId"/>
+        </alias-all>
+        <alias entity-alias="SIIF" name="invoiceId" group-by="true">
+            <description>Invoice id</description>
+        </alias>
+        <alias entity-alias="SIIF" name="invoiceItemSeqId" group-by="true"/>
+        <alias entity-alias="SIIF" name="orderId" group-by="true"/>
+
+        <view-link entity-alias="SIIF" rel-entity-alias="IDD">
+            <key-map field-name="invoiceDateDimId" rel-field-name="dimensionId"/>
+        </view-link>
+        <view-link entity-alias="SIIF" rel-entity-alias="PD">
+            <key-map field-name="productDimId" rel-field-name="dimensionId"/>
+        </view-link>
+        <view-link entity-alias="SIIF" rel-entity-alias="CD">
+            <key-map field-name="origCurrencyDimId" rel-field-name="dimensionId"/>
+        </view-link>
+    </view-entity>
+
+    <view-entity entity-name="SalesOrderItemStarSchema" package-name="org.ofbiz.bi.starschema.order" title="Sales Order Item Star Schema">
+        <description>Order Item star schema (Profit and Loss Statement).</description>
+
+        <member-entity entity-alias="SOIF" entity-name="SalesOrderItemFact"/>
+        <member-entity entity-alias="ODD" entity-name="DateDimension"/>
+        <member-entity entity-alias="PD" entity-name="ProductDimension"/>
+        <member-entity entity-alias="CD" entity-name="CurrencyDimension"/>
+
+        <alias-all entity-alias="ODD" prefix="orderDate" group-by="true">
+            <exclude field="dimensionId"/>
+        </alias-all>
+        <alias-all entity-alias="PD" prefix="product" group-by="true">
+            <exclude field="dimensionId"/>
+        </alias-all>
+        <alias-all entity-alias="CD" prefix="currency" group-by="true">
+            <exclude field="dimensionId"/>
+        </alias-all>
+        <alias-all entity-alias="SOIF" function="sum">
+            <exclude field="orderId"/>
+            <exclude field="orderItemSeqId"/>
+            <exclude field="orderDateDimId"/>
+            <exclude field="productDimId"/>
+            <exclude field="origCurrencyDimId"/>
+            <exclude field="billToCustomerDimId"/>
+            <exclude field="productCategoryId"/>
+            <exclude field="productStoreId"/>
+            <exclude field="salesChannelEnumId"/>
+            <exclude field="statusId"/>
+            <exclude field="brand"/>
+            <exclude field="pod"/>
+            <exclude field="account"/>
+            <exclude field="productPromoCode"/>
+        </alias-all>
+        <alias entity-alias="SOIF" name="orderId" group-by="true">
+            <description>Order id</description>
+        </alias>
+        <alias entity-alias="SOIF" name="productPromoCode" group-by="true"/>
+        <alias entity-alias="SOIF" name="orderItemSeqId" group-by="true"/>
+        <alias entity-alias="SOIF" name="productCategoryId" group-by="true"/>
+        <alias entity-alias="SOIF" name="productStoreId" group-by="true"/>
+        <alias entity-alias="SOIF" name="salesChannelEnumId" group-by="true"/>
+        <alias entity-alias="SOIF" name="statusId" group-by="true"/>
+        <alias entity-alias="SOIF" name="brand" group-by="true"/>
+        <alias entity-alias="SOIF" name="pod" group-by="true"/>
+        <alias entity-alias="SOIF" name="account" group-by="true"/>
+
+        <view-link entity-alias="SOIF" rel-entity-alias="ODD">
+            <key-map field-name="orderDateDimId" rel-field-name="dimensionId"/>
+        </view-link>
+        <view-link entity-alias="SOIF" rel-entity-alias="PD">
+            <key-map field-name="productDimId" rel-field-name="dimensionId"/>
+        </view-link>
+        <view-link entity-alias="SOIF" rel-entity-alias="CD">
+            <key-map field-name="origCurrencyDimId" rel-field-name="dimensionId"/>
+        </view-link>
+    </view-entity>
+
+    <view-entity entity-name="InventoryItemSchema" package-name="org.ofbiz.bi.starschema.product" title="Inventory Item Schema">
+        <description>"Inventory Item Schema.</description>
+        <member-entity entity-alias="IIF" entity-name="InventoryItemFact"/>
+        <!--member-entity entity-alias="SIIF" entity-name="SalesOrderItemFact"/-->
+        <member-entity entity-alias="PD" entity-name="ProductDimension"/>
+        <member-entity entity-alias="IDD" entity-name="DateDimension"/>
+        <member-entity entity-alias="CD" entity-name="CurrencyDimension"/>
+
+        <alias-all entity-alias="IIF" function="sum">
+            <exclude field="inventoryItemId"/>
+            <exclude field="orderId"/>
+            <exclude field="facilityId"/>
+            <exclude field="inventoryDateDimId"/>
+            <exclude field="productDimId"/>
+            <exclude field="origCurrencyDimId"/>
+        </alias-all>
+        <!--alias-all entity-alias="SIIF" function="sum">
+            <exclude field="orderItemSeqId"/>
+            <exclude field="orderDateDimId"/>
+            <exclude field="productDimId"/>
+            <exclude field="billToCustomerDimId"/>
+            <exclude field="origCurrencyDimId"/>
+            <exclude field="orderId"/>
+            <exclude field="orderItemSeqId"/>
+            <exclude field="orderStatus"/>
+            <exclude field="saleChanel"/>
+        </alias-all-->
+        <alias-all entity-alias="PD" prefix="product" group-by="true">
+            <exclude field="dimensionId"/>
+        </alias-all>
+        <alias-all entity-alias="IDD" prefix="inventoryDate" group-by="true">
+            <exclude field="dimensionId"/>
+        </alias-all>
+        <alias-all entity-alias="CD" prefix="currency" group-by="true">
+            <exclude field="dimensionId"/>
+        </alias-all>
+        <alias entity-alias="IIF" name="inventoryItemId" group-by="true">
+            <description>Inventory Item Id</description>
+        </alias>
+        <alias entity-alias="IIF" name="facilityId" group-by="true">
+            <description>Facility Id</description>
+        </alias>
+        <alias entity-alias="PD" name="productId" group-by="true">
+            <description>Product id</description>
+        </alias>
+        <view-link entity-alias="IIF" rel-entity-alias="PD" rel-optional="true">
+            <key-map field-name="productDimId" rel-field-name="dimensionId"/>
+        </view-link>
+        <!--view-link entity-alias="PD" rel-entity-alias="SIIF" rel-optional="true">
+            <key-map field-name="dimensionId" rel-field-name="productDimId"/>
+        </view-link-->
+        <view-link entity-alias="IIF" rel-entity-alias="IDD">
+            <key-map field-name="inventoryDateDimId" rel-field-name="dimensionId"/>
+        </view-link>
+        <view-link entity-alias="IIF" rel-entity-alias="CD">
+            <key-map field-name="origCurrencyDimId" rel-field-name="dimensionId"/>
+        </view-link>
+    </view-entity>
+
+</entitymodel>

Propchange: ofbiz/trunk/specialpurpose/bi/entitydef/entitymodel.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/bi/entitydef/entitymodel.xml
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/trunk/specialpurpose/bi/entitydef/entitymodel.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Modified: ofbiz/trunk/specialpurpose/bi/ofbiz-component.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/bi/ofbiz-component.xml?rev=1642027&r1=1641394&r2=1642027&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/bi/ofbiz-component.xml (original)
+++ ofbiz/trunk/specialpurpose/bi/ofbiz-component.xml Thu Nov 27 06:14:06 2014
@@ -18,16 +18,21 @@ specific language governing permissions
 under the License.
 -->
 
-<ofbiz-component name="bi"
+<ofbiz-component name="bi" enabled="true"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/ofbiz-component.xsd">
     <resource-loader name="main" type="component"/>
     <classpath type="dir" location="config"/>
     <classpath type="jar" location="build/lib/*"/>
+
+    <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel.xml"/>
+    <entity-resource type="group" reader-name="main" loader="main" location="entitydef/entitygroup.xml"/>
+
     <entity-resource type="data" reader-name="seed" loader="main" location="data/BiTypeData.xml"/>
     <entity-resource type="data" reader-name="seed" loader="main" location="data/BiSecurityPermissionSeedData.xml"/>
     <entity-resource type="data" reader-name="demo" loader="main" location="data/BiSecurityGroupDemoData.xml"/>
-    
+
+    <service-resource type="eca" loader="main" location="servicedef/secas.xml"/>
     <service-resource type="model" loader="main" location="servicedef/services.xml"/>
 
     <webapp name="bi"

Modified: ofbiz/trunk/specialpurpose/bi/script/org/ofbiz/bi/DimensionServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/bi/script/org/ofbiz/bi/DimensionServices.xml?rev=1642027&r1=1641394&r2=1642027&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/bi/script/org/ofbiz/bi/DimensionServices.xml (original)
+++ ofbiz/trunk/specialpurpose/bi/script/org/ofbiz/bi/DimensionServices.xml Thu Nov 27 06:14:06 2014
@@ -65,7 +65,6 @@ under the License.
             <check-errors/>
         </iterate>
         
-        
         <!-- loads the inventory items in the InventoryItemFact fact entity -->
         <entity-condition entity-name="InventoryItem" list="inventoryItems">
             <condition-expr field-name="inventoryItemTypeId" operator="equals" value="NON_SERIAL_INV_ITEM"/>
@@ -77,4 +76,67 @@ under the License.
             <check-errors/>
         </iterate>
     </simple-method>
+
+    <simple-method method-name="loadCurrencyDimension" short-description="Initialize the CurrencyDimension using the update strategy of 'type 1'">
+        <entity-and entity-name="Uom" list="currencies">
+            <field-map field-name="uomTypeId" value="CURRENCY_MEASURE"/>
+        </entity-and>
+        <iterate list="currencies" entry="currency">
+            <entity-and entity-name="CurrencyDimension" list="currencyDims">
+                <field-map field-name="currencyId" from-field="currency.uomId"/>
+            </entity-and>
+            <if-not-empty field="currencyDims">
+                <iterate list="currencyDims" entry="currencyDim">
+                    <set field="currencyDim.description" from-field="currency.description"/>
+                    <store-value value-field="currencyDim"/>
+                </iterate>
+            <else>
+                <make-value value-field="currencyDim" entity-name="CurrencyDimension"/>
+                <sequenced-id sequence-name="CurrencyDimension" field="currencyDim.dimensionId"/>
+                <set field="currencyDim.currencyId" from-field="currency.uomId"/>
+                <set field="currencyDim.description" from-field="currency.description"/>
+                <create-value value-field="currencyDim"/>
+            </else>
+            </if-not-empty>
+        </iterate>
+    </simple-method>
+
+    <simple-method method-name="prepareProductDimensionData" short-description="">
+        <entity-one entity-name="Product" value-field="product"/>
+        <if-empty field="product">
+            <add-error>
+                <fail-property resource="ProductUiLabels" property="ProductProductNotFoundWithProduct"/>
+            </add-error>
+        </if-empty>
+        <check-errors/>
+        <make-value value-field="productDimension" entity-name="ProductDimension"/>
+        <set-nonpk-fields map="product" value-field="productDimension"/>
+
+        <get-related-one value-field="product" relation-name="ProductType" to-value-field="productType"/>
+        <set field="productDimension.productType" from-field="productType.description"/>
+
+        <field-to-result field="productDimension"/>
+    </simple-method>
+
+    <simple-method method-name="loadProductInProductDimension" short-description="">
+        <set-service-fields service-name="prepareProductDimensionData" map="parameters" to-map="inMap"/>
+        <call-service service-name="prepareProductDimensionData" in-map-name="inMap">
+            <result-to-field result-name="productDimension"/>
+        </call-service>
+        <clear-field field="inMap"/>
+        <set-service-fields service-name="storeGenericDimension" map="parameters" to-map="inMap"/>
+        <set field="inMap.naturalKeyFields[]" value="productId"/>
+        <set field="inMap.dimensionValue" from-field="productDimension"/>
+        <call-service service-name="storeGenericDimension" in-map-name="inMap"/>
+    </simple-method>
+    <simple-method method-name="loadAllProductsInProductDimension" short-description="">
+        <entity-condition entity-name="Product" list="products"/>
+        <iterate list="products" entry="product">
+            <set-service-fields service-name="loadProductInProductDimension" map="parameters" to-map="inMap"/>
+            <set field="inMap.productId" from-field="product.productId"/>
+            <call-service service-name="loadProductInProductDimension" in-map-name="inMap"/>
+            <clear-field field="inMap"/>
+        </iterate>
+    </simple-method>
+
 </simple-methods>