Getting following error on process order call and it is related to new field
added to OrderItemShipGroup entity. Failure in create operation for entity [OrderItemShipGroup]: org.ofbiz.entity.GenericEntityException: Error while inserting: [GenericEntity:OrderItemShipGroup][carrierPartyId,UPS(java.lang.String)][carrierRoleTypeId,CARRIER(java.lang.String)][contactMechId,9015(java.lang.String)][createdStamp,2008-08-30 15:23:26.671(java.sql.Timestamp)][createdTxStamp,2008-08-30 15:23:23.768(java.sql.Timestamp)][facilityId,(java.lang.String)][giftMessage,(java.lang.String)][isGift,N(java.lang.String)][lastUpdatedStamp,2008-08-30 15:23:26.671(java.sql.Timestamp)][lastUpdatedTxStamp,2008-08-30 15:23:23.768(java.sql.Timestamp)][maySplit,N(java.lang.String)][orderId,WSCO10000(java.lang.String)][shipAfterDate,null()][shipByDate,null()][shipGroupSeqId,00001(java.lang.String)][shipmentMethodTypeId,NEXT_DAY(java.lang.String)][shippingInstructions,null()][supplierPartyId,null()][vendorPartyId,null()] (SQL Exception while executing the following:INSERT INTO OFBIZ.ORDER_ITEM_SHIP_GROUP (ORDER_ID, SHIP_GROUP_SEQ_ID, SHIPMENT_METHOD_TYPE_ID, SUPPLIER_PARTY_ID, VENDOR_PARTY_ID, CARRIER_PARTY_ID, CARRIER_ROLE_TYPE_ID, FACILITY_ID, CONTACT_MECH_ID, TELECOM_CONTACT_MECH_ID, TRACKING_NUMBER, SHIPPING_INSTRUCTIONS, MAY_SPLIT, GIFT_MESSAGE, IS_GIFT, SHIP_AFTER_DATE, SHIP_BY_DATE, LAST_UPDATED_STAMP, LAST_UPDATED_TX_STAMP, CREATED_STAMP, CREATED_TX_STAMP) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) (INSERT on table 'ORDER_ITEM_SHIP_GROUP' caused a violation of foreign key constraint 'ORDER_ITSG_FAC' for key (). The statement has been rolled back.)). Rolling back transaction. - Vikas On Tue, Aug 26, 2008 at 2:00 PM, <[hidden email]> wrote: > Author: bibryam > Date: Tue Aug 26 01:30:05 2008 > New Revision: 688993 > > URL: http://svn.apache.org/viewvc?rev=688993&view=rev > Log: > Applied (with few modifications) patch from Len Shein, OFBIZ-1928: "Allow > the Shopping Cart to accept a facility per ship group to specify where > inventory should be reserved from". > Also added a dropdown button to choose a facility in order manager shipping > screen. > > > Modified: > ofbiz/trunk/applications/order/entitydef/entitymodel.xml > > ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java > > ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/CheckOutEvents.java > > ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java > > ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/entry/ShipSettings.groovy > ofbiz/trunk/applications/order/webapp/ordermgr/entry/shipsettings.ftl > ofbiz/trunk/applications/product/config/ProductUiLabels.xml > > ofbiz/trunk/applications/product/script/org/ofbiz/product/store/ProductStoreServices.xml > ofbiz/trunk/applications/product/servicedef/services_store.xml > > Modified: ofbiz/trunk/applications/order/entitydef/entitymodel.xml > URL: > http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/entitydef/entitymodel.xml?rev=688993&r1=688992&r2=688993&view=diff > > ============================================================================== > --- ofbiz/trunk/applications/order/entitydef/entitymodel.xml (original) > +++ ofbiz/trunk/applications/order/entitydef/entitymodel.xml Tue Aug 26 > 01:30:05 2008 > @@ -794,6 +794,7 @@ > <field name="vendorPartyId" type="id"><description>For use with > multi-vendor stores, order will be split so that each ship group is > associated with only one vendor (only if applicable)</description></field> > <field name="carrierPartyId" type="id"></field> > <field name="carrierRoleTypeId" type="id"></field> > + <field name="facilityId" type="id"></field> > <field name="contactMechId" type="id"></field> > <field name="telecomContactMechId" type="id"></field> > <field name="trackingNumber" type="short-varchar"></field> > @@ -826,6 +827,9 @@ > <key-map field-name="carrierPartyId" rel-field-name="partyId"/> > <key-map field-name="carrierRoleTypeId" > rel-field-name="roleTypeId"/> > </relation> > + <relation type="one" fk-name="ORDER_ITSG_FAC" > rel-entity-name="Facility"> > + <key-map field-name="facilityId"/> > + </relation> > <relation type="one" fk-name="ORDER_ITSG_SHMTP" > rel-entity-name="ShipmentMethodType"> > <key-map field-name="shipmentMethodTypeId"/> > </relation> > > Modified: > ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java > URL: > http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java?rev=688993&r1=688992&r2=688993&view=diff > > ============================================================================== > --- > ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java > (original) > +++ > ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java > Tue Aug 26 01:30:05 2008 > @@ -1115,6 +1115,8 @@ > continue; > } > GenericValue orderItem = (GenericValue) > itemValuesBySeqId.get(orderItemShipGroupAssoc.get("orderItemSeqId")); > + GenericValue orderItemShipGroup = > orderItemShipGroupAssoc.getRelatedOne("OrderItemShipGroup"); > + String shipGroupFacilityId = > orderItemShipGroup.getString("facilityId"); > String itemStatus = orderItem.getString("statusId"); > if ("ITEM_REJECTED".equals(itemStatus) || > "ITEM_CANCELLED".equals(itemStatus) || "ITEM_COMPLETED".equals(itemStatus)) > { > Debug.logInfo("Order item [" + > orderItem.getString("orderId") + " / " + > orderItem.getString("orderItemSeqId") + "] is not in a proper status for > reservation", module); > @@ -1153,6 +1155,7 @@ > > reserveInput.put("shipGroupSeqId", > orderItemShipGroupAssoc.getString("shipGroupSeqId")); > reserveInput.put("quantity", > quantity); > reserveInput.put("userLogin", > userLogin); > + reserveInput.put("facilityId", > shipGroupFacilityId); > Map reserveResult = > dispatcher.runSync("reserveStoreInventory", reserveInput); > > if > (ServiceUtil.isError(reserveResult)) { > @@ -1173,6 +1176,7 @@ > reserveInput.put("orderId", > orderItem.getString("orderId")); > reserveInput.put("orderItemSeqId", > orderItem.getString("orderItemSeqId")); > reserveInput.put("shipGroupSeqId", > orderItemShipGroupAssoc.getString("shipGroupSeqId")); > + reserveInput.put("facilityId", > shipGroupFacilityId); > // use the quantity from the > orderItemShipGroupAssoc, NOT the orderItem, these are reserved by item-group > assoc > reserveInput.put("quantity", > orderItemShipGroupAssoc.getDouble("quantity")); > reserveInput.put("userLogin", > userLogin); > @@ -1195,7 +1199,11 @@ > // that can actually create and run a > production run > GenericValue permUserLogin = > delegator.findByPrimaryKeyCache("UserLogin", UtilMisc.toMap("userLoginId", > "system")); > Map inputMap = new HashMap(); > - inputMap.put("facilityId", > productStore.getString("inventoryFacilityId")); > + if > (UtilValidate.isNotEmpty(shipGroupFacilityId)) { > + inputMap.put("facilityId", > shipGroupFacilityId); > + } else { > + inputMap.put("facilityId", > productStore.getString("inventoryFacilityId")); > + } > inputMap.put("orderId", > orderItem.getString("orderId")); > inputMap.put("orderItemSeqId", > orderItem.getString("orderItemSeqId")); > inputMap.put("userLogin", permUserLogin); > > Modified: > ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/CheckOutEvents.java > URL: > http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/CheckOutEvents.java?rev=688993&r1=688992&r2=688993&view=diff > > ============================================================================== > --- > ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/CheckOutEvents.java > (original) > +++ > ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/CheckOutEvents.java > Tue Aug 26 01:30:05 2008 > @@ -751,6 +751,8 @@ > shippingContactMechId = (String) > request.getAttribute("contactMechId"); // FIXME > } > String supplierPartyId = > request.getParameter(shipGroupIndex + "_supplierPartyId"); > + String facilityId = > request.getParameter(shipGroupIndex + "_shipGroupFacilityId"); > + cart.setShipGroupFacilityId(shipGroupIndex, > facilityId); > callResult = > checkOutHelper.finalizeOrderEntryShip(shipGroupIndex, shippingContactMechId, > supplierPartyId); > ServiceUtil.addErrors(errorMessages, errorMaps, > callResult); > } > > Modified: > ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java > URL: > http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java?rev=688993&r1=688992&r2=688993&view=diff > > ============================================================================== > --- > ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java > (original) > +++ > ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java > Tue Aug 26 01:30:05 2008 > @@ -2310,6 +2310,16 @@ > return this.getCarrierPartyId(0); > } > > + public void setShipGroupFacilityId(int idx, String facilityId) { > + CartShipInfo csi = this.getShipInfo(idx); > + csi.facilityId = facilityId; > + } > + > + public String getShipGroupFacilityId(int idx) { > + CartShipInfo csi = this.getShipInfo(idx); > + return csi.facilityId; > + } > + > public void setOrderAdditionalEmails(String orderAdditionalEmails) { > this.orderAdditionalEmails = orderAdditionalEmails; > } > @@ -4193,6 +4203,7 @@ > public String supplierPartyId = null; > public String carrierRoleTypeId = null; > public String carrierPartyId = null; > + public String facilityId = null; > public String giftMessage = null; > public String shippingInstructions = null; > public String maySplit = "N"; > @@ -4214,6 +4225,7 @@ > public String getShipmentMethodTypeId() { return > shipmentMethodTypeId; } > public double getShipEstimate() { return shipEstimate; } > public String getShipGroupSeqId() { return shipGroupSeqId; } > + public String getFacilityId() { return facilityId; } > public void setShipGroupSeqId(String shipGroupSeqId) { > this.shipGroupSeqId = shipGroupSeqId; > } > @@ -4247,6 +4259,7 @@ > shipGroup.set("isGift", isGift); > shipGroup.set("shipGroupSeqId", shipGroupSeqId); > shipGroup.set("vendorPartyId", vendorPartyId); > + shipGroup.set("facilityId", facilityId); > > // use the cart's default ship before and after dates here > if ((shipBeforeDate == null) && > (cart.getDefaultShipBeforeDate() != null)) { > > Modified: > ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/entry/ShipSettings.groovy > URL: > http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/entry/ShipSettings.groovy?rev=688993&r1=688992&r2=688993&view=diff > > ============================================================================== > --- > ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/entry/ShipSettings.groovy > (original) > +++ > ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/entry/ShipSettings.groovy > Tue Aug 26 01:30:05 2008 > @@ -63,6 +63,10 @@ > // suppliers for the drop-ship select box > suppliers = delegator.findByAnd("PartyRole", [roleTypeId : > "SUPPLIER"]); > context.suppliers = suppliers; > + > + // facilities used to reserve the items per ship group > + productStoreFacilities = delegator.findByAnd("ProductStoreFacility", > [productStoreId : cart.getProductStoreId()]); > + context.productStoreFacilities = productStoreFacilities; > } else { > // Purchase order > if (!"_NA_".equals(orderPartyId)) { > > Modified: > ofbiz/trunk/applications/order/webapp/ordermgr/entry/shipsettings.ftl > URL: > http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/webapp/ordermgr/entry/shipsettings.ftl?rev=688993&r1=688992&r2=688993&view=diff > > ============================================================================== > --- ofbiz/trunk/applications/order/webapp/ordermgr/entry/shipsettings.ftl > (original) > +++ ofbiz/trunk/applications/order/webapp/ordermgr/entry/shipsettings.ftl > Tue Aug 26 01:30:05 2008 > @@ -117,6 +117,7 @@ > > <#assign currShipContactMechId = > cart.getShippingContactMechId(shipGroupIndex)?if_exists> > <#assign supplierPartyId = > cart.getSupplierPartyId(shipGroupIndex)?if_exists> > +<#assign facilityId = > cart.getShipGroupFacilityId(shipGroupIndex)?if_exists> > <hr/> > <table width="100%" border="0" cellpadding="1" cellspacing="0"> > <tr> > @@ -134,6 +135,14 @@ > <option value="${supplier.partyId}"<#if > supplierPartyId?exists><#if supplier.partyId == supplierPartyId> > selected</#if></#if>>${Static["org.ofbiz.party.party.PartyHelper"].getPartyName(supplier, > true)}</option> > </#list> > </select> > + ${uiLabelMap.ProductReserveInventoryFromFacility}: > + <select > name="${shipGroupIndex?default("0")}_shipGroupFacilityId"> > + <option value=""></option> > + <#list productStoreFacilities as > productStoreFacility> > + <#assign facility = > productStoreFacility.getRelatedOne("Facility")> > + <option > value="${productStoreFacility.facilityId}"<#if facilityId?exists><#if > productStoreFacility.facilityId == facilityId> > selected</#if></#if>>${facility.facilityName?if_exists} </option> > + </#list> > + </select> > </div> > </td> > </tr> > > Modified: ofbiz/trunk/applications/product/config/ProductUiLabels.xml > URL: > http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/config/ProductUiLabels.xml?rev=688993&r1=688992&r2=688993&view=diff > > ============================================================================== > --- ofbiz/trunk/applications/product/config/ProductUiLabels.xml (original) > +++ ofbiz/trunk/applications/product/config/ProductUiLabels.xml Tue Aug 26 > 01:30:05 2008 > @@ -14996,8 +14996,11 @@ > <value xml:lang="th">รายภ> ารสั่งจà¸à¸‡</value> > <value xml:lang="zh">预è(R)¢è(R)¢å •</value> > </property> > + <property key="ProductReserveInventoryFromFacility"> > + <value xml:lang="en">Reserve inventory from facility</value> > + </property> > <property key="ProductReserveInventory"> > - <value xml:lang="en">Reservenventory</value> > + <value xml:lang="en">Reserve Inventory</value> > <value xml:lang="fr">RÃ(c)servation de stock</value> > <value xml:lang="es">Inventario reservado</value> > <value xml:lang="fr">Stock de rÃ(c)serve</value> > > Modified: > ofbiz/trunk/applications/product/script/org/ofbiz/product/store/ProductStoreServices.xml > URL: > http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/script/org/ofbiz/product/store/ProductStoreServices.xml?rev=688993&r1=688992&r2=688993&view=diff > > ============================================================================== > --- > ofbiz/trunk/applications/product/script/org/ofbiz/product/store/ProductStoreServices.xml > (original) > +++ > ofbiz/trunk/applications/product/script/org/ofbiz/product/store/ProductStoreServices.xml > Tue Aug 26 01:30:05 2008 > @@ -411,65 +411,97 @@ > > <call-simple-method method-name="isStoreInventoryRequiredInline"/> > > - <if-compare value="Y" field="productStore.oneInventoryFacility" > operator="equals"> > - <if-empty field="productStore.inventoryFacilityId"> > - <add-error><fail-message message="ProductStore with id > ${productStoreId} has Y for oneInventoryFacility but inventoryFacilityId is > empty, not reserving inventory."/></add-error> > - <check-errors/> > - </if-empty> > - > - <set-service-fields map-name="parameters" > to-map-name="callServiceMap" > service-name="reserveProductInventoryByFacility"/> > - <set from-field="productStore.inventoryFacilityId" > field="callServiceMap.facilityId"/> > - <set from-field="requireInventory" > field="callServiceMap.requireInventory"/> > - <set from-field="productStore.reserveOrderEnumId" > field="callServiceMap.reserveOrderEnumId"/> > - <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"> > - <log level="info" message="Inventory IS reserved in > facility with id [${productStore.inventoryFacilityId}] for product id > [${parameters.productId}]; desired quantity was ${parameters.quantity}"/> > + <set from-field="parameters.facilityId" field="facilityId"/> > + <if-empty field="facilityId"> > + <if-compare value="Y" > field="productStore.oneInventoryFacility" operator="equals"> > + <if-empty field="productStore.inventoryFacilityId"> > + <add-error><fail-message message="ProductStore with id > ${productStoreId} has Y for oneInventoryFacility but inventoryFacilityId is > empty, not reserving inventory."/></add-error> > + <check-errors/> > + </if-empty> > + <set-service-fields map-name="parameters" > to-map-name="callServiceMap" > service-name="reserveProductInventoryByFacility"/> > + <set from-field="productStore.inventoryFacilityId" > field="callServiceMap.facilityId"/> > + <set from-field="requireInventory" > field="callServiceMap.requireInventory"/> > + <set from-field="productStore.reserveOrderEnumId" > field="callServiceMap.reserveOrderEnumId"/> > + <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"> > + <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}"/> > + </else> > + </if-compare> > <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}"/> > + <entity-and entity-name="ProductStoreFacility" > list-name="productStoreFacilities" use-cache="true"> > + <field-map env-name="productStore.productStoreId" > field-name="productStoreId"/> > + <order-by field-name="sequenceNum"/> > + </entity-and> > + <iterate list-name="productStoreFacilities" > entry-name="productStoreFacility"> > + <!-- in this case quantityNotReserved will always be > empty until it finds a facility it can totally reserve from, then it will be > 0.0 and we are done --> > + <if-empty field="storeFound"> > + <!-- TODO: must entire quantity be available in > one location? --> > + <!-- Right now the answer is yes, it only succeeds > if one facility has sufficient inventory for the order. --> > + <set from-field="parameters.productId" > field="callServiceMap.productId"/> > + <set from-field="productStoreFacility.facilityId" > field="callServiceMap.facilityId"/> > + <log level="info" message="ProductStoreService:In > productStoreFacilities loop: [${parameters.facilityId}]"/> > + <call-service > service-name="getInventoryAvailableByFacility" in-map-name="callServiceMap"> > + <result-to-field > result-name="availableToPromiseTotal"/> > + </call-service> > + <clear-field field-name="callServiceMap"/> > + > + <if-compare-field field="availableToPromiseTotal" > to-field="parameters.quantity" operator="greater-equals" type="Double"> > + <set field="storeFound" > from-field="productStoreFacility"/> > + </if-compare-field> > + <clear-field > field-name="availableToPromiseTotal"/> > + </if-empty> > + </iterate> > + > + <!-- didn't find anything? Take the first facility from > list --> > + <if-empty field="storeFound"> > + <first-from-list list-name="productStoreFacilities" > entry-name="storeFound"/> > + </if-empty> > + <set from-field="storeFound.facilityId" field="facilityId" > default-value=""/> > + <set-service-fields map-name="parameters" > to-map-name="callServiceMap" > service-name="reserveProductInventoryByFacility"/> > + <set from-field="facilityId" > field="callServiceMap.facilityId"/> > + <set from-field="requireInventory" > field="callServiceMap.requireInventory"/> > + <set from-field="productStore.reserveOrderEnumId" > field="callServiceMap.reserveOrderEnumId"/> > + <call-service > service-name="reserveProductInventoryByFacility" > in-map-name="callServiceMap"> > + <result-to-field result-name="quantityNotReserved"/> > + </call-service> > + <log level="info" message="Inventory IS reserved in > facility with id [${storeFound.facilityId}] for product id > [${parameters.productId}]; desired quantity was ${parameters.quantity}"/> > </else> > </if-compare> > <else> > <entity-and entity-name="ProductStoreFacility" > list-name="productStoreFacilities" use-cache="true"> > <field-map env-name="productStore.productStoreId" > field-name="productStoreId"/> > + <field-map env-name="facilityId" field-name="facilityId"/> > <order-by field-name="sequenceNum"/> > </entity-and> > - > <iterate list-name="productStoreFacilities" > entry-name="productStoreFacility"> > - <!-- in this case quantityNotReserved will always be empty > until it finds a facility it can totally reserve from, then it will be 0.0 > and we are done --> > - <if-empty field="storeFound"> > - <!-- TODO: must entire quantity be available in one > location? --> > - <!-- Right now the answer is yes, it only succeeds if > one facility has sufficient inventory for the order. --> > - <set from-field="parameters.productId" > field="callServiceMap.productId"/> > - <set from-field="productStoreFacility.facilityId" > field="callServiceMap.facilityId"/> > - <call-service > service-name="getInventoryAvailableByFacility" in-map-name="callServiceMap"> > - <result-to-field > result-name="availableToPromiseTotal"/> > - </call-service> > - <clear-field field-name="callServiceMap"/> > - > - <if-compare-field field="availableToPromiseTotal" > to-field="parameters.quantity" operator="greater-equals" type="Double"> > - <set field="storeFound" > from-field="productStoreFacility"/> > - </if-compare-field> > - <clear-field field-name="availableToPromiseTotal"/> > - </if-empty> > + <!-- Search Product Store Facilities to insure the > facility passed in is associated to the Product Store passed in --> > + <set field="facilityFound" > from-field="productStoreFacility"/> > + <log level="info" message="ProductStoreService:Facility > Found : [${facilityFound}]"/> > </iterate> > - <!-- didn't find anything? Take the first facility from list > --> > - <if-empty field="storeFound"> > - <first-from-list list-name="productStoreFacilities" > entry-name="storeFound"/> > + <if-empty field="facilityFound"> > + <add-error><fail-message message="Facility with id > ${parameters.facilityId} is not associated to ProductStore with id > ${parameters.productStoreId}, not reserving inventory."/></add-error> > + <check-errors/> > </if-empty> > <set-service-fields map-name="parameters" > to-map-name="callServiceMap" > service-name="reserveProductInventoryByFacility"/> > - <set from-field="storeFound.facilityId" > field="callServiceMap.facilityId"/> > + <set from-field="facilityId" > field="callServiceMap.facilityId"/> > <set from-field="requireInventory" > field="callServiceMap.requireInventory"/> > <set from-field="productStore.reserveOrderEnumId" > field="callServiceMap.reserveOrderEnumId"/> > <call-service service-name="reserveProductInventoryByFacility" > in-map-name="callServiceMap"> > <result-to-field result-name="quantityNotReserved"/> > </call-service> > - <log level="info" message="Inventory IS reserved in facility > with id [${storeFound.facilityId}] for product id [${parameters.productId}]; > desired quantity was ${parameters.quantity}"/> > - </else> > - </if-compare> > - > + <if-compare value="0" field="quantityNotReserved" > operator="equals" type="Double"> > + <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}"/> > + </else> > + </if-compare> > + </else> > + </if-empty> > <field-to-result field-name="quantityNotReserved"/> > </simple-method> > > > Modified: ofbiz/trunk/applications/product/servicedef/services_store.xml > URL: > http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/servicedef/services_store.xml?rev=688993&r1=688992&r2=688993&view=diff > > ============================================================================== > --- ofbiz/trunk/applications/product/servicedef/services_store.xml > (original) > +++ ofbiz/trunk/applications/product/servicedef/services_store.xml Tue Aug > 26 01:30:05 2008 > @@ -44,6 +44,7 @@ > <description>Reserve Inventory in a Product Store</description> > <attribute name="productStoreId" type="String" mode="IN" > optional="false"></attribute> > <attribute name="productId" type="String" mode="IN" > optional="false"></attribute> > + <attribute name="facilityId" type="String" mode="IN" > optional="true"></attribute> > <attribute name="quantity" type="Double" mode="IN" > optional="false"></attribute> > <attribute name="orderId" type="String" mode="IN" > optional="true"></attribute> > <attribute name="orderItemSeqId" type="String" mode="IN" > optional="true"></attribute> > > > |
Quoting Vikas Mayur <[hidden email]>:
> Getting following error on process order call and it is related to new field > added to OrderItemShipGroup entity. > Vikas, can you provide some more information on how you get this error? I couldn't find "process order call" stuff. Bilgin ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. |
Bilgin, I am sorry that I just post this in hurry.
The error comes when you click on create order link on order confirmation screen on order manager screen. Hope this helps ! - Vikas On Sat, Aug 30, 2008 at 6:36 PM, Bilgin Ibryam <[hidden email]> wrote: > Quoting Vikas Mayur <[hidden email]>: > > Getting following error on process order call and it is related to new >> field >> added to OrderItemShipGroup entity. >> >> > Vikas, > can you provide some more information on how you get this error? > I couldn't find "process order call" stuff. > > Bilgin > > ---------------------------------------------------------------- > This message was sent using IMP, the Internet Messaging Program. > > |
Quoting Vikas Mayur <[hidden email]>:
> Bilgin, I am sorry that I just post this in hurry. > > The error comes when you click on create order link on order confirmation > screen on order manager screen. > > Hope this helps ! > > - Vikas > It should be fixed in r690564 Thanks for reporting Vikas. ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. |
Free forum by Nabble | Edit this page |