Class SapOmsSendOrderToDataHubAction

java.lang.Object
de.hybris.platform.processengine.action.AbstractAction<T>
de.hybris.platform.processengine.action.AbstractProceduralAction<OrderProcessModel>
de.hybris.platform.sap.saporderexchangeoms.actions.SapOmsSendOrderToDataHubAction
All Implemented Interfaces:
de.hybris.platform.processengine.spring.Action<OrderProcessModel>
Direct Known Subclasses:
SapCpiOmsOrderOutboundAction

public class SapOmsSendOrderToDataHubAction extends de.hybris.platform.processengine.action.AbstractProceduralAction<OrderProcessModel>
To send the order to Data Hub to be processed and sent as an IDoc to the SAP back end. The retry logic is applied in case the sending did not succeed. The order export status is set to EXPORTED / NOT EXPORTED accordingly.
  • Constructor Details

    • SapOmsSendOrderToDataHubAction

      public SapOmsSendOrderToDataHubAction()
  • Method Details

    • executeAction

      public void executeAction(OrderProcessModel process) throws de.hybris.platform.task.RetryLaterException
      Specified by:
      executeAction in class de.hybris.platform.processengine.action.AbstractProceduralAction<OrderProcessModel>
      Throws:
      de.hybris.platform.task.RetryLaterException
    • groupOrderConsignments

      protected Set<Set<ConsignmentModel>> groupOrderConsignments(OrderModel order)
      Group the order consignments by SAP logical system and SAP sales organization
      Parameters:
      order -
      Returns:
    • getSapSalesOrgName

      protected String getSapSalesOrgName(OrderModel order, ConsignmentModel consignment)
      Parameters:
      order -
      consignment -
      Returns:
    • getSapLogSysName

      protected String getSapLogSysName(OrderModel order, ConsignmentModel consignment)
      Parameters:
      order -
      consignment -
      Returns:
    • sendOrder

      protected void sendOrder(OrderModel order, List<SendToDataHubResult> results, List<OrderHistoryEntryModel> orderHistoryList, Set<ConsignmentModel> consignments, List<SAPOrderModel> sapOrders)
      Send SAP order to data-hub
      Parameters:
      order -
      results -
      orderHistoryList -
      consignments -
    • createSapOrders

      protected void createSapOrders(List<SAPOrderModel> sapOrders, OrderHistoryEntryModel orderHistoryEntry, Set<ConsignmentModel> consignments)
      Create an SAP order and add it to the given list of orders
      Parameters:
      sapOrders -
      orderHistoryEntry -
      consignments -
    • saveSapOrders

      protected void saveSapOrders(OrderModel order, List<SAPOrderModel> sapOrders)
      Save SAP orders
      Parameters:
      order -
      sapOrders -
    • saveOrderHistory

      protected void saveOrderHistory(List<OrderHistoryEntryModel> orderHistoryList)
      Save order history
      Parameters:
      orderHistoryList -
    • createOrderHistory

      protected OrderHistoryEntryModel createOrderHistory(OrderModel order, String logicalSystem)
      Create an entry to the order history for every SAP order sent to data-hub
      Parameters:
      order -
      logicalSystem -
      Returns:
    • startSapConsignmentSubProcess

      protected void startSapConsignmentSubProcess(Collection<ConsignmentModel> consignments, OrderProcessModel process)
      * Start an SAP consignment process for every hybris consignment
      Parameters:
      consignments -
      process -
    • handleRetry

      protected void handleRetry(OrderProcessModel process) throws de.hybris.platform.task.RetryLaterException
      Parameters:
      process -
      Throws:
      de.hybris.platform.task.RetryLaterException
    • setOrderStatus

      protected void setOrderStatus(OrderModel order, ExportStatus exportStatus)
      Parameters:
      order -
      exportStatus -
    • resetEndMessage

      protected void resetEndMessage(OrderProcessModel process)
      Parameters:
      process -
    • getTimeService

      protected de.hybris.platform.servicelayer.time.TimeService getTimeService()
    • setTimeService

      public void setTimeService(de.hybris.platform.servicelayer.time.TimeService timeService)
    • getSapPlantLogSysOrgService

      protected SapPlantLogSysOrgService getSapPlantLogSysOrgService()
    • setSapPlantLogSysOrgService

      public void setSapPlantLogSysOrgService(SapPlantLogSysOrgService sapPlantLogSysOrgService)
    • getOrderService

      protected de.hybris.platform.order.OrderService getOrderService()
    • setOrderService

      public void setOrderService(de.hybris.platform.order.OrderService orderService)
    • getOrderHistoryService

      protected de.hybris.platform.orderhistory.OrderHistoryService getOrderHistoryService()
    • setOrderHistoryService

      public void setOrderHistoryService(de.hybris.platform.orderhistory.OrderHistoryService orderHistoryService)
    • getSendOrderToDataHubHelper

      protected SendToDataHubHelper<OrderModel> getSendOrderToDataHubHelper()
    • setSendOrderToDataHubHelper

      public void setSendOrderToDataHubHelper(SendToDataHubHelper<OrderModel> sendOrderAsCSVHelper)
    • getMaxRetries

      protected int getMaxRetries()
    • setMaxRetries

      public void setMaxRetries(int maxRetries)
    • getRetryDelay

      protected int getRetryDelay()
    • setRetryDelay

      public void setRetryDelay(int retryDelay)
    • getBusinessProcessService

      protected de.hybris.platform.processengine.BusinessProcessService getBusinessProcessService()
    • setBusinessProcessService

      public void setBusinessProcessService(de.hybris.platform.processengine.BusinessProcessService businessProcessService)