cancel
Showing results for 
Search instead for 
Did you mean: 

sourcing and allocation where will happen

0 Kudos

Hi, Anyone can help me to understand ,exactly when order split will happen OOTB and which strategy it is using. I referred the wiki url: https://wiki.hybris.com/display/release5/Order+Management+Services . 1) I am getting little confusion here about "Item Grouping" and "Allocation". 2) Where these sourcing and allocation steps will happen, I mean from commerce side or OMS side. 3) Is consignment and shipment are same?

I am using commerce suite "hybris-commerce-suite-5.5.1.1" and hybris-OMS.

Thanks, Subbu.

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hello Subbu: 1) I am getting little confusion here about "Item Grouping" and "Allocation". "Item Grouping" is a strategy of sourcing which means, in OMS, its responsibility is split order lines into order line quantities by using specific logic. "Allocation" means the action of grouping order items into shipments, this is a concept related to shipment while "item grouping" is a concept related to sourcing. In OMS, there are some default strategy for source, please find the detail configuration as below:

 <!-- Sourcing -->
     <alias name="defaultSourcingService" alias="sourcingService" />
     <bean id="defaultSourcingService"
         class="com.hybris.oms.service.sourcing.impl.DefaultSourcingService">
         <property name="sourcingStrategies" ref="sourcingStrategies" />
         <property name="atsDescriptor" value="ATS" />
         <property name="distanceDescriptor" value="DISTANCE" />
         <property name="sequenceDescriptor" value="SEQUENCE" />
         <property name="sourcingResultBuilder" ref="sourcingResultBuilder" />
         <property name="orderLineSplitStrategy" ref="orderLineSplitStrategy" />
         <property name="locationsFilterStrategy" ref="locationsFilterStrategy" />
         <property name="contextBuilder" ref="sourcingContextBuilder" />
         <property name="sourcingMatrixBuilder" ref="sourcingMatrixBuilder" />
         <property name="comparatorFactory" ref="sourcingComparatorFactory" />
         <property name="resultPersistenceStrategy" ref="sourcingResultPersistenceStrategy" />
         <property name="orderService" ref="orderService" />
         <property name="inventoryService" ref="inventoryService" />
         <property name="atsService" ref="atsService" />
         <property name="lineActionsStrategy" ref="lineActionsStrategy" />
     </bean>
     <util:list id="sourcingStrategies">
         <ref bean="sourcingPickupInStoreStrategy" />
         <ref bean="sourcingWholeOrderStrategy" />
         <ref bean="sourcingItemGroupingStrategy" />
         <ref bean="sourcingWholeOrderLineStrategy" />
         <ref bean="sourcingSplitOrderLineStrategy" />
     </util:list>

 
  

SourcingItemGroupingStrategy tries to do the following action: "This strategy is only executed if item grouping is configured. Sources the order assigning as many items as possible to the first location, assigning further items from the remaining locations. There might remain some unassigned quantity if the process is finished. Stops processing the strategy list."

2) Where these sourcing and allocation steps will happen, I mean from commerce side or OMS side. In commerce, after place order, hybris commerce will st business process called 'order-process', there is an action named 'splitOrderAction', in my opinion, this is the sourcing in hybris. Then this action will st sub process called 'consignment-process', this process provides interface to interactive with warehouse, you could add your shipping logic here.

In OMS, the workflow engine is replaced with activity, sourcing and allocation happens in different node in workflow. Please find the detail in Order_Process.bpmn and Shipment_Process.bpmn in oms-service project. Basically speaking, in OMS, sourcing is happened in fullfillment node in Order_Process.bpmn and allocation happened in Shipment_Process.bpmn.

3) Is consignment and shipment are same? Consignment only exits in commerce, and in the default implementation, consignment is very similar to shipment. In OMS, there is no consignment, after souring, order line items are turned to one or many order line quantity object, but this is not equals to shipment, we could group them or separate them for shipping, please find the detail in Shipment_Process.