Hi Mridul,

I'm not sure I understand, are you proposing that we affix $double to the end of all our values? Having spent many many hours removing the use of doubles from OFBiz I would be quite a bit against that.

Regards
Scott

On 11/09/2009, at 9:57 PM, Mridul Pathak wrote:

Hi Adrian,

I have given a try to fix this bug and uploaded the patch on jira issue OFBIZ-2928. It would be great if you can have a look at the patch.

--
Thanks,
Mridul Pathak

On 18-Jun-09, at 10:34 PM, Adrian Crum wrote:

Thank you for the information. That is definitely a bug that should be fixed. I will look into it as soon as I have time.

-Adrian

Mridul Pathak wrote:
Hi Adrian,
I tried using variable name modifier as suggested by you, but it doesn't seem to be working. I am getting following warning on terminal: *Code*: <set field="itemIssuance.quantity" value="$ {parameters.quantity$double + itemIssuance.quantity$double}" type="BigDecimal"/> *Warning*: "2009-06-18 22:02:59,475 (http-0.0.0.0-8443-1) [ GenericEntity.java:704:WARN ] The field name (or key) [quantity$double] is not valid for entity [ItemIssuance], printing IllegalArgumentException instead of throwing it because Map interface specification does not allow throwing that exception."
   When I tried it following way, it worked correctly:
*Code*:
<set field="itemIssuanceQuantity" from- field="itemIssuance.quantity" type="BigDecimal"/> <set field="thisQuantity" from-field="parameters.quantity" type="BigDecimal"/> <set field="itemIssuance.quantity" value="${thisQuantity$double + itemIssuanceQuantity$double}" type="BigDecimal"/> I can do it the second way, but is it possible to make the former code snippet work?
--
Thanks,
Mridul Pathak
On 18-Jun-09, at 8:12 PM, Mridul Pathak wrote:
Thanks Adrian for your useful comments, this will help me to make better use of UEL in future :). Ashish, can you please reopen the Jira Issue OFBIZ-2619. So that I can upload a patch with these improvements on the same issue.

--
Thanks,
Mridul Pathak

On 18-Jun-09, at 8:00 PM, Adrian Crum wrote:

It's good to see UEL expressions used to simplify simple method code. One thing to watch out for though - UEL will throw an exception if an expression variable doesn't exist. OFBiz has a variable name modifier that can be used to avoid that.

For example:

<set field="itemIssuance.quantity" value="$ {itemIssuance.quantity + parameters.quantity}" type="BigDecimal"/>

would be better as:

<set field="itemIssuance.quantity" value="${itemIssuance.quantity $double + parameters.quantity$double}" type="BigDecimal"/>

For more information:

http://docs.ofbiz.org/x/Hhk

-Adrian


ash...@apache.org <mailto:ash...@apache.org> wrote:
Author: ashish
Date: Thu Jun 18 10:48:09 2009
New Revision: 786013
URL: http://svn.apache.org/viewvc?rev=786013&view=rev <http://svn.apache.org/viewvc?rev=786013&view=rev >
Log:
Applied patch from jira issue OFBIZ-2619 (Issues with Receive PO functionality). I have tested this patch extensively and now things looks more accurate.
I agree with the issues specified from Mridul in the jira issue.
Thanks Mridul for your contribution.
Modified:
 ofbiz/trunk/applications/order/servicedef/secas.xml
ofbiz/trunk/applications/product/script/org/ofbiz/shipment/ issuance/IssuanceServices.xml ofbiz/trunk/applications/product/script/org/ofbiz/shipment/ receipt/ShipmentReceiptServices.xml
 ofbiz/trunk/applications/product/servicedef/secas.xml
ofbiz/trunk/applications/product/servicedef/ services_shipment.xml
Modified: ofbiz/trunk/applications/order/servicedef/secas.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/servicedef/secas.xml?rev=786013&r1=786012&r2=786013&view=diff <http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/servicedef/secas.xml?rev=786013&r1=786012&r2=786013&view=diff > = = = = = = = = = = = = = ================================================================= --- ofbiz/trunk/applications/order/servicedef/secas.xml (original) +++ ofbiz/trunk/applications/order/servicedef/secas.xml Thu Jun 18 10:48:09 2009
@@ -52,7 +52,6 @@
<condition field-name="facilityId" operator="is-not- empty"/>
      <condition field-name="orderId" operator="is-not-empty"/>
      <action service="addProductsBackToCategory" mode="sync"/>
- <action service="updatePoOnReceiveInventory" mode="sync"/>
  </eca>
  <eca service="changeOrderItemStatus" event="commit">
<condition field-name="statusId" operator="equals" value="ITEM_CANCELLED"/> Modified: ofbiz/trunk/applications/product/script/org/ofbiz/ shipment/issuance/IssuanceServices.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/script/org/ofbiz/shipment/issuance/IssuanceServices.xml?rev=786013&r1=786012&r2=786013&view=diff <http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/script/org/ofbiz/shipment/issuance/IssuanceServices.xml?rev=786013&r1=786012&r2=786013&view=diff > = = = = = = = = = = = = = ================================================================= --- ofbiz/trunk/applications/product/script/org/ofbiz/shipment/ issuance/IssuanceServices.xml (original) +++ ofbiz/trunk/applications/product/script/org/ofbiz/shipment/ issuance/IssuanceServices.xml Thu Jun 18 10:48:09 2009
@@ -126,7 +126,7 @@
<entity-one entity-name="Shipment" value-field="shipment" auto-field-map="true"/> <call-simple-method method- name="findCreateIssueShipmentItem"/> - <call-simple-method method- name="callCreateItemIssuance"/> + <call-simple-method method- name="findCreateItemIssuance"/>
      <call-simple-method method-name="associateIssueRoles"/>
  </simple-method>
@@ -228,7 +228,7 @@
      </if-compare>
<!--<call-simple-method method- name="findCreateIssueShipmentItem"/>--> - <call-simple-method method- name="callCreateItemIssuance"/> + <call-simple-method method- name="findCreateItemIssuance"/>
      <call-simple-method method-name="associateIssueRoles"/>
       <!-- decrement quantity still reserved -->
@@ -307,7 +307,27 @@
      </if-empty>
<field-to-result field="shipmentItem.shipmentItemSeqId" result-name="shipmentItemSeqId"/>
  </simple-method>
- <simple-method method-name="callCreateItemIssuance" short- description="Call Create ItemIssuance - meant to be called in- line"> + <simple-method method-name="findCreateItemIssuance" short- description="Find Create ItemIssuance - meant to be called in- line"> + <!-- If a non-sales order find ItemIssuance for orderItemSeqId-shimentItemSeqId-shipGroupSeqId pair, update it and return --> + <if-compare field="orderHeader.orderTypeId" operator="not-equals" value="SALES_ORDER"> + <entity-and list="itemIssuances" entity- name="ItemIssuance"> + <field-map field-name="orderId" from- field="orderItem.orderId"/> + <field-map field-name="orderItemSeqId" from- field="orderItem.orderItemSeqId"/> + <field-map field-name="shipmentId" from- field="shipmentItem.shipmentId"/> + <field-map field-name="shipmentItemSeqId" from- field="shipmentItem.shipmentItemSeqId"/> + <field-map field-name="shipGroupSeqId" from- field="orderItemShipGroupAssoc.shipGroupSeqId"/>
+                <order-by field-name="-issuedDateTime"/>
+            </entity-and>
+            <if-not-empty field="itemIssuances">
+ <first-from-list entry="itemIssuance" list="itemIssuances"/> + <set field="itemIssuance.quantity" value="$ {itemIssuance.quantity + parameters.quantity}" type="BigDecimal"/>
+                <store-value value-field="itemIssuance"/>
+ <set field="itemIssuanceId" from- field="itemIssuance.itemIssuanceId"/>
+                <field-to-result field="itemIssuanceId"/>
+                <return/>
+            </if-not-empty>
+        </if-compare>
+                 <!-- create the ItemIssuance -->
<set from-field="parameters.quantity" field="itemIssuanceCreate.quantity"/> <set from-field="shipmentItem.shipmentId" field="itemIssuanceCreate.shipmentId"/>
@@ -557,4 +577,14 @@
      </calculate>
<call-service service-name="createInventoryItemDetail" in- map-name="createDetailMap"/>
  </simple-method>
+ <simple-method method- name="getTotalIssuedQuantityForOrderItem" short- description="Computes the total issued quantity for an order item"> + <set field="totalIssuedQuantity" type="BigDecimal" value="0"/> + <entity-and list="allItemIssuances" entity- name="ItemIssuance"> + <field-map field-name="orderId" from- field="orderItem.orderId"/> + <field-map field-name="orderItemSeqId" from- field="orderItem.orderItemSeqId"/>
+        </entity-and>
+        <iterate entry="itemIssuance" list="allItemIssuances">
+ <set field="totalIssuedQuantity" value="$ {totalIssuedQuantity + itemIssuance.quantity}" type="BigDecimal"/>
+        </iterate>
+    </simple-method>
</simple-methods>
Modified: ofbiz/trunk/applications/product/script/org/ofbiz/ shipment/receipt/ShipmentReceiptServices.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/script/org/ofbiz/shipment/receipt/ShipmentReceiptServices.xml?rev=786013&r1=786012&r2=786013&view=diff <http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/script/org/ofbiz/shipment/receipt/ShipmentReceiptServices.xml?rev=786013&r1=786012&r2=786013&view=diff > = = = = = = = = = = = = = ================================================================= --- ofbiz/trunk/applications/product/script/org/ofbiz/shipment/ receipt/ShipmentReceiptServices.xml (original) +++ ofbiz/trunk/applications/product/script/org/ofbiz/shipment/ receipt/ShipmentReceiptServices.xml Thu Jun 18 10:48:09 2009
@@ -313,25 +313,155 @@
          </if-compare>
      </if-compare>
  </simple-method>
+ + <simple-method method- name="issueOrderItemToShipmentAndReceiveAgainstPO" short- description="Issues order item quantity specified to the shipment, then receives inventory for that item and quantity"> + <set value="Issue OrderItem to Shipment and Receive against PO" field="operationName"/> + <check-permission permission="FACILITY" action="_CREATE"> + <fail-message message="Security Error: to run $ {operationName} you must have the FACILITY_CREATE or FACILITY_ADMIN permission"/>
+        </check-permission>
+ <check-permission permission="FACILITY" action="_UPDATE"> + <fail-message message="Security Error: to run $ {operationName} you must have the FACILITY_UPDATE or FACILITY_ADMIN permission"/>
+        </check-permission>
+ <call-simple-method method- name="checkCanChangeShipmentStatusPacked" xml- resource="component://product/script/org/ofbiz/shipment/ shipment/ShipmentServices.xml"/> - <simple-method method-name="updatePoOnReceiveInventory" short-description="Update order items if quantity received is higher than quantity on purchase order"> - <set field="quantityAccepted" from- field="parameters.quantityAccepted" type="BigDecimal"/> - <entity-one entity-name="OrderItem" value- field="orderItem"/> - <if-compare-field field="orderItem.quantity" operator="less" to-field="quantityAccepted" type="BigDecimal"> - <set field="orderItem.quantity" from- field="quantityAccepted"/>
-            <store-value  value-field="orderItem"/>
-        </if-compare-field>
- <entity-and entity-name="ItemIssuance" list="itemIssuances"> - <field-map field-name="orderId" from- field="parameters.orderId"/> - <field-map field-name="orderItemSeqId" from- field="parameters.orderItemSeqId"/>
-        </entity-and>
- <first-from-list list="itemIssuances" entry="itemIssuance"/>
-        <if-not-empty field="itemIssuance">
- <if-compare-field field="itemIssuance.quantity" operator="less" to-field="quantityAccepted" type="BigDecimal"> - <set field="itemIssuance.quantity" from- field="quantityAccepted"/> - <set-service-fields service- name="updateItemIssuance" map="itemIssuance" to- map="updateItemIssuanceMap"/> - <call-service service- name="updateItemIssuance" in-map-name="updateItemIssuanceMap"/>
+        <!-- get orderItem -->
+ <entity-one entity-name="OrderItem" value- field="orderItem" auto-field-map="true"/>
+        <!-- get orderItemShipGroupAssoc -->
+ <entity-one entity-name="OrderItemShipGroupAssoc" value-field="orderItemShipGroupAssoc" auto-field-map="true"/>
+        <!-- get shipment -->
+ <entity-one entity-name="Shipment" value- field="shipment" auto-field-map="true"/> + + <!-- try to find an existing shipmentItem and attach to it, if none found create a new shipmentItem --> + <!-- if there is NO productId on the orderItem, ALWAYS create a new shipmentItem -->
+        <if-not-empty field="orderItem.productId">
+ <entity-condition entity-name="ShipmentItem" list="shipmentItems">
+                <condition-list combine="and">
+ <condition-expr field-name="productId" from-field="orderItem.productId"/> + <condition-expr field-name="shipmentId" from-field="shipment.shipmentId"/> + <condition-expr field- name="shipmentItemSeqId" from- field="parameters.shipmentItemSeqId" ignore-if-empty="true"/>
+                </condition-list>
+                <order-by field-name="shipmentItemSeqId"/>
+            </entity-condition>
+ <first-from-list entry="shipmentItem" list="shipmentItems"/>
+        </if-not-empty>
+
+        <if-empty field="shipmentItem">
+ <set from-field="orderItem.productId" field="shipmentItemCreate.productId"/> + <set from-field="parameters.shipmentId" field="shipmentItemCreate.shipmentId"/> + <set from-field="parameters.quantity" field="shipmentItemCreate.quantity"/> + <call-service service-name="createShipmentItem" in- map-name="shipmentItemCreate"> + <result-to-field result- name="shipmentItemSeqId" field="shipmentItemLookupPk.shipmentItemSeqId"/>
+            </call-service>
+ <set from-field="parameters.shipmentId" field="shipmentItemLookupPk.shipmentId"/> + <find-by-primary-key entity-name="ShipmentItem" map="shipmentItemLookupPk" value-field="shipmentItem"/> + + <!-- Create ItemIssuance for this ShipmentItem --> + <set from-field="parameters.quantity" field="itemIssuanceCreate.quantity"/> + <set from-field="shipmentItem.shipmentId" field="itemIssuanceCreate.shipmentId"/> + <set from-field="shipmentItem.shipmentItemSeqId" field="itemIssuanceCreate.shipmentItemSeqId"/> + <set from-field="orderItem.orderId" field="itemIssuanceCreate.orderId"/> + <set from-field="orderItem.orderItemSeqId" field="itemIssuanceCreate.orderItemSeqId"/> + + <if-not-empty field="orderItemShipGroupAssoc"> + <!-- If we have a ShipGroup Assoc for this Item to focus on, set that; this is mostly the case for purchase orders and such --> + <set from- field="orderItemShipGroupAssoc.shipGroupSeqId" field="itemIssuanceCreate.shipGroupSeqId"/>
+            </if-not-empty>
+
+ <set from-field="userLogin.userLoginId" field="itemIssuanceCreate.issuedByUserLoginId"/> + <call-service service-name="createItemIssuance" in- map-name="itemIssuanceCreate">
+                <result-to-field result-name="itemIssuanceId"/>
+            </call-service>
+        <else>
+ <call-simple-method method- name="getTotalIssuedQuantityForOrderItem" xml- resource="component://product/script/org/ofbiz/shipment/ issuance/IssuanceServices.xml"/> + <call-simple-method method- name="getReceivedQuantityForOrderItem"/> + <set field="receivedQuantity" value="$ {receivedQuantity + parameters.quantity}" type="BigDecimal"/> + <if-compare-field field="totalIssuedQuantity" operator="less" to-field="receivedQuantity" type="BigDecimal"> + <set field="quantityToAdd" value="$ {receivedQuantity - totalIssuedQuantity}" type="BigDecimal"/> + <set field="shipmentItem.quantity" value="$ {shipmentItem.quantity + quantityToAdd}" type="BigDecimal"/>
+                <store-value value-field="shipmentItem"/>
+ <set field="shipmentItemSeqId" from- field="shipmentItem.shipmentItemSeqId"/> + + <entity-and list="itemIssuances" entity-name="ItemIssuance"> + <field-map field-name="orderId" from- field="orderItem.orderId"/> + <field-map field-name="orderItemSeqId" from-field="orderItem.orderItemSeqId"/> + <field-map field-name="shipmentId" from- field="shipmentItem.shipmentId"/> + <field-map field-name="shipmentItemSeqId" from-field="shipmentItem.shipmentItemSeqId"/> + <field-map field-name="shipGroupSeqId" from-field="orderItemShipGroupAssoc.shipGroupSeqId"/>
+                    <order-by field-name="-issuedDateTime"/>
+                </entity-and>
+ <first-from-list entry="itemIssuance" list="itemIssuances"/> + <set field="itemIssuance.quantity" value="$ {itemIssuance.quantity + quantityToAdd}" type="BigDecimal"/>
+                <store-value value-field="itemIssuance"/>
+ <set field="itemIssuanceId" from- field="itemIssuance.itemIssuanceId"/>
          </if-compare-field>
+        </else>
+        </if-empty>
+
+ <call-simple-method method-name="associateIssueRoles" xml-resource="component://product/script/org/ofbiz/shipment/ issuance/IssuanceServices.xml"/>
+
+ <set-service-fields service- name="receiveInventoryProduct" map="parameters" to- map="receiveInventoryProductCtx"/> + <set field="receiveInventoryProductCtx.shipmentItemSeqId" from- field="shipmentItemSeqId"/> + <set field="receiveInventoryProductCtx.itemIssuanceId" from-field="itemIssuanceId"/> + <call-service service-name="receiveInventoryProduct" in-map-name="receiveInventoryProductCtx">
+            <result-to-result result-name="inventoryItemId"/>
+        </call-service>
+    </simple-method>
+ + <simple-method method- name="getReceivedQuantityForOrderItem" short- description="Computes the till now received quantity from all ShipmentReceipts"> + <set field="receivedQuantity" type="BigDecimal" value="0"/> + <entity-and list="shipmentReceipts" entity- name="ShipmentReceipt"> + <field-map field-name="orderId" from- field="orderItem.orderId"/> + <field-map field-name="orderItemSeqId" from- field="orderItem.orderItemSeqId"/>
+        </entity-and>
+ <iterate entry="shipmentReceipt" list="shipmentReceipts"> + <set field="receivedQuantity" value="$ {receivedQuantity + shipmentReceipt.quantityAccepted}" type="BigDecimal"/>
+        </iterate>
+    </simple-method>
+
+ <simple-method method- name="updateIssuanceShipmentAndPoOnReceiveInventory" short- description="Update issuance, shipment and order items if quantity received is higher than quantity on purchase order"> + <entity-one value-field="orderItem" entity- name="OrderItem"/> + <set field="unitCost" from-field="parameters.unitCost" type="BigDecimal"/> + <if-compare-field field="unitCost" operator="not- equals" to-field="orderItem.unitPrice"> + <set field="orderItem.unitPrice" from- field="unitCost"/>
+            <store-value value-field="orderItem"/>
+        </if-compare-field>
+ <call-simple-method method- name="getReceivedQuantityForOrderItem"/> + <if-compare-field field="orderItem.quantity" operator="less" to-field="receivedQuantity" type="BigDecimal"> + <set field="orderItem.quantity" from- field="receivedQuantity"/>
+            <store-value value-field="orderItem"/>
+        </if-compare-field>
+        <if-not-empty field="parameters.shipmentId">
+            <if-not-empty field="orderItem.productId">
+ <call-simple-method method- name="getTotalIssuedQuantityForOrderItem" xml- resource="component://product/script/org/ofbiz/shipment/ issuance/IssuanceServices.xml"/> + <if-compare-field field="totalIssuedQuantity" operator="less" to-field="receivedQuantity" type="BigDecimal"> + <set field="quantityToAdd" value="$ {receivedQuantity - totalIssuedQuantity}" type="BigDecimal"/> + <entity-condition entity- name="ShipmentItem" list="shipmentItems">
+                        <condition-list combine="and">
+ <condition-expr field- name="productId" from-field="orderItem.productId"/> + <condition-expr field- name="shipmentId" from-field="parameters.shipmentId"/> + <condition-expr field- name="shipmentItemSeqId" from- field="parameters.shipmentItemSeqId" ignore-if-empty="true"/>
+                        </condition-list>
+ <order-by field- name="shipmentItemSeqId"/>
+                    </entity-condition>
+ <first-from-list entry="shipmentItem" list="shipmentItems"/> + <set field="shipmentItem.quantity" value="$ {shipmentItem.quantity + quantityToAdd}" type="BigDecimal"/>
+                    <store-value value-field="shipmentItem"/>
+ + <entity-and list="itemIssuances" entity-name="ItemIssuance"> + <field-map field-name="orderId" from- field="parameters.orderId"/> + <field-map field-name="orderItemSeqId" from-field="parameters.orderItemSeqId"/> + <field-map field-name="shipmentId" from-field="parameters.shipmentId"/> + <field-map field- name="shipmentItemSeqId" from- field="shipmentItem.shipmentItemSeqId"/>
+                        <order-by field-name="-issuedDateTime"/>
+                    </entity-and>
+ <first-from-list entry="itemIssuance" list="itemIssuances"/> + <set field="itemIssuance.quantity" value="$ {itemIssuance.quantity + quantityToAdd}" type="BigDecimal"/>
+                    <store-value value-field="itemIssuance"/>
+ + <set field="itemIssuanceId" from-field="itemIssuance.itemIssuanceId"/> + <call-simple-method method- name="associateIssueRoles" xml-resource="component://product/ script/org/ofbiz/shipment/issuance/IssuanceServices.xml"/>
+                </if-compare-field>
+            </if-not-empty>
      </if-not-empty>
  </simple-method>
Modified: ofbiz/trunk/applications/product/servicedef/secas.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/servicedef/secas.xml?rev=786013&r1=786012&r2=786013&view=diff <http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/servicedef/secas.xml?rev=786013&r1=786012&r2=786013&view=diff > = = = = = = = = = = = = = ================================================================= --- ofbiz/trunk/applications/product/servicedef/secas.xml (original) +++ ofbiz/trunk/applications/product/servicedef/secas.xml Thu Jun 18 10:48:09 2009
@@ -117,4 +117,10 @@
<condition field-name="orderIdList" operator="is-not- empty"/> <action service="convertPickOrderIdListToHeaders" mode="sync"/>
  </eca>
+    +    <eca service="receiveInventoryProduct" event="commit">
+ <condition field-name="facilityId" operator="is-not- empty"/> + <condition field-name="orderId" operator="is-not- empty"/> + <action service="updateIssuanceShipmentAndPoOnReceiveInventory" mode="sync"/>
+    </eca>
</service-eca>
Modified: ofbiz/trunk/applications/product/servicedef/ services_shipment.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/servicedef/services_shipment.xml?rev=786013&r1=786012&r2=786013&view=diff <http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/servicedef/services_shipment.xml?rev=786013&r1=786012&r2=786013&view=diff > = = = = = = = = = = = = = ================================================================= --- ofbiz/trunk/applications/product/servicedef/ services_shipment.xml (original) +++ ofbiz/trunk/applications/product/servicedef/ services_shipment.xml Thu Jun 18 10:48:09 2009
@@ -709,12 +709,11 @@
      <override name="facilityId" optional="false"/>
  </service>
- <service name="issueOrderItemToShipmentAndReceiveAgainstPO" engine="group" auth="true"> + <service name="issueOrderItemToShipmentAndReceiveAgainstPO" engine="simple" transaction-timeout="600" + location="component://product/script/org/ofbiz/ shipment/receipt/ShipmentReceiptServices.xml" invoke="issueOrderItemToShipmentAndReceiveAgainstPO" auth="true"> <description>Issues order item quantity specified to the shipment, then receives inventory for that item and quantity</ description>
-        <group>
- <invoke name="issueOrderItemToShipment" result-to- context="true"/> - <invoke name="receiveInventoryProduct" result-to- context="true"/>
-        </group>
+        <implements service="issueOrderItemToShipment"/>
+        <implements service="receiveInventoryProduct"/>
  </service>
   <service name="quickReceiveReturn" engine="simple"
@@ -875,4 +874,14 @@
<attribute name="body" type="String" mode="OUT" optional="true"/> <attribute name="messageWrapper" type="org.ofbiz.service.mail.MimeMessageWrapper" mode="OUT"/>
  </service>
+ <service name="updateIssuanceShipmentAndPoOnReceiveInventory" engine="simple" + location="component://product/script/org/ofbiz/ shipment/receipt/ShipmentReceiptServices.xml" invoke="updateIssuanceShipmentAndPoOnReceiveInventory"> + <description>Update issuance, shipment and order items if quantity received is higher than quantity on purchase order</ description> + <attribute name="orderId" type="String" mode="IN" optional="false"/> + <attribute name="orderItemSeqId" type="String" mode="IN" optional="false"/> + <attribute name="quantityAccepted" type="BigDecimal" mode="IN" optional="false"/> + <attribute name="shipmentId" type="String" mode="IN" optional="true"/> + <attribute name="shipmentItemSeqId" type="String" mode="IN" optional="true"/> + <attribute name="unitCost" type="String" mode="IN" optional="false"/>
+    </service>
</services>



Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to