OrderPrepare URL
Prepares an order by determining its prices, discounts, shipping charges, and taxes. If an order reference number is not specified, all current pending orders will be prepared for the current customer at the given store.
URL
OrderPrepare
Controller command
com.ibm.commerce.order.commands.OrderPrepareCmd
Implementation class
com.ibm.commerce.order.commands.OrderPrepareCmdImpl
Commands called
ValidateShippingAdjustmentCmd
PrepareOrderCmd
URL structure
- http:// host_name/ path/
- The fully qualified name of your WebSphere Commerce Server and the configuration path.
Parameter values
- langId
- Sets or resets the preferred language for the duration of the session; the supported languages for a store are found in the STORELANG table
- forUser
- The logon ID of the user on whose behalf the command runs; only a person with the authority to process orders can specify this parameter.
- forUserId
- Same as forUser, but identifying the user by the internal user ID as found in the USERS table.
- URL
- Required: The URL to be called when the command completes successfully.
- storeId
- The reference number of the store for which the order is to be prepared.
- orderId
- The reference number of the order to be prepared. If this parameter is omitted, this command defaults to the current pending orders. See Order abbreviations for a description. This parameter can be repeated.
- outOrderName
- Specifies the names of name-value pairs to be added to the redirection URL. The value of each added name-value pair is the reference number of the prepared order. If the name is not provided, the default name orderId is used. This parameter can be repeated.
- commit
- Controls whether each order is processed in a separate database transaction. A value of 0 specifies that all orders be prepared in one transaction; a value of 1 specifies that a new transaction is started for each order to be prepared. The default value of this parameter is 0.
- remerge
- A list of the order items that are to be merged with other order items in the same order and with the same correlationGroup attribute, if possible. Order items are not merged unless their InventoryStatus is NALC or they are specified by one or more of the allocate, backorder, and reverse parameters. This parameter can be repeated.
- merge
- A list of order items that are to be merged with other order items in the same order if possible, regardless of their correlationGroup attributes. This parameter can be repeated.
- check
- A list of order items that are to be checked by the CheckInventory task command. This parameter can be repeated.
- allocate
- A list of order items that are to be allocated from existing inventory. This parameter can be repeated.
- backorder
- A list of order items that are to be allocated from expected inventory. This parameter can be repeated.
- reverse
- A list of order items whose allocations are to be released (that is, de-allocated from existing or expected inventory, as appropriate). This parameter can be repeated.
- keepAutoAddedOrderItemsBeforeCalculate
- Indicates if the automatically-added order items in the order need to be kept (true) or removed (false) before the order is calculated. The default value is false.
The default ATP parameter values are as follows:
- remerge=*
- merge=*n
- check=*n
- allocate=*
- backorder=*
- reverse=*
reverse=*n
with allocate=*
.- Go to the WC_eardir/xml/config/ directory.
- Open the wc-server.xml file.
- Add the following line any place between
<InstanceProperties>
and</InstanceProperties>
as a child ofInstanceProperties
:<ATPInventoryPerformanceParameters lockItemSpecEnabled="false"/>
Example
The following example prepares an order with reference number 1 and redirects to the OrderDisplay command to view this order.
http://myhostname/webapp/wcs/stores/servlet/OrderPrepare?orderId=1
&URL=/webapp/commerce/OrderDisplay
Behavior
Check if the order is locked by the current CSR. If the order is not locked and called by a CSR, or if it is locked by another CSR, an exception is thrown
Call ValidateShippingAdjustmentCmd to validate that the order has not changed since a shipping adjustment was added
Call PrepareOrderCmd to do pricing, inventory and calculation on the order
Exception conditions
- If no orders match the specified parameters, the command throws the ECApplicationException exception specifying the ErrorOrderNoneCmd error view command.
- If any of the products or items in the order are not buyable, the command throws the ECApplicationException exception specifying the BadOrderDataErrorView error view command. For further information about exception conditions for order errors, refer to Error Codes for Order Error Views.
- The command throws the ECApplicationException exception, specifying
the RetrievePriceErrorView error
view command if any of the following conditions are true:
- Input trading agreements (contracts) are not valid or eligible for use.
- Trading agreements that are used in the order apply payment methods that are incompatible.
- Price Lists cannot be retrieved for any of the products or items.
- If any calculation indicated by the USAGEFLAGS column in the STENCALUSG table was unable to calculate a value for each order item in an order, and if the USAGEFLAGS column in the STENCALUSG table indicates that a value must be calculated, then an ECApplicationException exception is thrown.
- If an order has no order items, an ECApplicationException exception is thrown.