Monday, October 3, 2011

No Products Can Be Added To Shopping Cart

All WebSphere Commerce sites running version 5.6.x, 6.0 and 7.0 might experience this problem.

Shoppers cannot add items to the shopping cart. A message similar to the following is displayed when the shopper adds an item:

CMN2022E: The command is unable to determine an appropriate fulfillment center for an OrderItem.

Content

PROBLEM:

When shoppers try to add items to cart, the following exception is displayed in the trace log with WC_ORDERS:

[6/23/08 4:40:18:116 CDT] 7bd409f2 WC_ORDER d mrCJugify4dA55bTXDzHHQEg6SE%3d%0a com.ibm.commerce.fulfillment.commands.ShippingArrangementWrapper.isValid Shipping arrangement 10001 is not effective for the specified time.
com.ibm.commerce.fulfillment.commands.ResolveFulfillmentCenterCmdImpl.performExecute No fulfillment center has enough inventory: catalogEntryId=333109, quantity=1.0, shipModeId=10001
[6/23/08 4:40:18:117 CDT] 7bd409f2 CommerceSrvr E com.ibm.commerce.fulfillment.commands.ResolveFulfillmentCenterCmdImpl performExecute CMN2022E: The command is unable to determine an appropriate fufillment center for an OrderItem.


NOTE: If you are not experiencing this problem on your site then your store was not published with this condition and no immediate actions are required.



SOLUTION:
Check the SHPARRANGE table and verify that the ENDDATE field has not expired. If it has expired or is set to expire on a date earlier than desired for your site, update this field as per the examples below.

Below are some examples of how to change the ENDDATE.


To change the shipping ENDDATE from '2008-06-22-23.00.00.000000' to a setting which will never expire, update the database with one of the following statements:

For DB2:
"update shparrange set enddate = null where enddate = '2008-06-22-23.00.00.000000'"

For Oracle:
"update shparrange set enddate = null where enddate = timestamp'2008-06-22 23:00:00'"



To change the shipping arrangment ENDDATE from '2008-06-22-23.00.00.000000' to expire in 2018, update the database with one of the following statements:

For DB2:
"update shparrange set enddate = '2018-06-22-23.00.00.000000' where enddate = '2008-06-22-23.00.00.000000'"

For Oracle:
"update shparrange set enddate = timestamp'2018-06-22 23:00:00' where enddate = timestamp'2008-06-22 23:00:00'"

No comments:

Post a Comment