dw.order
Class ShippingOrderItem
Object
dw.object.Extensible
dw.order.AbstractItem
dw.order.ShippingOrderItem
One or more ShippingOrderItems are contained in a ShippingOrder, created using ShippingOrder.createShippingOrderItem(OrderItem, Quantity) and can be retrieved by ShippingOrder.getItems(). A ShippingOrderItem references a single OrderItem which in turn references a LineItem associated with an Order.
Constants
STATUS_CANCELLED  :  String = "CANCELLED"
Constant for Order Item Status CANCELLED
STATUS_CONFIRMED  :  String = "CONFIRMED"
Constant for Order Item Status CONFIRMED
STATUS_SHIPPED  :  String = "SHIPPED"
Constant for Order Item Status SHIPPED
STATUS_WAREHOUSE  :  String = "WAREHOUSE"
Constant for Order Item Status WAREHOUSE
Properties
basePrice  :  Money  (Read Only)
Price of a single unit before discount application.
parentItem  :  ShippingOrderItem
Returns null or the parent item.
quantity  :  Quantity  (Read Only)
The quantity of the shipping order item.

The Quantity is equal to the related line item quantity.

shippingOrderNumber  :  String  (Read Only)
The mandatory shipping order number of the related ShippingOrder.
status  :  EnumValue
Gets the order item status.

The possible values are STATUS_CONFIRMED, STATUS_WAREHOUSE, STATUS_SHIPPED, STATUS_CANCELLED.

trackingRefs  :  FilteringCollection  (Read Only)
Gets the tracking refs (tracking infos) the shipping order item is assigned to.
Constructor Summary
This class does not have a constructor, so you cannot create it directly.
Method Summary
addTrackingRef(trackingInfoID : String, quantity : Quantity) : TrackingRef
A shipping order item can be assigned to one or many tracking infos with different quantities.
applyPriceRate(factor : Decimal, divisor : Decimal, roundUp : boolean) : void
Apply a rate of (factor / divisor) to the prices in this item, with the option to half round up or half round down to the nearest cent if necessary.
getBasePrice() : Money
Price of a single unit before discount application.
getParentItem() : ShippingOrderItem
Returns null or the parent item.
getQuantity() : Quantity
The quantity of the shipping order item.
getShippingOrderNumber() : String
The mandatory shipping order number of the related ShippingOrder.
getStatus() : EnumValue
Gets the order item status.
getTrackingRefs() : FilteringCollection
Gets the tracking refs (tracking infos) the shipping order item is assigned to.
setParentItem(parentItem : ShippingOrderItem) : void
Set a parent item.
setStatus(status : String) : void
Sets the status.
split(quantity : Quantity) : ShippingOrderItem
Split the shipping order item.
split(quantity : Quantity, splitOrderItem : boolean) : ShippingOrderItem
Split the shipping order item.
Methods inherited from class AbstractItem
Methods inherited from class Extensible
Methods inherited from class Object
Method Detail
addTrackingRef
addTrackingRef(trackingInfoID : String, quantity : Quantity) : TrackingRef
A shipping order item can be assigned to one or many tracking infos with different quantities. For example an item with quantity 3 may have been shipped in 2 packages, each represented by its own tracking info - 2 TrackingRefs would exist with quantities 1 and 2.

This method creates and adds a new tracking reference to this shipping order item for a given tracking info and quantity. The new instance is returned.

Parameters:
trackingInfoID - the id of the tracking info
quantity - the quantity the which is assigned to the tracking info for this shipping order item. Optional (null is allowed).
Returns:
the new tracking reference
See Also:

applyPriceRate
applyPriceRate(factor : Decimal, divisor : Decimal, roundUp : boolean) : void
Apply a rate of (factor / divisor) to the prices in this item, with the option to half round up or half round down to the nearest cent if necessary.

Examples:
TaxBasis beforefactordivisorroundupCalculationTaxBasis after
$10.0012true10*1/2=$5.00
$10.00910true10*9/10=$9.00
$10.0013true10*1/3=3.3333=$3.33
$2.4712true2.47*1/2=1.235=$1.24
$2.4712false2.47*1/2=1.235=$1.23

Which prices are updated?:
The rate described above is applied to tax-basis and tax then the net-price and gross-price are recalculated by adding / subtracting depending on whether the order is based on net price.

Example (order based on net price)
New TaxBasis:$10.00, Tax:$1.00, NetPrice=TaxBasis=$10.00, GrossPrice=TaxBasis+Tax=$11.00

Example (order based on gross price)
New TaxBasis:$10.00, Tax:$1.00, NetPrice=TaxBasis-tax=$9.00, GrossPrice=TaxBasis=$10.00

Parameters:
factor - factor used to calculate rate
divisor - divisor used to calculate rate
roundUp - whether to round up or down on 0.5

getBasePrice
getBasePrice() : Money
Price of a single unit before discount application.
Returns:
Price of a single unit before discount application.

getParentItem
getParentItem() : ShippingOrderItem
Returns null or the parent item.
Returns:
null or the parent item.

getQuantity
getQuantity() : Quantity
The quantity of the shipping order item.

The Quantity is equal to the related line item quantity.

Returns:
the quantity

getShippingOrderNumber
getShippingOrderNumber() : String
The mandatory shipping order number of the related ShippingOrder.
Returns:
the shipping order number.

getStatus
getStatus() : EnumValue
Gets the order item status.

The possible values are STATUS_CONFIRMED, STATUS_WAREHOUSE, STATUS_SHIPPED, STATUS_CANCELLED.

Returns:
the status

getTrackingRefs
getTrackingRefs() : FilteringCollection
Gets the tracking refs (tracking infos) the shipping order item is assigned to.
Returns:
the tracking refs ( tracking infos - TrackingRef ) the shipping order item is assigned to.
See Also:

setParentItem
setParentItem(parentItem : ShippingOrderItem) : void
Set a parent item. The parent item must belong to the same ShippingOrder. An infinite parent-child loop is disallowed as is a parent-child depth greater than 10. Setting a parent item indicates a dependency of the child item on the parent item, and can be used to form a parallel structure to that accessed using ProductLineItem.getParent().
Parameters:
parentItem - The parent item, null is allowed

setStatus
setStatus(status : String) : void
Sets the status. See ShippingOrder for details of shipping order status transitions. Do not use this method to set a shipping order to status WAREHOUSE, instead use ShippingOrder.setStatusWarehouse()

This also triggers the setting of the status of the LineItem when appropriate. Setting this status can also have an impact on the order status, accessed using Order.getStatus() and the shipping order status, accessed using ShippingOrder.getStatus().

Parameters:
status - the status
Throws:
NullPointerException - if status is null
IllegalArgumentException - if the status transition to the status is not allowed

split
split(quantity : Quantity) : ShippingOrderItem
Split the shipping order item.

This will also lead to a split of the related LineItem. Split means that for the passed quantity a new item is created with this quantity as an exact copy of this item. The remaining amount will stay in this item.

If quantity is equal to getQuantity() no split is done and this item is returned itself.

This method is equivalent to split(Quantity, Boolean) called with splitOrderItem equals to true.

Parameters:
quantity - the quantity for the newly created item
Returns:
the newly created item or this item
Throws:
IllegalArgumentException - if quantity is greater than getQuantity()

split
split(quantity : Quantity, splitOrderItem : boolean) : ShippingOrderItem
Split the shipping order item.

This will also lead to a split of the related LineItem when splitOrderItem is true. Split means that for the passed quantity a new item is created with this quantity as an exact copy of this item. The remaining amount will stay in this item.

If quantity is equal to getQuantity() no split is done and this item is returned itself.

Parameters:
quantity - the quantity for the newly created item
splitOrderItem -
  • true the related LineItem will be splitted too
  • false the related LineItem will not be splitted
Returns:
the newly created item or this item
Throws:
IllegalArgumentException - if quantity is greater than getQuantity()