Order post-processing APIs (gillian) are now inactive by default and will throw
an exception if accessed. Activation needs preliminary approval by Product Management.
Please contact support in this case. Existing customers using these APIs are not
affected by this change and can use the APIs until further notice.
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).
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 before
factor
divisor
roundup
Calculation
TaxBasis after
$10.00
1
2
true
10*1/2=
$5.00
$10.00
9
10
true
10*9/10=
$9.00
$10.00
1
3
true
10*1/3=3.3333=
$3.33
$2.47
1
2
true
2.47*1/2=1.235=
$1.24
$2.47
1
2
false
2.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
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().
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
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()
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 - <li>true the related LineItem will be splitted too</li> <li>false the related LineItem will not be splitted</li> </ul>
Returns:
the newly created item or this item
Throws:
IllegalArgumentException - if quantity is greater than getQuantity()