Hi guys,
Today I faced a very typical issue while adding a new display field in InvnetOnHandItem. I had to show the sum of a quantity from a customized table based on ItemId and Warehouse. Now the problem here was the grouping between InventSum and InventDim due to which I was not getting the value of InventDimId in InventSum.
So after a lot of failed techniques, I found a solution to use the InventDim values and the code is below:
display public InventQtyReservOrdered ale_PendingVerificationQty(InventSum _inventSum)
{
InboundWebOrderLine inboundWebOrderLine;
InventDim joinDim, dimValues;
InventDimParm dimParm;
dimValues.data(_inventSum.joinChild());
dimParm.initFromInventDim(dimValues);
select sum(QtyOrdered) from inboundWebOrderLine
where inboundWebOrderLine.ItemId == _inventSum.ItemId
&& (inboundWebOrderLine.EcomMerchantLocation == dimValues.InventLocationId
|| inboundWebOrderLine.EcomMerchantLocation != '')
&& inboundWebOrderLine.EcomBridgeOrderItemStatus == EcomBridgeOrderItemStatus::Ordered;
return inboundWebOrderLine.QtyOrdered;
}
This method worked like a charm and a had sigh of relief. :)
Today I faced a very typical issue while adding a new display field in InvnetOnHandItem. I had to show the sum of a quantity from a customized table based on ItemId and Warehouse. Now the problem here was the grouping between InventSum and InventDim due to which I was not getting the value of InventDimId in InventSum.
So after a lot of failed techniques, I found a solution to use the InventDim values and the code is below:
display public InventQtyReservOrdered ale_PendingVerificationQty(InventSum _inventSum)
{
InboundWebOrderLine inboundWebOrderLine;
InventDim joinDim, dimValues;
InventDimParm dimParm;
dimValues.data(_inventSum.joinChild());
dimParm.initFromInventDim(dimValues);
select sum(QtyOrdered) from inboundWebOrderLine
where inboundWebOrderLine.ItemId == _inventSum.ItemId
&& (inboundWebOrderLine.EcomMerchantLocation == dimValues.InventLocationId
|| inboundWebOrderLine.EcomMerchantLocation != '')
&& inboundWebOrderLine.EcomBridgeOrderItemStatus == EcomBridgeOrderItemStatus::Ordered;
return inboundWebOrderLine.QtyOrdered;
}
This method worked like a charm and a had sigh of relief. :)
No comments:
Post a Comment