You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by le...@apache.org on 2008/12/01 07:51:15 UTC

svn commit: r721986 [8/13] - in /ofbiz/branches/typecheckcleanup200810: applications/accounting/script/org/ofbiz/accounting/olap/ applications/order/entitydef/ applications/order/script/org/ofbiz/order/order/ applications/order/script/org/ofbiz/order/q...

Modified: ofbiz/branches/typecheckcleanup200810/applications/product/script/org/ofbiz/product/inventory/InventoryServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/typecheckcleanup200810/applications/product/script/org/ofbiz/product/inventory/InventoryServices.xml?rev=721986&r1=721985&r2=721986&view=diff
==============================================================================
--- ofbiz/branches/typecheckcleanup200810/applications/product/script/org/ofbiz/product/inventory/InventoryServices.xml (original)
+++ ofbiz/branches/typecheckcleanup200810/applications/product/script/org/ofbiz/product/inventory/InventoryServices.xml Sun Nov 30 22:51:11 2008
@@ -211,7 +211,7 @@
         <!-- if you don't want inventory item with unitCost = 0, change the operator 
              attribute from "less" to "less-equals".
         -->
-        <if-compare field="inventoryItem.unitCost" operator="less" value="0" type="Double">
+        <if-compare field="inventoryItem.unitCost" operator="less" value="0" type="BigDecimal">
             <add-error>
                 <fail-message message="Error: you cannot create inventory items with a negative unitCost."/>
             </add-error>
@@ -235,7 +235,7 @@
         <field-to-result field-name="lookedUpValue.statusId" result-name="oldStatusId"/>
         <!-- special handling for the unitCost -->
         <if-not-empty field="parameters.unitCost">
-            <if-compare field="parameters.unitCost" operator="less" value="0.0" type="Double">
+            <if-compare field="parameters.unitCost" operator="less" value="0.0" type="BigDecimal">
                 <add-error><fail-message message="Unit cost for inventory item [${lookupPKMap.inventoryItemId}] cannot be negative."/></add-error>
                 <check-errors/>
             </if-compare>
@@ -301,8 +301,8 @@
         </if-not-empty>
 
         <!-- if availableToPromiseDiff or quantityOnHandDiff are empty set to 0 -->
-        <if-empty field="newEntity.availableToPromiseDiff"><set field="newEntity.availableToPromiseDiff" value="0" type="Double"/></if-empty>
-        <if-empty field="newEntity.quantityOnHandDiff"><set field="newEntity.quantityOnHandDiff" value="0" type="Double"/></if-empty>
+        <if-empty field="newEntity.availableToPromiseDiff"><set field="newEntity.availableToPromiseDiff" value="0" type="BigDecimal"/></if-empty>
+        <if-empty field="newEntity.quantityOnHandDiff"><set field="newEntity.quantityOnHandDiff" value="0" type="BigDecimal"/></if-empty>
 
         <create-value value-name="newEntity"/>
     </simple-method>
@@ -324,14 +324,14 @@
                     <and>
                         <if-compare field="inventoryItem.statusId" value="INV_AVAILABLE" operator="equals"/>
                         <or>
-                            <if-compare field="inventoryItem.availableToPromiseTotal" operator="not-equals" value="1" type="Double"/>
-                            <if-compare field="inventoryItem.quantityOnHandTotal" operator="not-equals" value="1" type="Double"/>
+                            <if-compare field="inventoryItem.availableToPromiseTotal" operator="not-equals" value="1" type="BigDecimal"/>
+                            <if-compare field="inventoryItem.quantityOnHandTotal" operator="not-equals" value="1" type="BigDecimal"/>
                         </or>
                     </and>
                 </condition>
                 <then>
-                    <set field="inventoryItem.availableToPromiseTotal" value="1" type="Double"/>
-                    <set field="inventoryItem.quantityOnHandTotal" value="1" type="Double"/>
+                    <set field="inventoryItem.availableToPromiseTotal" value="1" type="BigDecimal"/>
+                    <set field="inventoryItem.quantityOnHandTotal" value="1" type="BigDecimal"/>
                     <log level="always" message="In updateSerializedInventoryTotals Storing totals for item [${inventoryItem.inventoryItemId}] INV_AVAIABLE [1/1]"/>
                     <store-value value-name="inventoryItem"/>
                 </then>
@@ -342,14 +342,14 @@
                         <and>
                             <if-compare field="inventoryItem.statusId" value="INV_DELIVERED" operator="equals"/>
                             <or>
-                                <if-compare field="inventoryItem.availableToPromiseTotal" operator="not-equals" value="0" type="Double"/>
-                                <if-compare field="inventoryItem.quantityOnHandTotal" operator="not-equals" value="0" type="Double"/>
+                                <if-compare field="inventoryItem.availableToPromiseTotal" operator="not-equals" value="0" type="BigDecimal"/>
+                                <if-compare field="inventoryItem.quantityOnHandTotal" operator="not-equals" value="0" type="BigDecimal"/>
                             </or>
                         </and>
                     </condition>
                     <then>
-                        <set field="inventoryItem.availableToPromiseTotal" value="0" type="Double"/>
-                        <set field="inventoryItem.quantityOnHandTotal" value="0" type="Double"/>
+                        <set field="inventoryItem.availableToPromiseTotal" value="0" type="BigDecimal"/>
+                        <set field="inventoryItem.quantityOnHandTotal" value="0" type="BigDecimal"/>
                         <log level="always" message="In updateSerializedInventoryTotals Storing totals [${inventoryItem.inventoryItemId}] for INV_DELIVERED [0/0]"/>
                         <store-value value-name="inventoryItem"/>
                     </then>
@@ -362,14 +362,14 @@
                             <if-compare field="inventoryItem.statusId" operator="not-equals" value="INV_AVAILABLE"/>
                             <if-compare field="inventoryItem.statusId" operator="not-equals" value="INV_DELIVERED"/>
                             <or>
-                                <if-compare field="inventoryItem.availableToPromiseTotal" operator="not-equals" value="0" type="Double"/>
-                                <if-compare field="inventoryItem.quantityOnHandTotal" operator="not-equals" value="1" type="Double"/>
+                                <if-compare field="inventoryItem.availableToPromiseTotal" operator="not-equals" value="0" type="BigDecimal"/>
+                                <if-compare field="inventoryItem.quantityOnHandTotal" operator="not-equals" value="1" type="BigDecimal"/>
                             </or>
                         </and>
                     </condition>
                     <then>
-                        <set field="inventoryItem.availableToPromiseTotal" value="0" type="Double"/>
-                        <set field="inventoryItem.quantityOnHandTotal" value="1" type="Double"/>
+                        <set field="inventoryItem.availableToPromiseTotal" value="0" type="BigDecimal"/>
+                        <set field="inventoryItem.quantityOnHandTotal" value="1" type="BigDecimal"/>
                         <log level="always" message="In updateSerializedInventoryTotals Storing totals [${inventoryItem.inventoryItemId}] for other status [0/1]"/>
                         <store-value value-name="inventoryItem"/>
                     </then>
@@ -442,7 +442,7 @@
                 <call-service service-name="getProductInventoryAvailable" in-map-name="productIdMap">
                     <result-to-field result-name="availableToPromiseTotal"/>
                 </call-service>
-                <if-compare field="availableToPromiseTotal" operator="less-equals" value="0" type="Double">
+                <if-compare field="availableToPromiseTotal" operator="less-equals" value="0" type="BigDecimal">
                     <set from-field="parameters.productId" field="discontinueProductSalesMap.productId"/>
                     <call-service service-name="discontinueProductSales" in-map-name="discontinueProductSalesMap"/>
                 </if-compare>
@@ -613,8 +613,8 @@
             </else>
         </if-compare>
         
-        <set field="parameters.availableToPromiseTotal" value="0" type="Double"/>
-        <set field="parameters.quantityOnHandTotal" value="0" type="Double"/>
+        <set field="parameters.availableToPromiseTotal" value="0" type="BigDecimal"/>
+        <set field="parameters.quantityOnHandTotal" value="0" type="BigDecimal"/>
         <iterate entry-name="inventoryItem" list-name="inventoryItems">
             <if-compare field="inventoryItem.inventoryItemTypeId" operator="equals" value="SERIALIZED_INV_ITEM">
                 <if>
@@ -626,13 +626,13 @@
                         </or>
                     </condition>
                     <then>
-                        <calculate field-name="parameters.quantityOnHandTotal" type="Double">
+                        <calculate field-name="parameters.quantityOnHandTotal" type="BigDecimal">
                             <calcop field-name="parameters.quantityOnHandTotal" operator="add"><number value="1.0"/></calcop>
                         </calculate>
                     </then>
                 </if>
                 <if-compare value="INV_AVAILABLE" operator="equals" field="inventoryItem.statusId">
-                    <calculate field-name="parameters.availableToPromiseTotal" type="Double">
+                    <calculate field-name="parameters.availableToPromiseTotal" type="BigDecimal">
                         <calcop field-name="parameters.availableToPromiseTotal" operator="add"><number value="1.0"/></calcop>
                     </calculate>
                 </if-compare>
@@ -656,13 +656,13 @@
                     </condition>
                     <then>
                         <if-not-empty field="inventoryItem.quantityOnHandTotal">
-                            <calculate field-name="parameters.quantityOnHandTotal" type="Double">
+                            <calculate field-name="parameters.quantityOnHandTotal" type="BigDecimal">
                                 <calcop operator="get" field-name="parameters.quantityOnHandTotal"/>
                                 <calcop operator="get" field-name="inventoryItem.quantityOnHandTotal"/>
                             </calculate>
                         </if-not-empty>
                         <if-not-empty field="inventoryItem.availableToPromiseTotal">
-                            <calculate field-name="parameters.availableToPromiseTotal" type="Double">
+                            <calculate field-name="parameters.availableToPromiseTotal" type="BigDecimal">
                                 <calcop operator="get" field-name="parameters.availableToPromiseTotal"/>
                                 <calcop operator="get" field-name="inventoryItem.availableToPromiseTotal"/>
                             </calculate>
@@ -677,8 +677,8 @@
     </simple-method>
 
     <simple-method method-name="getMktgPackagesAvailable" short-description="Get Marketing Packages Available From Components In Inventory" login-required="false" use-transaction="false">
-        <set field="availableToPromiseTotal" value="0" type="Double"/>
-        <set field="quantityOnHandTotal" value="0" type="Double"/>
+        <set field="availableToPromiseTotal" value="0" type="BigDecimal"/>
+        <set field="quantityOnHandTotal" value="0" type="BigDecimal"/>
         <set from-field="parameters.productId" field="lookupMktgPkgParams.productId"/>
         <entity-one entity-name="Product" value-name="product"/>
         <if-compare field="product.productTypeId" operator="equals" value="MARKETING_PKG_AUTO">
@@ -806,7 +806,7 @@
         <iterate list-name="allReservations" entry-name="oisgir">
             <!-- maintain a Set (in a Map) of orderIds that we have reallocated for, but only if they had some quantityNotReserved -->
             <if-not-empty field="oisgir.quantityNotAvailable">
-                <if-compare field="oisgir.quantityNotAvailable" operator="greater" value="0" type="Double">
+                <if-compare field="oisgir.quantityNotAvailable" operator="greater" value="0" type="BigDecimal">
                     <set field="touchedOrderIdMap.${oisgir.orderId}" value="Y"/>
                     <log level="verbose" message="Adding ${oisgir.orderId} to touchedOrderIdMap"/>
                 </if-compare>
@@ -924,7 +924,7 @@
         <iterate list-name="allReservations" entry-name="oisgir">
             <!-- maintain a Set (in a Map) of orderIds that we have reallocated for, but only if they had some quantityNotReserved -->
             <if-not-empty field="oisgir.quantityNotAvailable">
-                <if-compare field="oisgir.quantityNotAvailable" operator="greater" value="0" type="Double">
+                <if-compare field="oisgir.quantityNotAvailable" operator="greater" value="0" type="BigDecimal">
                     <set field="touchedOrderIdMap.${oisgir.orderId}" value="Y"/>
                     <log level="verbose" message="Adding ${oisgir.orderId} to touchedOrderIdMap"/>
                 </if-compare>
@@ -1041,7 +1041,7 @@
         <entity-one entity-name="Facility" value-name="facility" use-cache="true"/>
         <get-related-one value-name="product" relation-name="ProductType" to-value-name="productType"/>
         <if-compare field="productType.isPhysical" operator="equals" value="N">
-            <set field="quantityNotTransferred" value="0" type="Double"/>
+            <set field="quantityNotTransferred" value="0" type="BigDecimal"/>
             <else>
                 <!-- before we do the find, put together the orderBy list based on which reserveOrderEnumId is specified -->
                 <!-- FIFO=first in first out, so it should be order by ASCending receive or expire date
@@ -1086,8 +1086,8 @@
                         <condition>
                             <and>
                                 <if-compare field="inventoryItemAndLocation.locationTypeEnumId" operator="equals" value="FLT_PICKLOC"/>
-                                <if-compare field="quantityNotTransferred" value="0.0" operator="greater" type="Double"/>
-                                <if-compare field="inventoryItemAndLocation.availableToPromiseTotal" value="0.0" operator="greater" type="Double"/>
+                                <if-compare field="quantityNotTransferred" value="0.0" operator="greater" type="BigDecimal"/>
+                                <if-compare field="inventoryItemAndLocation.availableToPromiseTotal" value="0.0" operator="greater" type="BigDecimal"/>
                             </and>
                         </condition>
                         <then>
@@ -1099,7 +1099,7 @@
                             <set field="inputMap.sendDate" from-field="parameters.sendDate"/>
                             <!-- TODO: inventory transfers for serialized items are not yet implemented -->
                             <if-compare field="inventoryItemAndLocation.inventoryItemTypeId" operator="equals" value="NON_SERIAL_INV_ITEM">
-                                <if-compare-field field="quantityNotTransferred" to-field="inventoryItemAndLocation.availableToPromiseTotal" operator="greater" type="Double">
+                                <if-compare-field field="quantityNotTransferred" to-field="inventoryItemAndLocation.availableToPromiseTotal" operator="greater" type="BigDecimal">
                                     <set field="inputMap.xferQty" from-field="inventoryItemAndLocation.availableToPromiseTotal"/>
                                 <else>
                                     <set field="inputMap.xferQty" from-field="quantityNotTransferred"/>
@@ -1117,15 +1117,15 @@
                 </iterate>
 
                 <!-- still some left? try the FLT_BULK locations -->
-                <if-compare field="quantityNotTransferred" operator="greater" value="0" type="Double">
+                <if-compare field="quantityNotTransferred" operator="greater" value="0" type="BigDecimal">
                     <find-by-and entity-name="InventoryItemAndLocation" map-name="lookupFieldMap" list-name="inventoryItemAndLocations" use-iterator="true" order-by-list-name="orderByList"/>
                     <iterate entry-name="inventoryItemAndLocation" list-name="inventoryItemAndLocations">
                         <if>
                             <condition>
                                 <and>
                                     <if-compare field="inventoryItemAndLocation.locationTypeEnumId" operator="equals" value="FLT_BULK"/>
-                                    <if-compare field="quantityNotTransferred" value="0.0" operator="greater" type="Double"/>
-                                    <if-compare field="inventoryItemAndLocation.availableToPromiseTotal" value="0.0" operator="greater" type="Double"/>
+                                    <if-compare field="quantityNotTransferred" value="0.0" operator="greater" type="BigDecimal"/>
+                                    <if-compare field="inventoryItemAndLocation.availableToPromiseTotal" value="0.0" operator="greater" type="BigDecimal"/>
                                 </and>
                             </condition>
                             <then>
@@ -1137,7 +1137,7 @@
                                 <set field="inputMap.sendDate" from-field="parameters.sendDate"/>
                                 <!-- TODO: inventory transfers for serialized items are not yet implemented -->
                                 <if-compare field="inventoryItemAndLocation.inventoryItemTypeId" operator="equals" value="NON_SERIAL_INV_ITEM">
-                                    <if-compare-field field="quantityNotTransferred" to-field="inventoryItemAndLocation.availableToPromiseTotal" operator="greater" type="Double">
+                                    <if-compare-field field="quantityNotTransferred" to-field="inventoryItemAndLocation.availableToPromiseTotal" operator="greater" type="BigDecimal">
                                         <set field="inputMap.xferQty" from-field="inventoryItemAndLocation.availableToPromiseTotal"/>
                                     <else>
                                         <set field="inputMap.xferQty" from-field="quantityNotTransferred"/>
@@ -1156,15 +1156,15 @@
                 </if-compare>
 
                 <!-- last of all transfer InventoryItems that have no locationSeqId, ie are not in any particular location -->
-                <if-compare field="quantityNotTransferred" operator="greater" value="0" type="Double">
+                <if-compare field="quantityNotTransferred" operator="greater" value="0" type="BigDecimal">
                     <find-by-and entity-name="InventoryItem" map-name="lookupFieldMap" list-name="inventoryItems" use-iterator="true" order-by-list-name="orderByList"/>
                     <iterate entry-name="inventoryItem" list-name="inventoryItems">
                         <if>
                             <condition>
                                 <and>
                                     <if-empty field="inventoryItem.locationSeqId"/>
-                                    <if-compare field="quantityNotTransferred" value="0.0" operator="greater" type="Double"/>
-                                    <if-compare field="inventoryItem.availableToPromiseTotal" value="0.0" operator="greater" type="Double"/>
+                                    <if-compare field="quantityNotTransferred" value="0.0" operator="greater" type="BigDecimal"/>
+                                    <if-compare field="inventoryItem.availableToPromiseTotal" value="0.0" operator="greater" type="BigDecimal"/>
                                 </and>
                             </condition>
                             <then>
@@ -1176,7 +1176,7 @@
                                 <set field="inputMap.sendDate" from-field="parameters.sendDate"/>
                                 <!-- TODO: inventory transfers for serialized items are not yet implemented -->
                                 <if-compare field="inventoryItem.inventoryItemTypeId" operator="equals" value="NON_SERIAL_INV_ITEM">
-                                    <if-compare-field field="quantityNotTransferred" to-field="inventoryItem.availableToPromiseTotal" operator="greater" type="Double">
+                                    <if-compare-field field="quantityNotTransferred" to-field="inventoryItem.availableToPromiseTotal" operator="greater" type="BigDecimal">
                                         <set field="inputMap.xferQty" from-field="inventoryItem.availableToPromiseTotal"/>
                                     <else>
                                         <set field="inputMap.xferQty" from-field="quantityNotTransferred"/>

Modified: ofbiz/branches/typecheckcleanup200810/applications/product/script/org/ofbiz/product/inventory/StockMoveServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/typecheckcleanup200810/applications/product/script/org/ofbiz/product/inventory/StockMoveServices.xml?rev=721986&r1=721985&r2=721986&view=diff
==============================================================================
--- ofbiz/branches/typecheckcleanup200810/applications/product/script/org/ofbiz/product/inventory/StockMoveServices.xml (original)
+++ ofbiz/branches/typecheckcleanup200810/applications/product/script/org/ofbiz/product/inventory/StockMoveServices.xml Sun Nov 30 22:51:11 2008
@@ -93,9 +93,9 @@
                     <get-related-one value-name="productFacilityLocationView" relation-name="ProductFacilityLocation" to-value-name="moveInfo.targetProductFacilityLocation"/>
 
                     <!-- get totalQuantity: iterate through perProductOiirailList and add up quantity (from OrderItemShipGrpInvRes) -->
-                    <calculate field-name="moveInfo.totalQuantity" type="Double"><number value="0"/></calculate>
+                    <calculate field-name="moveInfo.totalQuantity" type="BigDecimal"><number value="0"/></calculate>
                     <iterate entry-name="perProductOiirail" list-name="perProductOiirailList">
-                        <calculate field-name="moveInfo.totalQuantity" type="Double">
+                        <calculate field-name="moveInfo.totalQuantity" type="BigDecimal">
                             <calcop field-name="moveInfo.totalQuantity" operator="add"><calcop field-name="perProductOiirail.quantity" operator="get"/></calcop>
                         </calculate>
                     </iterate>
@@ -107,19 +107,19 @@
                         <field-map field-name="locationSeqId" env-name="locationSeqId"/>
                     </entity-and>
 
-                    <calculate field-name="totalQuantityOnHand" type="Double"><number value="0"/></calculate>
-                    <calculate field-name="totalAvailableToPromise" type="Double"><number value="0"/></calculate>
+                    <calculate field-name="totalQuantityOnHand" type="BigDecimal"><number value="0"/></calculate>
+                    <calculate field-name="totalAvailableToPromise" type="BigDecimal"><number value="0"/></calculate>
                     <iterate entry-name="inventoryItem" list-name="inventoryItemList">
-                        <calculate field-name="totalQuantityOnHand" type="Double">
+                        <calculate field-name="totalQuantityOnHand" type="BigDecimal">
                             <calcop field-name="totalQuantityOnHand" operator="add"><calcop field-name="inventoryItem.quantityOnHandTotal" operator="get"/></calcop>
                         </calculate>
-                        <calculate field-name="totalAvailableToPromise" type="Double">
+                        <calculate field-name="totalAvailableToPromise" type="BigDecimal">
                             <calcop field-name="totalAvailableToPromise" operator="add"><calcop field-name="inventoryItem.availableToPromiseTotal" operator="get"/></calcop>
                         </calculate>
                     </iterate>
                     <set from-field="totalQuantityOnHand" field="moveInfo.quantityOnHandTotalFrom"/>
                     <set from-field="totalAvailableToPromise" field="moveInfo.availableToPromiseTotalFrom"/>
-                    <if-compare-field field="totalQuantityOnHand" to-field="moveInfo.totalQuantity" operator="less" type="Double">
+                    <if-compare-field field="totalQuantityOnHand" to-field="moveInfo.totalQuantity" operator="less" type="BigDecimal">
                         <!-- not enough on hand for move: add warning message, set moveInfo.totalQuantity to totalQuantityOnHand, and don't even bother looking for pre-emptive replenishment needs for this location right now -->
                         <string-to-list string="Warning in stock move: for facility [${parameters.facilityId}] and product [${productId}] going from location [${productFacilityLocation.locationSeqId}] to location [${moveInfo.targetProductFacilityLocation.locationSeqId}] a quantity of [${moveInfo.totalQuantity}] was needed but there are only [${totalQuantityOnHand}] on hand (this will be in the pick list with the full quantity on hand, but note that this will not be enough to prepare for all orders reserved against this location)" list-name="warningMessageList"/>
                         <set from-field="totalQuantityOnHand" field="moveInfo.totalQuantity"/>
@@ -128,13 +128,13 @@
 
                         <!-- get all InventoryItems and total the availableToPromise (and quantityOnHand) for the target location -->
                         <get-related value-name="moveInfo.targetProductFacilityLocation" relation-name="InventoryItem" list-name="targetInventoryItemList"/>
-                        <calculate field-name="targetTotalAvailableToPromise" type="Double"><number value="0"/></calculate>
-                        <calculate field-name="targetTotalQuantityOnHand" type="Double"><number value="0"/></calculate>
+                        <calculate field-name="targetTotalAvailableToPromise" type="BigDecimal"><number value="0"/></calculate>
+                        <calculate field-name="targetTotalQuantityOnHand" type="BigDecimal"><number value="0"/></calculate>
                         <iterate entry-name="inventoryItem" list-name="targetInventoryItemList">
-                            <calculate field-name="targetTotalAvailableToPromise" type="Double">
+                            <calculate field-name="targetTotalAvailableToPromise" type="BigDecimal">
                                 <calcop field-name="targetTotalAvailableToPromise" operator="add"><calcop field-name="inventoryItem.availableToPromiseTotal" operator="get"/></calcop>
                             </calculate>
-                            <calculate field-name="targetTotalQuantityOnHand" type="Double">
+                            <calculate field-name="targetTotalQuantityOnHand" type="BigDecimal">
                                 <calcop field-name="targetTotalQuantityOnHand" operator="add"><calcop field-name="inventoryItem.quantityOnHandTotal" operator="get"/></calcop>
                             </calculate>
                         </iterate>
@@ -144,12 +144,12 @@
                             now if there is enough left and there is less than the minimum for the
                             ProductFacilityLocation, move the restock quantity from ProductFacilityLocation
                         -->
-                        <if-compare-field field="targetTotalAvailableToPromise" to-field="moveInfo.targetProductFacilityLocation.minimumStock" operator="less" type="Double">
+                        <if-compare-field field="targetTotalAvailableToPromise" to-field="moveInfo.targetProductFacilityLocation.minimumStock" operator="less" type="BigDecimal">
                             <if-empty field="targetLocationSimpleMoveQuantity.${moveInfo.targetProductFacilityLocation.locationSeqId}">
                                 <!-- if targetTotalAvailableToPromise is less than productFacilityLocation.minimumStock, move over the moveInfo.targetProductFacilityLocation.moveQuantity -->
 
                                 <!-- if trying to move more from the location than is there, find the difference and put it in targetLocationSimpleMoveQuantity.${moveInfo.targetProductFacilityLocation.locationSeqId} -->
-                                <calculate field-name="moveInfo.totalQuantity" type="Double">
+                                <calculate field-name="moveInfo.totalQuantity" type="BigDecimal">
                                     <calcop field-name="moveInfo.totalQuantity" operator="add"><calcop field-name="moveInfo.targetProductFacilityLocation.moveQuantity" operator="get"/></calcop>
                                 </calculate>
                             <else>
@@ -159,13 +159,13 @@
                                     if not do whatever is available and put difference back in
                                     targetLocationSimpleMoveQuantity.${moveInfo.targetProductFacilityLocation.locationSeqId}
                                 -->
-                                <calculate field-name="moveInfo.totalQuantity" type="Double">
+                                <calculate field-name="moveInfo.totalQuantity" type="BigDecimal">
                                     <calcop field-name="moveInfo.totalQuantity" operator="add"><calcop field-name="targetLocationSimpleMoveQuantity.${moveInfo.targetProductFacilityLocation.locationSeqId}" operator="get"/></calcop>
                                 </calculate>
                             </else>
                             </if-empty>
-                            <if-compare-field field="totalQuantityOnHand" to-field="moveInfo.totalQuantity" operator="less" type="Double">
-                                <calculate field-name="targetLocationSimpleMoveQuantity.${moveInfo.targetProductFacilityLocation.locationSeqId}" type="Double">
+                            <if-compare-field field="totalQuantityOnHand" to-field="moveInfo.totalQuantity" operator="less" type="BigDecimal">
+                                <calculate field-name="targetLocationSimpleMoveQuantity.${moveInfo.targetProductFacilityLocation.locationSeqId}" type="BigDecimal">
                                     <calcop field-name="moveInfo.totalQuantity" operator="subtract"><calcop field-name="totalQuantityOnHand" operator="get"/></calcop>
                                 </calculate>
                                 <set from-field="totalQuantityOnHand" field="moveInfo.totalQuantity"/>
@@ -227,16 +227,16 @@
                 <condition>
                     <and>
                         <not><if-empty field="productFacilityLocationQuantityTest.moveQuantity"/></not>
-                        <if-compare field="productFacilityLocationQuantityTest.moveQuantity" operator="greater" value="0" type="Double"/>
+                        <if-compare field="productFacilityLocationQuantityTest.moveQuantity" operator="greater" value="0" type="BigDecimal"/>
                         <or>
                             <and>
                                 <if-empty field="productFacilityLocationQuantityTest.availableToPromiseTotal"/>
                                 <not><if-empty field="productFacilityLocationQuantityTest.minimumStock"/></not>
-                                <if-compare field="productFacilityLocationQuantityTest.minimumStock" operator="greater" value="0" type="Double"></if-compare>
+                                <if-compare field="productFacilityLocationQuantityTest.minimumStock" operator="greater" value="0" type="BigDecimal"></if-compare>
                             </and>
                             <and>
                                 <not><if-empty field="productFacilityLocationQuantityTest.availableToPromiseTotal"/></not>
-                                <if-compare-field field="productFacilityLocationQuantityTest.availableToPromiseTotal" to-field="productFacilityLocationQuantityTest.minimumStock" operator="less" type="Double"/>
+                                <if-compare-field field="productFacilityLocationQuantityTest.availableToPromiseTotal" to-field="productFacilityLocationQuantityTest.minimumStock" operator="less" type="BigDecimal"/>
                             </and>
                         </or>
                     </and>
@@ -276,13 +276,13 @@
                                 <clear-field field-name="perLocationInventoryItemAndLocList"/>
                                 <iterate-map key-name="locationSeqId" value-name="perLocationInventoryItemAndLocList" map-name="InventoryItemAndLocationByLocMap">
                                     <if-empty field="fromLocationTotalAvailableToPromise.${locationSeqId}">
-                                        <calculate field-name="totalQuantityOnHand" type="Double"><number value="0"/></calculate>
-                                        <calculate field-name="totalAvailableToPromise" type="Double"><number value="0"/></calculate>
+                                        <calculate field-name="totalQuantityOnHand" type="BigDecimal"><number value="0"/></calculate>
+                                        <calculate field-name="totalAvailableToPromise" type="BigDecimal"><number value="0"/></calculate>
                                         <iterate entry-name="inventoryItem" list-name="perLocationInventoryItemAndLocList">
-                                            <calculate field-name="totalQuantityOnHand" type="Double">
+                                            <calculate field-name="totalQuantityOnHand" type="BigDecimal">
                                                 <calcop field-name="totalQuantityOnHand" operator="add"><calcop field-name="inventoryItem.quantityOnHandTotal" operator="get"/></calcop>
                                             </calculate>
-                                            <calculate field-name="totalAvailableToPromise" type="Double">
+                                            <calculate field-name="totalAvailableToPromise" type="BigDecimal">
                                                 <calcop field-name="totalAvailableToPromise" operator="add"><calcop field-name="inventoryItem.availableToPromiseTotal" operator="get"/></calcop>
                                             </calculate>
                                         </iterate>
@@ -294,8 +294,8 @@
                                     <if>
                                        <condition>
                                           <and>
-                                                <if-compare field="totalAvailableToPromise" operator="greater" value="0" type="Double"/>
-                                                <if-compare field="targetLocationMoveQuantity" operator="greater" value="0" type="Double"/>
+                                                <if-compare field="totalAvailableToPromise" operator="greater" value="0" type="BigDecimal"/>
+                                                <if-compare field="targetLocationMoveQuantity" operator="greater" value="0" type="BigDecimal"/>
                                           </and>
                                         </condition>
                                     <then>   
@@ -312,18 +312,18 @@
                                         <!--   see if there is enough left for the full amount in targetLocationMoveQuantity,
                                                  if not do whatever is available and put difference back in targetLocationMoveQuantity,
                                                  trying to move more from the location than is there, find the difference and put it in targetLocationMoveQuantity     -->
-                                        <if-compare-field field="totalAvailableToPromise" to-field="targetLocationMoveQuantity" operator="less" type="Double">
-                                            <calculate field-name="targetLocationMoveQuantity" type="Double">
+                                        <if-compare-field field="totalAvailableToPromise" to-field="targetLocationMoveQuantity" operator="less" type="BigDecimal">
+                                            <calculate field-name="targetLocationMoveQuantity" type="BigDecimal">
                                                 <calcop field-name="targetLocationMoveQuantity" operator="subtract"><calcop field-name="totalAvailableToPromise" operator="get"/></calcop>
                                             </calculate>
                                             <set from-field="totalAvailableToPromise" field="moveInfo.totalQuantity"/>
-                                            <calculate field-name="fromLocationTotalAvailableToPromise.${locationSeqId}" type="Double"><number value="0"/></calculate>
+                                            <calculate field-name="fromLocationTotalAvailableToPromise.${locationSeqId}" type="BigDecimal"><number value="0"/></calculate>
                                         <else>
                                             <set from-field="targetLocationMoveQuantity" field="moveInfo.totalQuantity"/>
-                                            <calculate map-name="fromLocationTotalAvailableToPromise" field-name="${locationSeqId}" type="Double">
+                                            <calculate map-name="fromLocationTotalAvailableToPromise" field-name="${locationSeqId}" type="BigDecimal">
                                                 <calcop field-name="totalAvailableToPromise" operator="subtract"><calcop field-name="targetLocationMoveQuantity" operator="get"/></calcop>
                                             </calculate>
-                                            <calculate field-name="targetLocationMoveQuantity" type="Double"><number value="0"/></calculate>
+                                            <calculate field-name="targetLocationMoveQuantity" type="BigDecimal"><number value="0"/></calculate>
                                         </else>
                                         </if-compare-field>
                                     
@@ -367,7 +367,7 @@
         <call-simple-method method-name="processOisgirMoveByStatusInline"/>
 
         <!-- Now for any remaining quantity, do a simple, ie non-OISGIR, stock move -->
-        <if-compare field="quantityLeftToProcess" operator="greater" value="0" type="Double">
+        <if-compare field="quantityLeftToProcess" operator="greater" value="0" type="BigDecimal">
             <!-- find InventoryItems in the origin location with some availableToPromise to move -->
             <entity-and entity-name="InventoryItem" list-name="inventoryItemList">
                 <field-map field-name="productId" env-name="parameters.productId"/>
@@ -378,10 +378,10 @@
 
             <iterate entry-name="inventoryItem" list-name="inventoryItemList">
                 <!-- for each inventoryItem only process if quantityLeftToProcess > 0 and inventoryItem.availableToPromiseTotal > 0 -->
-                <if-compare field="quantityLeftToProcess" operator="greater" value="0" type="Double">
-                    <if-compare field="inventoryItem.availableToPromiseTotal" operator="greater" value="0" type="Double">
+                <if-compare field="quantityLeftToProcess" operator="greater" value="0" type="BigDecimal">
+                    <if-compare field="inventoryItem.availableToPromiseTotal" operator="greater" value="0" type="BigDecimal">
                         <!-- set the currentQuantityToMove to the lower of these two values to ensure we don't move too much -->
-                        <if-compare-field field="quantityLeftToProcess" to-field="inventoryItem.availableToPromiseTotal" operator="greater" type="Double">
+                        <if-compare-field field="quantityLeftToProcess" to-field="inventoryItem.availableToPromiseTotal" operator="greater" type="BigDecimal">
                             <set from-field="inventoryItem.availableToPromiseTotal" field="currentQuantityToMove"/>
                         <else>
                             <set from-field="quantityLeftToProcess" field="currentQuantityToMove"/>
@@ -407,10 +407,10 @@
                         <!-- instead of updating InventoryItem, add an InventoryItemDetail -->
                         <clear-field field-name="createNonOisgirDetailMap"/>
                         <set from-field="inventoryItem.inventoryItemId" field="createNonOisgirDetailMap.inventoryItemId"/>
-                        <calculate field-name="createNonOisgirDetailMap.availableToPromiseDiff" type="Double">
+                        <calculate field-name="createNonOisgirDetailMap.availableToPromiseDiff" type="BigDecimal">
                             <calcop field-name="currentQuantityToMove" operator="negative"/>
                         </calculate>
-                        <calculate field-name="createNonOisgirDetailMap.quantityOnHandDiff" type="Double">
+                        <calculate field-name="createNonOisgirDetailMap.quantityOnHandDiff" type="BigDecimal">
                             <calcop field-name="currentQuantityToMove" operator="negative"/>
                         </calculate>
                         <call-service service-name="createInventoryItemDetail" in-map-name="createNonOisgirDetailMap"/>
@@ -422,7 +422,7 @@
             </iterate>
         </if-compare>
 
-        <if-compare field="quantityLeftToProcess" operator="greater" value="0" type="Double">
+        <if-compare field="quantityLeftToProcess" operator="greater" value="0" type="BigDecimal">
             <!-- this really isn't good, that means more was moved than we found to move, how did that happen? -->
             <string-to-list string="ERROR: Not enough available inventory found in location [${parameters.locationSeqId}] in facility [${parameters.facilityId}], did not reallocate ${quantityLeftToProcess} of the ${parameters.quantityMoved} reported as physically moved." list-name="warningMessageList"/>
         </if-compare>
@@ -488,9 +488,9 @@
                          OISGIR (reservation), so we would have to split it up
                     -->
                     <clear-field field-name="reservedQuantityLeftOver"/>
-                    <if-compare-field field="quantityLeftToProcess" to-field="orderItemShipGrpInvRes.quantity" operator="less" type="Double">
+                    <if-compare-field field="quantityLeftToProcess" to-field="orderItemShipGrpInvRes.quantity" operator="less" type="BigDecimal">
                         <!-- the complicated part: can split up the OISGIR (reservation) into two parts, and then transfer the inventory, somewhat complicated... -->
-                        <calculate field-name="reservedQuantityLeftOver" type="Double">
+                        <calculate field-name="reservedQuantityLeftOver" type="BigDecimal">
                             <calcop field-name="orderItemShipGrpInvRes.quantity" operator="get"/>
                             <calcop field-name="quantityLeftToProcess" operator="negative"/>
                         </calculate>
@@ -507,7 +507,7 @@
                     </if-compare-field>
                     
                     <!-- now make sure that the currentQuantityToMove we decided on is not greater than remainingQuantityOnHand... -->
-                    <if-compare-field field="currentQuantityToMove" to-field="remainingQuantityOnHand" operator="greater" type="Double">
+                    <if-compare-field field="currentQuantityToMove" to-field="remainingQuantityOnHand" operator="greater" type="BigDecimal">
                         <set from-field="remainingQuantityOnHand" field="currentQuantityToMove"/>
                     </if-compare-field>
                     
@@ -517,7 +517,7 @@
                             <and>
                                 <not><if-empty field="orderItemShipGrpInvRes.quantityNotAvailable"/></not>
                                 <not><if-empty field="reservedQuantityLeftOver"/></not>
-                                <if-compare-field field="orderItemShipGrpInvRes.quantityNotAvailable" to-field="reservedQuantityLeftOver" operator="greater" type="Double"/>
+                                <if-compare-field field="orderItemShipGrpInvRes.quantityNotAvailable" to-field="reservedQuantityLeftOver" operator="greater" type="BigDecimal"/>
                             </and>
                         </condition>
                         <then>
@@ -541,10 +541,10 @@
                     <clear-field field-name="createOisgirTargetDetailMap"/>
                     <set from-field="inventoryItem.inventoryItemId" field="createOisgirDetailMap.inventoryItemId"/>
                     <set from-field="targetInventoryItem.inventoryItemId" field="createOisgirTargetDetailMap.inventoryItemId"/>
-                    <calculate field-name="createOisgirDetailMap.quantityOnHandDiff" type="Double">
+                    <calculate field-name="createOisgirDetailMap.quantityOnHandDiff" type="BigDecimal">
                         <calcop field-name="currentQuantityToMove" operator="negative"/>
                     </calculate>
-                    <calculate field-name="createOisgirTargetDetailMap.quantityOnHandDiff" type="Double">
+                    <calculate field-name="createOisgirTargetDetailMap.quantityOnHandDiff" type="BigDecimal">
                         <calcop field-name="currentQuantityToMove" operator="get"/>
                     </calculate>
 
@@ -555,11 +555,11 @@
                     -->
                     <!-- if the OISGIR has a quantityNotAvailable, move that over by adding it to the origin, and subtracting it from the target -->
                     <if-not-empty field="orderItemShipGrpInvRes.quantityNotAvailable">
-                        <if-compare field="orderItemShipGrpInvRes.quantityNotAvailable" operator="greater" value="0" type="Double">
-                            <calculate field-name="createOisgirDetailMap.availableToPromiseDiff" type="Double">
+                        <if-compare field="orderItemShipGrpInvRes.quantityNotAvailable" operator="greater" value="0" type="BigDecimal">
+                            <calculate field-name="createOisgirDetailMap.availableToPromiseDiff" type="BigDecimal">
                                 <calcop field-name="quantityNotAvailableToMove" operator="get"/>
                             </calculate>
-                            <calculate field-name="createOisgirTargetDetailMap.availableToPromiseDiff" type="Double">
+                            <calculate field-name="createOisgirTargetDetailMap.availableToPromiseDiff" type="BigDecimal">
                                 <calcop field-name="quantityNotAvailableToMove" operator="negative"/>
                             </calculate>
                         </if-compare>
@@ -573,11 +573,11 @@
                     <if-empty field="reservedQuantityLeftOver">
                         <remove-value value-name="orderItemShipGrpInvRes"/>
                     <else>
-                        <calculate field-name="orderItemShipGrpInvRes.quantity" type="Double">
+                        <calculate field-name="orderItemShipGrpInvRes.quantity" type="BigDecimal">
                             <calcop field-name="orderItemShipGrpInvRes.quantity" operator="get"/>
                             <calcop field-name="reservedQuantityLeftOver" operator="negative"/>
                         </calculate>
-                        <calculate field-name="orderItemShipGrpInvRes.quantityNotAvailable" type="Double">
+                        <calculate field-name="orderItemShipGrpInvRes.quantityNotAvailable" type="BigDecimal">
                             <calcop field-name="orderItemShipGrpInvRes.quantityNotAvailable" operator="get"/>
                             <calcop field-name="quantityNotAvailableToMove" operator="negative"/>
                         </calculate>
@@ -588,11 +588,11 @@
                     <set value="Y" field="haveSetIiDetail"/>
 
                     <!-- deduct the orderItemShipGrpInvRes.quantity from quantityLeftToProcess -->
-                    <calculate field-name="quantityLeftToProcess" type="Double">
+                    <calculate field-name="quantityLeftToProcess" type="BigDecimal">
                         <calcop field-name="quantityLeftToProcess" operator="get"/>
                         <calcop field-name="currentQuantityToMove" operator="negative"/>
                     </calculate>
-                    <calculate field-name="remainingQuantityOnHand" type="Double">
+                    <calculate field-name="remainingQuantityOnHand" type="BigDecimal">
                         <calcop field-name="remainingQuantityOnHand" operator="subtract"/>
                         <calcop field-name="currentQuantityToMove" operator="negative"/>
                     </calculate>

Modified: ofbiz/branches/typecheckcleanup200810/applications/product/script/org/ofbiz/product/product/CustomerDigitalDownloadServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/typecheckcleanup200810/applications/product/script/org/ofbiz/product/product/CustomerDigitalDownloadServices.xml?rev=721986&r1=721985&r2=721986&view=diff
==============================================================================
--- ofbiz/branches/typecheckcleanup200810/applications/product/script/org/ofbiz/product/product/CustomerDigitalDownloadServices.xml (original)
+++ ofbiz/branches/typecheckcleanup200810/applications/product/script/org/ofbiz/product/product/CustomerDigitalDownloadServices.xml Sun Nov 30 22:51:11 2008
@@ -47,7 +47,7 @@
         <set field="createProductSupplierMap.productId" from-field="productId"/>
         <set field="createProductSupplierMap.partyId" from-field="userLogin.partyId"/>
         <set field="createProductSupplierMap.currencyUomId" from-field="parameters.currencyUomId" default-value="USD"/>
-        <set field="createProductSupplierMap.minimumOrderQuantity" value="1" type="Double"/>
+        <set field="createProductSupplierMap.minimumOrderQuantity" value="1" type="BigDecimal"/>
         <set field="createProductSupplierMap.availableFromDate" from-field="nowTimestamp"/>
         <create-value value-name="createProductSupplierMap"/>
 

Modified: ofbiz/branches/typecheckcleanup200810/applications/product/script/org/ofbiz/product/product/ProductServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/typecheckcleanup200810/applications/product/script/org/ofbiz/product/product/ProductServices.xml?rev=721986&r1=721985&r2=721986&view=diff
==============================================================================
--- ofbiz/branches/typecheckcleanup200810/applications/product/script/org/ofbiz/product/product/ProductServices.xml (original)
+++ ofbiz/branches/typecheckcleanup200810/applications/product/script/org/ofbiz/product/product/ProductServices.xml Sun Nov 30 22:51:11 2008
@@ -426,7 +426,7 @@
     </simple-method>
     <simple-method method-name="countProductQuantityOrdered" short-description="Count Product Quantity Ordered" login-required="true">
         <if-empty field="parameters.quantity">
-            <calculate field-name="parameters.quantity" type="Double"><number value="1"/></calculate>
+            <calculate field-name="parameters.quantity" type="BigDecimal"><number value="1"/></calculate>
         </if-empty>
         <entity-one entity-name="ProductCalculatedInfo" value-name="productCalculatedInfo"/>
         <if-empty field="productCalculatedInfo">
@@ -436,7 +436,7 @@
             <set from-field="parameters.quantity" field="productCalculatedInfo.totalQuantityOrdered"/>
             <create-value value-name="productCalculatedInfo"/>
         <else>
-            <calculate field-name="productCalculatedInfo.totalQuantityOrdered" type="Double">
+            <calculate field-name="productCalculatedInfo.totalQuantityOrdered" type="BigDecimal">
                 <calcop field-name="productCalculatedInfo.totalQuantityOrdered" operator="add">
                     <calcop field-name="parameters.quantity" operator="get"></calcop>
                 </calcop>
@@ -585,7 +585,7 @@
             <field field-name="productId" type="java.lang.String"/>
         </call-class-method>
         <log level="info" message="Got new average customer rating ${averageCustomerRating}"/>
-        <if-compare field="averageCustomerRating" operator="equals" value="0" type="Double">
+        <if-compare field="averageCustomerRating" operator="equals" value="0" type="BigDecimal">
             <return/>
         </if-compare>
         <!-- update the review average on the ProductCalculatedInfo entity -->

Modified: ofbiz/branches/typecheckcleanup200810/applications/product/script/org/ofbiz/product/product/ProductUomFormulas.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/typecheckcleanup200810/applications/product/script/org/ofbiz/product/product/ProductUomFormulas.xml?rev=721986&r1=721985&r2=721986&view=diff
==============================================================================
--- ofbiz/branches/typecheckcleanup200810/applications/product/script/org/ofbiz/product/product/ProductUomFormulas.xml (original)
+++ ofbiz/branches/typecheckcleanup200810/applications/product/script/org/ofbiz/product/product/ProductUomFormulas.xml Sun Nov 30 22:51:11 2008
@@ -68,12 +68,12 @@
         <else>
         
             <!-- Determine a conversion value for the From UoM -->
-            <set field="fromVal" type="Double" value="1"/>
+            <set field="fromVal" type="BigDecimal" value="1"/>
             <if-compare field="fromUom.uomTypeId" operator="equals" value="LENGTH_MEASURE">
-                <set field="fromVal" type="Double" from-field="product.productDepth"/>
+                <set field="fromVal" type="BigDecimal" from-field="product.productDepth"/>
             </if-compare>
             <if-compare field="fromUom.uomTypeId" operator="equals" value="AREA_MEASURE">
-                <calculate field-name="fromVal" type="Double" decimal-scale="15">
+                <calculate field-name="fromVal" type="BigDecimal" decimal-scale="15">
                     <calcop operator="multiply">
                         <calcop operator="get" field-name="product.productDepth"/>
                         <calcop operator="get" field-name="product.productWidth"/>
@@ -81,7 +81,7 @@
                 </calculate>
             </if-compare>
             <if-compare field="fromUom.uomTypeId" operator="equals" value="VOLUME_DRY_MEASURE">
-                <calculate field-name="fromVal" type="Double" decimal-scale="15">
+                <calculate field-name="fromVal" type="BigDecimal" decimal-scale="15">
                     <calcop operator="multiply">
                         <calcop operator="get" field-name="product.productDepth"/>
                         <calcop operator="multiply">
@@ -97,12 +97,12 @@
             <log level="verbose" message="From product-based conversion factor: ${fromVal}"/>
             
             <!-- Determine a conversion value for the To UoM -->
-            <set field="toVal" type="Double" value="1"/>
+            <set field="toVal" type="BigDecimal" value="1"/>
             <if-compare field="toUom.uomTypeId" operator="equals" value="LENGTH_MEASURE">
                 <set field="toVal" from-field="product.productDepth"/>
             </if-compare>
             <if-compare field="toUom.uomTypeId" operator="equals" value="AREA_MEASURE">
-                <calculate field-name="toVal" type="Double" decimal-scale="15">
+                <calculate field-name="toVal" type="BigDecimal" decimal-scale="15">
                     <calcop operator="multiply">
                         <calcop operator="get" field-name="product.productDepth"/>
                         <calcop operator="get" field-name="product.productWidth"/>
@@ -110,7 +110,7 @@
                 </calculate>
             </if-compare>
             <if-compare field="toUom.uomTypeId" operator="equals" value="VOLUME_DRY_MEASURE">
-                <calculate field-name="toVal" type="Double" decimal-scale="15">
+                <calculate field-name="toVal" type="BigDecimal" decimal-scale="15">
                     <calcop operator="multiply">
                         <calcop operator="get" field-name="product.productDepth"/>
                         <calcop operator="multiply">
@@ -126,7 +126,7 @@
             <log level="verbose" message="To product-based conversion factor: ${toVal}"/>
             
             <!-- Calcualte the product-based conversion factor = toVal / fromVal * uomConversion.conversionFactor -->
-            <calculate field-name="ratio" type="Double" decimal-scale="15">
+            <calculate field-name="ratio" type="BigDecimal" decimal-scale="15">
                 <calcop operator="divide">
                     <calcop operator="get" field-name="toVal"/>
                     <calcop operator="get" field-name="fromVal"/>
@@ -134,7 +134,7 @@
             </calculate>
             <log level="verbose" message="To/From ratio is ${ratio}"/>
             
-            <calculate field-name="productFactor" type="Double" decimal-scale="15">
+            <calculate field-name="productFactor" type="BigDecimal" decimal-scale="15">
                 <calcop operator="multiply">
                     <calcop operator="get" field-name="args.uomConversion.conversionFactor"/>
                     <calcop operator="get" field-name="ratio"/>
@@ -145,7 +145,7 @@
         </if-compare-field> 
         
         <!-- Convert the value -->
-        <calculate field-name="totQuantity" type="Double" decimal-scale="15">
+        <calculate field-name="totQuantity" type="BigDecimal" decimal-scale="15">
             <calcop operator="multiply">
                 <calcop operator="get" field-name="args.originalValue"/>
                 <calcop operator="get" field-name="productFactor"/>

Modified: ofbiz/branches/typecheckcleanup200810/applications/product/script/org/ofbiz/product/store/ProductStoreServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/typecheckcleanup200810/applications/product/script/org/ofbiz/product/store/ProductStoreServices.xml?rev=721986&r1=721985&r2=721986&view=diff
==============================================================================
--- ofbiz/branches/typecheckcleanup200810/applications/product/script/org/ofbiz/product/store/ProductStoreServices.xml (original)
+++ ofbiz/branches/typecheckcleanup200810/applications/product/script/org/ofbiz/product/store/ProductStoreServices.xml Sun Nov 30 22:51:11 2008
@@ -426,7 +426,7 @@
                     <result-to-field result-name="quantityNotReserved"/>
                 </call-service>
     
-                <if-compare value="0" field="quantityNotReserved" operator="equals" type="Double">
+                <if-compare value="0" field="quantityNotReserved" operator="equals" type="BigDecimal">
                     <log level="info" message="Inventory IS reserved in facility with id [${productStore.inventoryFacilityId}] for product id [${parameters.productId}]; desired quantity was ${parameters.quantity}"/>
                 <else>
                     <log level="info" message="There is insufficient inventory available in facility with id [${productStore.inventoryFacilityId}] for product id [${parameters.productId}]; desired quantity is ${parameters.quantity}, amount could not reserve is ${quantityNotReserved}"/>
@@ -450,7 +450,7 @@
                         </call-service>
                         <clear-field field-name="callServiceMap"/>
     
-                        <if-compare-field field="availableToPromiseTotal" to-field="parameters.quantity" operator="greater-equals" type="Double">
+                        <if-compare-field field="availableToPromiseTotal" to-field="parameters.quantity" operator="greater-equals" type="BigDecimal">
                             <set field="storeFound" from-field="productStoreFacility"/>
                         </if-compare-field>
                         <clear-field field-name="availableToPromiseTotal"/>
@@ -494,7 +494,7 @@
             <call-service service-name="reserveProductInventoryByFacility" in-map-name="callServiceMap">
                 <result-to-field result-name="quantityNotReserved"/>
             </call-service>
-            <if-compare value="0" field="quantityNotReserved" operator="equals" type="Double">
+            <if-compare value="0" field="quantityNotReserved" operator="equals" type="BigDecimal">
                 <log level="info" message="Inventory IS reserved in facility with id [${facilityId}] for product id [${parameters.productId}]; desired quantity was ${parameters.quantity}"/>
             <else>
                 <log level="info" message="There is insufficient inventory available in facility with id [${facilityId}] for product id [${parameters.productId}]; desired quantity is ${parameters.quantity}, amount could not reserve is ${quantityNotReserved}"/>
@@ -600,7 +600,7 @@
                 </else>
             </if>
             <!-- check to see if we got enough back... -->
-            <if-compare-field field="availableToPromiseTotal" to-field="parameters.quantity" operator="greater-equals" type="Double">
+            <if-compare-field field="availableToPromiseTotal" to-field="parameters.quantity" operator="greater-equals" type="BigDecimal">
                 <set value="Y" field="available"/>
                 <log level="info" message="Inventory IS available in facility with id ${productStore.inventoryFacilityId} for product id ${parameters.productId}; desired quantity is ${parameters.quantity}, available quantity is ${availableToPromiseTotal}"/>
             <else>
@@ -642,7 +642,7 @@
 
                     <clear-field field-name="callServiceMap"/>
                     
-                    <if-compare-field field="availableToPromiseTotal" to-field="parameters.quantity" operator="greater-equals" type="Double">
+                    <if-compare-field field="availableToPromiseTotal" to-field="parameters.quantity" operator="greater-equals" type="BigDecimal">
                         <set value="Y" field="available"/>
                         <log level="info" message="Inventory IS available in facility with id ${productStoreFacility.facilityId} for product id ${parameters.productId}; desired quantity is ${parameters.quantity}, available quantity is ${availableToPromiseTotal}"/>
                     </if-compare-field>

Modified: ofbiz/branches/typecheckcleanup200810/applications/product/script/org/ofbiz/shipment/issuance/IssuanceServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/typecheckcleanup200810/applications/product/script/org/ofbiz/shipment/issuance/IssuanceServices.xml?rev=721986&r1=721985&r2=721986&view=diff
==============================================================================
--- ofbiz/branches/typecheckcleanup200810/applications/product/script/org/ofbiz/shipment/issuance/IssuanceServices.xml (original)
+++ ofbiz/branches/typecheckcleanup200810/applications/product/script/org/ofbiz/shipment/issuance/IssuanceServices.xml Sun Nov 30 22:51:11 2008
@@ -190,11 +190,11 @@
         </if-empty>
 
         <!-- make sure specified quantity is not less than or equal to 0 -->
-        <if-compare field="parameters.quantity" operator="less-equals" value="0" type="Double">
+        <if-compare field="parameters.quantity" operator="less-equals" value="0" type="BigDecimal">
             <add-error><fail-message message="Not issuing Order Item Ship Group Inventory Reservation to shipment [${parameters.shipmentId}] because the quantity to issue [${parameters.quantity}] is less than or equal to 0 for order [${orderItemShipGrpInvRes.orderId}] order item [${orderItemShipGrpInvRes.orderItemSeqId}] inventoryItem [${orderItemShipGrpInvRes.inventoryItemId}]"/></add-error>
         </if-compare>
         <!-- make sure specified quantity is not greater than reserved quantity left to be issued, ie orderItemShipGrpInvRes.quantity -->
-        <if-compare-field field="parameters.quantity" to-field="orderItemShipGrpInvRes.quantity" operator="greater" type="Double">
+        <if-compare-field field="parameters.quantity" to-field="orderItemShipGrpInvRes.quantity" operator="greater" type="BigDecimal">
             <add-error><fail-message message="Not issuing Order Item Ship Group Inventory Reservation to shipment [${parameters.shipmentId}] because the quantity to issue [${parameters.quantity}] is greater than the quantity left to issue [${orderItemShipGrpInvRes.quantity}] for order [${orderItemShipGrpInvRes.orderId}] order item [${orderItemShipGrpInvRes.orderItemSeqId}] inventoryItem [${orderItemShipGrpInvRes.inventoryItemId}]"/></add-error>
         </if-compare-field>
 
@@ -219,7 +219,7 @@
             </calcop>
         </calculate>
 
-        <if-compare value="0" operator="greater-equals" field="qtyForShipmentItem" type="Double">
+        <if-compare value="0" operator="greater-equals" field="qtyForShipmentItem" type="BigDecimal">
             <!-- remove the orderShipment.quantity -->
             <if-not-empty field="orderShipment">
                 <field-to-result field-name="orderShipment.shipmentItemSeqId" result-name="shipmentItemSeqId"/>
@@ -229,7 +229,7 @@
                 <find-by-primary-key map-name="shipmentItemLookupPk" value-name="shipmentItem"/>
                 <remove-value value-name="orderShipment"/>
             </if-not-empty>
-            <if-compare value="0" operator="not-equals" field="qtyForShipmentItem" type="Double">
+            <if-compare value="0" operator="not-equals" field="qtyForShipmentItem" type="BigDecimal">
                 <!-- add the qtyForShipmentItem to the shipmentItem -->
                 <set from-field="paremeters.quantity" field="originalQuantity"/>
                 <set from-field="qtyForShipmentItem" field="paremeters.quantity"/>
@@ -263,7 +263,7 @@
                 <calcop operator="get" field-name="parameters.quantity"/>
             </calcop>
         </calculate>
-        <if-compare value="0" operator="equals" field="orderItemShipGrpInvRes.quantity" type="Double">
+        <if-compare value="0" operator="equals" field="orderItemShipGrpInvRes.quantity" type="BigDecimal">
             <!-- if none left reserved, remove OIIR -->
             <remove-value value-name="orderItemShipGrpInvRes"/>
             <!-- if there are no more OIIRs for the orderItem, set the orderItem.statusId to ITEM_COMPLETED -->
@@ -288,7 +288,7 @@
         <set from-field="shipmentItem.shipmentId" field="createDetailMap.shipmentId"/>
         <set from-field="shipmentItem.shipmentItemSeqId" field="createDetailMap.shipmentItemSeqId"/>
         <set from-field="itemIssuanceId" field="createDetailMap.itemIssuanceId"/>
-        <calculate field-name="createDetailMap.quantityOnHandDiff" type="Double">
+        <calculate field-name="createDetailMap.quantityOnHandDiff" type="BigDecimal">
             <calcop field-name="parameters.quantity" operator="negative"/>
         </calculate>
         <call-service service-name="createInventoryItemDetail" in-map-name="createDetailMap"/>
@@ -377,11 +377,11 @@
         <entity-one entity-name="FixedAssetMaint" value-name="fixedAssetMaint"/>
 
         <!-- make sure specified quantity is not less than or equal to 0 -->
-        <if-compare field="parameters.quantity" operator="less-equals" value="0" type="Double">
+        <if-compare field="parameters.quantity" operator="less-equals" value="0" type="BigDecimal">
             <add-error><fail-message message="Not issuing InventoryItem to FixedAssetMaint [${fixedAssetMaint.fixedAssetId:fixedAssetMaint.maintHistSeqId}] because the quantity to issue [${parameters.quantity}] is less than or equal to 0 for inventoryItem [${inventoryItem.inventoryItemId}]"/></add-error>
         </if-compare>
         <!-- make sure specified quantity is not greater than available quantity left to be issued, ie intentoryItem.availableToPromiseTotal -->
-        <if-compare-field field="parameters.quantity" to-field="inventoryItem.availableToPromiseTotal" operator="greater" type="Double">
+        <if-compare-field field="parameters.quantity" to-field="inventoryItem.availableToPromiseTotal" operator="greater" type="BigDecimal">
             <add-error><fail-message message="Not issuing InventoryItem to FixedAssetMaint [${fixedAssetMaint.fixedAssetId:fixedAssetMaint.maintHistSeqId}] because the quantity to issue [${parameters.quantity}] is greater than the quantity left to issue (ie the ATP or Available To Promise) [${intentoryItem.availableToPromiseTotal}] for inventoryItem [${orderItemShipGrpInvRes.inventoryItemId}]"/></add-error>
         </if-compare-field>
         
@@ -404,10 +404,10 @@
         <set from-field="fixedAssetMaint.fixedAssetId" field="createDetailMap.fixedAssetId"/>
         <set from-field="fixedAssetMaint.maintHistSeqId" field="createDetailMap.maintHistSeqId"/>
         <set from-field="itemIssuanceId" field="createDetailMap.itemIssuanceId"/>
-        <calculate field-name="createDetailMap.quantityOnHandDiff" type="Double">
+        <calculate field-name="createDetailMap.quantityOnHandDiff" type="BigDecimal">
             <calcop field-name="parameters.quantity" operator="negative"/>
         </calculate>
-        <calculate field-name="createDetailMap.availableToPromiseDiff" type="Double">
+        <calculate field-name="createDetailMap.availableToPromiseDiff" type="BigDecimal">
             <calcop field-name="parameters.quantity" operator="negative"/>
         </calculate>
         <call-service service-name="createInventoryItemDetail" in-map-name="createDetailMap"/>
@@ -417,7 +417,7 @@
         <entity-one entity-name="ItemIssuance" value-name="itemIssuance"/>
         <set field="oldQuantity" from-field="itemIssuance.quantity"/>
         <!-- Update the ItemIssuance -->
-        <set value="0" field="itemIssuanceUpdate.quantity" type="Double" />
+        <set value="0" field="itemIssuanceUpdate.quantity" type="BigDecimal" />
         <set from-field="parameters.itemIssuanceId" field="itemIssuanceUpdate.itemIssuanceId"/>
         <call-service service-name="updateItemIssuance" in-map-name="itemIssuanceUpdate"/>
         <!-- Increment InventoryItem quantityOnHand AND availableToPromise since there was no reservation -->
@@ -426,10 +426,10 @@
         <set from-field="itemIssuance.fixedAssetId" field="createDetailMap.fixedAssetId"/>
         <set from-field="itemIssuance.maintHistSeqId" field="createDetailMap.maintHistSeqId"/>
         <set from-field="itemIssuance.itemIssuanceId" field="createDetailMap.itemIssuanceId"/>
-        <calculate field-name="createDetailMap.quantityOnHandDiff" type="Double">
+        <calculate field-name="createDetailMap.quantityOnHandDiff" type="BigDecimal">
             <calcop field-name="oldQuantity" operator="add"/>
         </calculate>
-        <calculate field-name="createDetailMap.availableToPromiseDiff" type="Double">
+        <calculate field-name="createDetailMap.availableToPromiseDiff" type="BigDecimal">
             <calcop field-name="oldQuantity" operator="add"/>
         </calculate>
         <call-service service-name="createInventoryItemDetail" in-map-name="createDetailMap"/>
@@ -474,16 +474,16 @@
          </if-empty>
 
         <!-- make sure specified cancel Quantity is not less than or equal to 0 -->
-        <if-compare field="toCancelQuantity" operator="less" value="0" type="Double">
+        <if-compare field="toCancelQuantity" operator="less" value="0" type="BigDecimal">
             <add-error><fail-message message="Not cancelling ItemIssuance [${parameters.itemIssuanceId}] because the quantity to cancel [${toCancelQuantity}] is less than 0 "/></add-error>
         </if-compare>
 
-        <if-compare field="toCancelQuantity" operator="equals" value="0" type="Double">
+        <if-compare field="toCancelQuantity" operator="equals" value="0" type="BigDecimal">
             <return response-code="success"/>
         </if-compare>
 
         <!-- make sure specified quantity is not greater than issued quantity left -->      
-        <if-compare-field field="toCancelQuantity" to-field="qtyIssuedLeft" operator="greater" type="Double">
+        <if-compare-field field="toCancelQuantity" to-field="qtyIssuedLeft" operator="greater" type="BigDecimal">
             <add-error><fail-message message="Not cancelling ItemIssuance because the quantity to cancel [${toCancelQuantity}] is greater than the quantity left [${qtyIssuedLeft}] for ItemIssuance [${parameters.itemIssuanceId}]"/></add-error>
         </if-compare-field>
         <check-errors/>
@@ -545,15 +545,15 @@
           </calcop>
         </calculate>
         <!-- make sure specified quantity is not less than or equal to 0 -->
-        <if-compare field="parameters.quantity" operator="less-equals" value="0" type="Double">
+        <if-compare field="parameters.quantity" operator="less-equals" value="0" type="BigDecimal">
             <add-error><fail-message message="Not issuing InventoryItem to Shipment [${parameters.shipmentId}:$${parameters.shipmentItemSeqId}] because the quantity to issue [${parameters.quantity}] is less than or equal to 0 for inventoryItem [${inventoryItem.inventoryItemId}]"/></add-error>
         </if-compare>
         <!-- make sure specified quantity is not greater than available quantity left to be issued, i.e. intentoryItem.availableToPromiseTotal -->
-        <if-compare-field field="parameters.quantity" to-field="inventoryItem.availableToPromiseTotal" operator="greater" type="Double">
+        <if-compare-field field="parameters.quantity" to-field="inventoryItem.availableToPromiseTotal" operator="greater" type="BigDecimal">
             <add-error><fail-message message="Not issuing InventoryItem to Shipment [${parameters.shipmentId}:${parameters.shipmentItemSeqId}] because the quantity to issue [${parameters.quantity}] is greater than the quantity left to issue (ie the ATP or Available To Promise) [${intentoryItem.availableToPromiseTotal}] for inventoryItem [${parameters.inventoryItemId}]"/></add-error>
         </if-compare-field>
         <!-- make sure specified quantity is not greater than total return quantity -->
-        <if-compare-field field="parameters.quantity" to-field="quantityNotIssued" operator="greater" type="Double">
+        <if-compare-field field="parameters.quantity" to-field="quantityNotIssued" operator="greater" type="BigDecimal">
             <add-error><fail-message message="Not issuing InventoryItem to Shipment [${parameters.shipmentId}:${parameters.shipmentItemSeqId}] because the quantity to issue [${parameters.quantity}] is greater than the quantity left to return for inventoryItem [${parameters.inventoryItemId}]"/></add-error>
         </if-compare-field>        
         <check-errors/>
@@ -573,10 +573,10 @@
         <set field="createDetailMap.itemIssuanceId" from-field="itemIssuanceId"/>
         <set field="createDetailMap.shipmentId" from-field="shipmentId"/>
         <set field="createDetailMap.shipmentItemSeqId" from-field="shipmentItemSeqId"/>
-        <calculate field-name="createDetailMap.quantityOnHandDiff" type="Double">
+        <calculate field-name="createDetailMap.quantityOnHandDiff" type="BigDecimal">
             <calcop field-name="parameters.quantity" operator="negative"/>
         </calculate>
-        <calculate field-name="createDetailMap.availableToPromiseDiff" type="Double">
+        <calculate field-name="createDetailMap.availableToPromiseDiff" type="BigDecimal">
             <calcop field-name="parameters.quantity" operator="negative"/>
         </calculate>
         <call-service service-name="createInventoryItemDetail" in-map-name="createDetailMap"/>

Modified: ofbiz/branches/typecheckcleanup200810/applications/product/script/org/ofbiz/shipment/picklist/PicklistServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/typecheckcleanup200810/applications/product/script/org/ofbiz/shipment/picklist/PicklistServices.xml?rev=721986&r1=721985&r2=721986&view=diff
==============================================================================
--- ofbiz/branches/typecheckcleanup200810/applications/product/script/org/ofbiz/shipment/picklist/PicklistServices.xml (original)
+++ ofbiz/branches/typecheckcleanup200810/applications/product/script/org/ofbiz/shipment/picklist/PicklistServices.xml Sun Nov 30 22:51:11 2008
@@ -166,7 +166,7 @@
                                                 <and>
                                                     <if-compare field="orderItemShipGroup.maySplit" operator="equals" value="N"/>
                                                     <not><if-empty field="orderItemShipGrpInvRes.quantityNotAvailable"/></not>
-                                                    <if-compare field="orderItemShipGrpInvRes.quantityNotAvailable" operator="greater" value="0" type="Double"/>
+                                                    <if-compare field="orderItemShipGrpInvRes.quantityNotAvailable" operator="greater" value="0" type="BigDecimal"/>
                                                 </and>
                                                 <!-- make sure the inventoryItem is in the specified facility -->
                                                 <if-compare-field field="parameters.facilityId" to-field="inventoryItem.facilityId" operator="not-equals"/>
@@ -182,9 +182,9 @@
                                                 <condition>
                                                     <or>
                                                         <if-empty field="orderItemShipGrpInvRes.quantityNotAvailable"/>
-                                                        <if-compare field="orderItemShipGrpInvRes.quantityNotAvailable" operator="equals" value="0" type="Double"/>
+                                                        <if-compare field="orderItemShipGrpInvRes.quantityNotAvailable" operator="equals" value="0" type="BigDecimal"/>
                                                         <and>
-                                                            <if-compare-field field="orderItemShipGrpInvRes.quantity" to-field="orderItemShipGrpInvRes.quantityNotAvailable" operator="greater" type="Double"/>
+                                                            <if-compare-field field="orderItemShipGrpInvRes.quantity" to-field="orderItemShipGrpInvRes.quantityNotAvailable" operator="greater" type="BigDecimal"/>
                                                             <if-compare field="orderItemShipGroup.maySplit" operator="equals" value="Y"/>
                                                         </and>
                                                     </or>
@@ -342,7 +342,7 @@
             <iterate entry-name="orderReadyToPickInfo" list-name="pickMoveByShipmentMethodInfo.orderReadyToPickInfoList">
                 <iterate entry-name="orderItemAndShipGroupAssoc" list-name="orderReadyToPickInfo.orderItemAndShipGroupAssocList">
                     <if-compare value="ITEM_APPROVED" operator="equals" field="orderItemAndShipGroupAssoc.statusId">
-                        <calculate field-name="reservedQuantity" type="Double"><number value="0"/></calculate>
+                        <calculate field-name="reservedQuantity" type="BigDecimal"><number value="0"/></calculate>
 
                         <set from-field="orderItemAndShipGroupAssoc.orderItemSeqId" field="itemFilterMap.orderItemSeqId"/>
                         <filter-list-by-and map-name="itemFilterMap" list-name="orderReadyToPickInfo.orderItemShipGrpInvResList" to-list-name="perItemResList"/>
@@ -363,7 +363,7 @@
                                 <set field="inventoryItemOrderItems.${orderItemShipGrpInvRes.inventoryItemId}" from-field="inventoryItemOrderItemList"/>
                                 <clear-field field-name="inventoryItemOrderItemList"/>
                                 <if-not-empty field="inventoryItemQuantities.${inventoryItemId}">
-                                    <calculate field-name="inventoryItemQuantities.${inventoryItemId}" type="Double">
+                                    <calculate field-name="inventoryItemQuantities.${inventoryItemId}" type="BigDecimal">
                                         <calcop field-name="inventoryItemQuantities.${inventoryItemId}" operator="add">
                                             <calcop field-name="orderItemShipGrpInvRes.quantity" operator="get"/>
                                         </calcop>
@@ -375,7 +375,7 @@
                             </if-compare-field>
                             <clear-field field-name="inventoryItem"/>
                             <!-- update total quantity reserved, picked, etc per line item to check to see if all and not more is reserved -->
-                            <calculate field-name="reservedQuantity" type="Double">
+                            <calculate field-name="reservedQuantity" type="BigDecimal">
                                 <calcop field-name="reservedQuantity" operator="add">
                                     <calcop field-name="orderItemShipGrpInvRes.quantity" operator="get"/>
                                 </calcop>
@@ -394,9 +394,9 @@
                         <!-- warn if wrong inventory has been reserved+issued -->
                         <!-- must include issued items as well, otherwise can't really do an effective check... -->
                         <get-related value-name="orderItemAndShipGroupAssoc" relation-name="ItemIssuance" list-name="itemIssuances"/>
-                        <calculate field-name="issuedQuantity" type="Double"><number value="0"/></calculate>
+                        <calculate field-name="issuedQuantity" type="BigDecimal"><number value="0"/></calculate>
                         <iterate entry-name="itemIssuance" list-name="itemIssuances">
-                            <calculate field-name="issuedQuantity" type="Double">
+                            <calculate field-name="issuedQuantity" type="BigDecimal">
                                 <calcop field-name="issuedQuantity" operator="add">
                                     <calcop field-name="itemIssuance.quantity" operator="get"/>
                                 </calcop>
@@ -408,7 +408,7 @@
                                 <calcop operator="get" field-name="issuedQuantity"/>
                             </calcop>
                         </calculate>
-                        <if-compare-field field="reservedIssuedQuantity" to-field="orderItemAndShipGroupAssoc.quantity" operator="not-equals" type="Double">
+                        <if-compare-field field="reservedIssuedQuantity" to-field="orderItemAndShipGroupAssoc.quantity" operator="not-equals" type="BigDecimal">
                             <set field="wrongQuantityReserved.orderItemAndShipGroupAssoc" from-field="orderItemAndShipGroupAssoc"/>
                             <set field="wrongQuantityReserved.reservedQuantity" from-field="reservedQuantity"/>
                             <set field="wrongQuantityReserved.issuedQuantity" from-field="issuedQuantity"/>
@@ -439,17 +439,17 @@
             <if>
                 <condition>
                     <and>
-                        <if-compare value="1" operator="less-equals" field="quantityNeeded" type="Double"/>
+                        <if-compare value="1" operator="less-equals" field="quantityNeeded" type="BigDecimal"/>
                         <or>
                             <and>
                                 <if-compare value="SERIALIZED_INV_ITEM" operator="equals" field="inventoryItem.inventoryItemTypeId"/>
-                                <if-compare value="1" operator="less" field="quantityNeeded" type="Double"/>
+                                <if-compare value="1" operator="less" field="quantityNeeded" type="BigDecimal"/>
                             </and>
                             <and>
                                 <if-compare value="NON_SERIAL_INV_ITEM" operator="equals" field="inventoryItem.inventoryItemTypeId"/>
                                 <or>
                                     <if-empty field="inventoryItem.quantityOnHandTotal"/>
-                                    <if-compare-field field="quantityNeeded" to-field="inventoryItem.quantityOnHandTotal" operator="greater" type="Double"/>
+                                    <if-compare-field field="quantityNeeded" to-field="inventoryItem.quantityOnHandTotal" operator="greater" type="BigDecimal"/>
                                 </or>
                             </and>
                         </or>
@@ -529,7 +529,7 @@
                             <then>
                                 <set field="quantityToSubtract" from-field="orderItemShipGrpInvRes.quantityNotAvailable"/>
                                 <log level="info" message="Subtracting ${quantityToSubtract} from ${quantityToPick}"/>
-                                <calculate field-name="quantityToPick" type="Double">
+                                <calculate field-name="quantityToPick" type="BigDecimal">
                                     <calcop field-name="quantityToPick" operator="subtract">
                                         <calcop field-name="quantityToSubtract" operator="get"/>
                                     </calcop>
@@ -538,7 +538,7 @@
                         </if>
 
                         <log level="info" message="Order #${orderItemShipGrpInvRes.orderId} / ${orderItemShipGrpInvRes.orderItemSeqId} - ${quantityToPick}"/>
-                        <if-compare field="quantityToPick" value="0" operator="greater" type="Double">
+                        <if-compare field="quantityToPick" value="0" operator="greater" type="BigDecimal">
                             <clear-field field-name="createPicklistItemMap"/>
                             <set from-field="picklistBinId" field="createPicklistItemMap.picklistBinId"/>
                             <set field="createPicklistItemMap.itemStatusId" value="PICKITEM_PENDING"/>
@@ -925,13 +925,13 @@
 
             <!-- make the pickQuantity and quantityByPicklistBinIdMap -->
             <iterate entry-name="picklistItemInfo" list-name="facilityLocationInfo.picklistItemInfoList">
-                <calculate field-name="facilityLocationInfo.pickQuantity" type="Double">
+                <calculate field-name="facilityLocationInfo.pickQuantity" type="BigDecimal">
                     <calcop field-name="facilityLocationInfo.pickQuantity" operator="add">
                         <calcop field-name="picklistItemInfo.picklistItem.quantity" operator="get"/>
                     </calcop>
                 </calculate>
 
-                <calculate field-name="facilityLocationInfo.quantityByPicklistBinIdMap.${picklistItemInfo.picklistBin.picklistBinId}" type="Double">
+                <calculate field-name="facilityLocationInfo.quantityByPicklistBinIdMap.${picklistItemInfo.picklistBin.picklistBinId}" type="BigDecimal">
                     <calcop field-name="facilityLocationInfo.quantityByPicklistBinIdMap.${picklistItemInfo.picklistBin.picklistBinId}" operator="add">
                         <calcop field-name="picklistItemInfo.picklistItem.quantity" operator="get"/>
                     </calcop>
@@ -978,13 +978,13 @@
 
             <!-- make the pickQuantity and quantityByPicklistBinIdMap -->
             <iterate entry-name="picklistItemInfo" list-name="productInfo.picklistItemInfoList">
-                <calculate field-name="productInfo.pickQuantity" type="Double">
+                <calculate field-name="productInfo.pickQuantity" type="BigDecimal">
                     <calcop field-name="productInfo.pickQuantity" operator="add">
                         <calcop field-name="picklistItemInfo.picklistItem.quantity" operator="get"/>
                     </calcop>
                 </calculate>
 
-                <calculate field-name="productInfo.quantityByPicklistBinIdMap.${picklistItemInfo.picklistBin.picklistBinId}" type="Double">
+                <calculate field-name="productInfo.quantityByPicklistBinIdMap.${picklistItemInfo.picklistBin.picklistBinId}" type="BigDecimal">
                     <calcop field-name="productInfo.quantityByPicklistBinIdMap.${picklistItemInfo.picklistBin.picklistBinId}" operator="add">
                         <calcop field-name="picklistItemInfo.picklistItem.quantity" operator="get"/>
                     </calcop>
@@ -1191,7 +1191,7 @@
 
                 <!-- before destroying inventoryItemInfo, add info to the productInfoMap -->
                 <set from-field="inventoryItemInfo.product" field="productInfoMap.${inventoryItemInfo.product.productId}.product"/>
-                <calculate field-name="productInfoMap.${inventoryItemInfo.product.productId}.quantity" type="Double">
+                <calculate field-name="productInfoMap.${inventoryItemInfo.product.productId}.quantity" type="BigDecimal">
                     <calcop field-name="productInfoMap.${inventoryItemInfo.product.productId}.quantity" operator="get"/>
                     <calcop field-name="inventoryItemInfo.quantity" operator="get"/>
                 </calculate>