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.
-
Nested Class Summary
Nested classes/interfaces inherited from class de.hybris.platform.processengine.action.AbstractProceduralAction
de.hybris.platform.processengine.action.AbstractProceduralAction.Transition -
Field Summary
Fields inherited from class de.hybris.platform.processengine.action.AbstractAction
modelService, processParameterHelperFields inherited from interface de.hybris.platform.processengine.spring.Action
ERROR_RETURN_CODE, RETRY_RETURN_CODE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected OrderHistoryEntryModelcreateOrderHistory(OrderModel order, String logicalSystem) Create an entry to the order history for every SAP order sent to data-hubprotected voidcreateSapOrders(List<SAPOrderModel> sapOrders, OrderHistoryEntryModel orderHistoryEntry, Set<ConsignmentModel> consignments) Create an SAP order and add it to the given list of ordersvoidexecuteAction(OrderProcessModel process) protected de.hybris.platform.processengine.BusinessProcessServiceprotected intprotected de.hybris.platform.orderhistory.OrderHistoryServiceprotected de.hybris.platform.order.OrderServiceprotected intprotected StringgetSapLogSysName(OrderModel order, ConsignmentModel consignment) protected SapPlantLogSysOrgServiceprotected StringgetSapSalesOrgName(OrderModel order, ConsignmentModel consignment) protected SendToDataHubHelper<OrderModel>protected de.hybris.platform.servicelayer.time.TimeServiceprotected Set<Set<ConsignmentModel>>groupOrderConsignments(OrderModel order) Group the order consignments by SAP logical system and SAP sales organizationprotected voidhandleRetry(OrderProcessModel process) protected voidresetEndMessage(OrderProcessModel process) protected voidsaveOrderHistory(List<OrderHistoryEntryModel> orderHistoryList) Save order historyprotected voidsaveSapOrders(OrderModel order, List<SAPOrderModel> sapOrders) Save SAP ordersprotected voidsendOrder(OrderModel order, List<SendToDataHubResult> results, List<OrderHistoryEntryModel> orderHistoryList, Set<ConsignmentModel> consignments, List<SAPOrderModel> sapOrders) Send SAP order to data-hubvoidsetBusinessProcessService(de.hybris.platform.processengine.BusinessProcessService businessProcessService) voidsetMaxRetries(int maxRetries) voidsetOrderHistoryService(de.hybris.platform.orderhistory.OrderHistoryService orderHistoryService) voidsetOrderService(de.hybris.platform.order.OrderService orderService) protected voidsetOrderStatus(OrderModel order, ExportStatus exportStatus) voidsetRetryDelay(int retryDelay) voidsetSapPlantLogSysOrgService(SapPlantLogSysOrgService sapPlantLogSysOrgService) voidsetSendOrderToDataHubHelper(SendToDataHubHelper<OrderModel> sendOrderAsCSVHelper) voidsetTimeService(de.hybris.platform.servicelayer.time.TimeService timeService) protected voidstartSapConsignmentSubProcess(Collection<ConsignmentModel> consignments, OrderProcessModel process) * Start an SAP consignment process for every hybris consignmentMethods inherited from class de.hybris.platform.processengine.action.AbstractProceduralAction
execute, getTransitionsMethods inherited from class de.hybris.platform.processengine.action.AbstractAction
createTransitions, getModelService, getProcessParameterHelper, getProcessParameterValue, refresh, save, setModelService, setOrderStatus, setProcessParameterHelperMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface de.hybris.platform.processengine.spring.Action
getCurrentActionDefinitionContext
-
Constructor Details
-
SapOmsSendOrderToDataHubAction
public SapOmsSendOrderToDataHubAction()
-
-
Method Details
-
executeAction
public void executeAction(OrderProcessModel process) throws de.hybris.platform.task.RetryLaterException - Specified by:
executeActionin classde.hybris.platform.processengine.action.AbstractProceduralAction<OrderProcessModel>- Throws:
de.hybris.platform.task.RetryLaterException
-
groupOrderConsignments
Group the order consignments by SAP logical system and SAP sales organization- Parameters:
order-- Returns:
-
getSapSalesOrgName
- Parameters:
order-consignment-- Returns:
-
getSapLogSysName
- 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
Save SAP orders- Parameters:
order-sapOrders-
-
saveOrderHistory
Save order history- Parameters:
orderHistoryList-
-
createOrderHistory
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
- Parameters:
order-exportStatus-
-
resetEndMessage
- Parameters:
process-
-
getTimeService
protected de.hybris.platform.servicelayer.time.TimeService getTimeService() -
setTimeService
public void setTimeService(de.hybris.platform.servicelayer.time.TimeService timeService) -
getSapPlantLogSysOrgService
-
setSapPlantLogSysOrgService
-
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
-
setSendOrderToDataHubHelper
-
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)
-