Monday, 30 June 2014

Websphere Commerce ATP and Non ATP Inventory


ATP Inventory
The ATP inventory model enables you to allocate stock from existing inventory or back order from expected inventory. You can also obtain an estimated availability time for each order item once it has been added into the shopping cart. The ATP also supports allocating stocks for future order processing.
Non-ATP Inventory
The non-ATP inventory model supports inventory operations that are only based on existing on-hand inventory.
No Inventory
The no inventory model assumes that all products have infinite quantities. When the products in a store are virtual products, digital downloadable products, or electronic assets, such as downloadable images or music.
External Inventory
External inventory is used for Websphere Commerce and some external inventory systems integration.External inventory is the legacy inventory implementation model where WebSphere Commerce directly consumes the inventory information from an external system.

ATP vs Non ATP
The concept of fulfillment is not valid and as inventory is not managed by Commerce when ATP is disabled.With ATP disabled, there is no work flow in WCS to manage an order from state C to the Shipped and that pick batch, back order, release order to ship are no more useable.

ATP inventory can split order item due to insufficient inventory on one fulfilment center.Non ATP model  can’t split orderitems.
 

configuration Data

SELECT INVENTORYSYSTEM FROM STORE WHERE STORE_ID=""

The possible values are:

-1=ATP
-2=Non-ATP
-3=No inventory
-4=External inventory management system
-5= DOM Inventory

SHPARRANGE- Each row of this table represents a ShippingArrangement, indicating that a FulfillmentCenter can ship products on behalf of a Store using a ShippingMode.

Non ATP Inventory Model
Inventory is associated with one fulfillment center and one store. A store can designate one default fulfillment center.

Table used in Non ATP Inventory Model

INVENTORY Table
Each row of this table contains a quantity amount representing the inventory for a particular CatalogEntry. The CatalogEntry is available to be shipped from a FulfillmentCenter on behalf of a Store. It is used by the default implementations of the non-ATP inventory task commands:

1. ResolveFullmentCenterCmd
2. CheckInventoryCmd
3. UpdateInventoryCmd
4. ReverseUpdateInventoryCmd

ManageInventoryCmd and DoInventoryActionCmd are quite different from other commands in that they act as a facade to others. Customers can select these two commands as their own inventory integration points.

ATP  Inventory Model
ATP invnetory model supports the concept of back orders .That means items that are not available now but  available in a future date(From Expected Inventory). If at least one of the item in an order is back ordered then order status will become back ordered while submitting an order.(Order Status B)

Tables used in ATP inventory model are as follows
BASEITEM 
BaseItems represent a general family of goods with a common name and description. BaseItems are used exclusively for fulfillment. Each CatalogEntry that represents a Product in the catalog has a corresponding BaseItem for fulfillment purposes.

STOREITEM 
Each row of this table contains attributes that affect how a particular Store allocates inventory for the specified items of a particular Base Item. If there is no row for the Store, then the row for its Store Group is used.

ITEMSPC 
Information about specified items. A specified item is a product with values for all its attributes. A specified item could correspond to a 2L bottle of milk, with 2% fat content. A specified item is the customer view of what the merchant sells.

RECEIPT  
Each row contains information about each receipt of an item at a FulfillmentCenter.

INVSTVW 
This is a view derived from the RECEIPT and ITEMFFMCTR tables which contains the existing quantity available for an item for a given store across all FulfillmentCenters. 

INVITMVW 
This is a view derived from the RECEIPT and ITEMFFMCTR tables which contains the existing quantity available for an item across all Stores and FulfillmentCenters.

INVSTFFMVW
This is a view derived from the RECEIPT and ITEMFFMCTR tables which contains the existing quantity available for an item at a Store and FulfillmentCenter.

RCPTSTVW
A view which summarizes the quantity of inventory available from the RECEIPT table for an item owned by a Store across all FulfillmentCenters.

RCPTITMVW
A view which summarizes the quantity of inventory available from the RECEIPT table for an item across all Stores and FulfillmentCenters.

RCPTSTFFVW
A view which summarizes the quantity of inventory available from the RECEIPT table for an item owned by a Store at a FulfillmentCenter.

RA
Records general information about inventory expected from a vendor. "RA" stands for Replenishment Advisement. However, the term "Expected Inventory Record" is used to mean the same thing.

RADETAIL
This table contains detailed information about items on an expected inventory record.

It is used by the default implementations of the ATP inventory task commands:

1.AllocateInventoryCmd
2.GetEligibleFulfillmentCentersCmd
3.CheckInventoryAvailabilityCmd
4.AllocateExistingInventoryCmd
5.DeallocateExistingInventoryCmd
6.AllocateExpectedInventoryCmd
7.DeallocateExpectedInventoryCmd
8.ReserveInventoryCmd
9.AdjustInventoryReservation
10.ManageInventoryCmd
11.DoInventoryActionCmd

ManageInventoryCmd and DoInventoryActionCmd are quite different from other commands in that they act as a facade to others. Customers can select these two commands as their own inventory integration points.
 
Order Status in websphere commerce

ORDERS table STATUS column will keep the different order status during the order processing flow as shown below.

P- Pending Order
M- Either a part or the total amount is approved
B - Backordered (Some order items for the order are backordered. (inventory status=BO).)
C - Payment authorization complete (Payment authorization has been completed. All order items are allocated from existing inventory.)
E- A Customer Service Representative is working with the order.
X-Cancelled.
W-Pending Approval.
S-Shipped –All order items have been manifested.
R-Released - Some order items have been released for fulfilment.
D- Deposited - Payment has been captured.
N-Reject Order.

Order Status flow in ATP Inventory Model

1.During create Order Status will be Pending (P).
2.In case of back orderable items order status will be moved from Pending P) to Back Order (B).
3.During Submit Order either back order (B) or Pending (P) will moved to submitted (M).
4.When CSR Edit an Order after submission then order which is in Submitted (M) to will move to Edit Order (E).
5.When CSR cancel the order then order from Back Order (B) or Submitted (M) will move to Cancelled Order (X).
6.Synchronize Payment operation will move order from Submitted (M) to Payment Synchronization complete (C).
7.Release to Fulfilment operation will change order status from Payment Synchronization complete (C) to release to 
fulfilment (R).
8.Confirm Shipment operation will change the order status from release to fulfilment (R) to shipped (S).
9.Close Order operation will change the order status from shipped (S) to close order (D).

Order Status flow in non ATP Inventory Model       

Confirm shipment(S) and close order (D) will happen in external order management system. Also there is no back order (B) concept in non ATP inventory model.


Order status in the case of Payment Approval in ATP Inventory model

1. During create Order Status will be Pending (P).
2. During Submit Order order in Pending (P) status will move to pending approval (W).
3. From pending approval (W) order will move to back order (B) or reject order (N) or submitted (M).
4. From back Order order (B) order will be moved to submitted (M).
5. From rejected order (N) order can move to Edit Order (E).
6. From Edit status (E) order can still move to submitted (M).

Order status in the case of Payment Approval in Non ATP Inventory model

1. During create Order Status will be Pending (P).
2. During Submit Order order in Pending (P) status will move to pending approval (W).
3. From pending approval (W) order will move to submitted (M) or reject order (N).
4. From rejected order (N) order can move to Edit Order (E).
5. From Edit status (E) order can still move to submitted (M).

Fulfillment centers and shipping arrangements

A fulfillment center represents a place from which products are shipped to customers.Inventory counts are maintained separately for each fulfillment center.The OrderItemAdd and OrderItemUpdate commands assign a fulfillment center to each item in an order by calling the task command DoInventoryActionCmd for both ATP and non-ATP stores.By default, the ResolveFulfillmentCenterCmd task command is used for non-ATP  based stores,and the AllocateInventoryCmd task command for ATP stores and assign fulfillment centers based on inventory availability, shipping address, and the precedence attributes of the applicable shipping arrangements.

A shipping arrangement enables a store to use a fulfillment center.A fulfillment center is assigned to an order item only if an enabling shipping arrangement exists (in the SHPARRANGE table) between the store and the fulfillment center A shipping arrangement can be limited to a particular validity period, a particular shipping mode,and particular shipping jurisdictions.Shipping charges and taxes for an order item can be calculated differently depending on the assigned fulfillment center (SHPJCRULE and TAXJCRULE tables.)During ProcessBackorder,ProcessFutureOrder and ReleaseToFulfillment, the fulfillment center might change for some order items.In such instances, the ReprepareOrderCmd is invoked to recalculate the shipping charges, shipping adjustments, sales tax, and shipping tax.
 
 

1 comment: