This pipelet creates and places an Order from the specified Basket. An optional OrderNo can be specified. Otherwise,
the pipelet generates and assigns a number for the new order.
If the order could be created successfully, the basket is marked for removal.
This pipelet does not create an order and ends on the ERROR exit if any of the following conditions are encountered:
- specified order no is already assigned to an existing order
- basket neither contains a product nor a gift certificate line item (basket is empty)
- any of the totals (net, gross, tax) of the basket is N/A
- any campaign-based coupon in the basket is invalid (see dw.order.CouponLineItem.isValid())
- the basket represents an order being edited, but the order has been already been replaced by another order
- the basket represents an order being edited, but the customer associated with the original order is not the same as the current customer
The pipelet ignores all empty shipments of the basket. A shipment is empty if
- it contains no product or gift certificate line items
- all total prices (net, gross, tax) are 0.0
If the basket contains ProductLineItems with associated ProductListItems, the pipelet updates the purchase
history of these ProductListItems. For example, if the basket contains items added from a GiftRegistry,
the purchase history of the respective GiftRegistry items is updated.
If the basket represents an order that is being edited, this pipelet:
- 1. Creates a new Order from the basket.
- 2. Updates the original Order with the Order that replaced it.
- 3. Sets the status of the original order to 'replaced'.
The inventory items reserved previously for the order are finalized when the transaction is committed.
Since api version 2.10.6 this is only the delta changes compared with an order being replaced.