IBM Support

JR47397: CMVC 229928 - Partial reservations are not allowed, and cannot control when to reserve for DOM inventory.

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When adding a product to the shopping cart with DOM inventory
    enabled, if the quantity of the product exceeds the available
    inventory, the shopper fails to place the order at the end of
    the shopping flow with the following error message: "There is
    insufficient inventory to purchase the requested product". The
    shopper must restart the "add to cart" process for only
    available items to complete the order.
    Unlike ATP inventory, the customer has no control over inventory
    reservation in the checkout flow.
    

Local fix

Problem summary

  • USERS AFFECTED:
    WebSphere Commerce users on version 7 who are using the DOM
    inventory system.
    
    PROBLEM ABSTRACT:
    Partial reservations are not allowed, and cannot control when to
    reserve for DOM inventory.
    
    BUSINESS IMPACT:
    This solution of the problem improves the user experience.
    
    RECOMMENDATION:
    

Problem conclusion

  • In this fix, the following functionality is provided:
    
    1. Provide a way to support partial reservation.
    
       With this feature, when there is not enough inventory for a
    product, the inventory system reserves the available quantities
    of the product and the order system splits the order line to be
    2: Allocated and Unallocated. Shoppers can remove the
    Unallocated order line and finish the order.
    
       By default, partial reservations are disabled. Customer must
    perform the following update to enable partial reservation:
       In the
    xml/config/com.ibm.commerce.order-fep/wc-admin-component.xml
    file,
      Modify <_config:property name="AllowPartialReservation"
    value="N"/> to <_config:property name="AllowPartialReservation"
    value="Y"/>
    
    2. Provide a flag to control whether to reserve inventory during
    order preparation.
       The flag name is "inventoryReservation". By default, the
    value of this flag is 'true'. When customers want to disable
    inventory reservation during order preparation, they must set
    inventoryReservation=false into the request properties when
    invoking the order preparation command.
    
    
    3. Provide a generic way to call inventory reservation. It can
    be called from customized code whenever there is a need to do
    inventory reservation.
    
       The following is a sample code to do inventory reservation
    when running the DoInventoryActionCmd command. The code marked
    in Blue indicates that it will call inventory reservation:
    
                DoInventoryActionCmd updateFFM =
                    (DoInventoryActionCmd)
    CommandFactory.createCommand(DoInventoryActionCmd.NAME,
                        getStoreId());
    
    updateFFM.setAction(DoInventoryActionCmd.UPDATE_FULFILLMENTCENTE
    R);
                updateFFM.setOrderId(orderId);
    
    updateFFM.setCallerCommandName(DoInventoryActionCmd.GENERIC_CALL
    ER_CMD);
                updateFFM.setFlushNeeded(iNewQuantity);
    
    updateFFM.setUniqueOrderitemIdList(iUniqueOrderitemIdList);
                updateFFM.setATPParms(iATPParms);
                updateFFM.setContinue(getContinue());
                updateFFM.execute();
    
    4. Provide a flag to avoid cancellation before reservation. In
    WebSphere Commerce by default: before an attempt to do inventory
    reservation, it always first cancels the previous reservation.
    With this APAR, the caller can explicitly ask WebSphere Commerce
    not to do the cancellation, and instead a reservation request
    with a delta reservation flag is sent to Sterling. The purpose
    of this is to improve performance.
    
       The flag name is "cancelReservation". By default, the value
    of the flag is true. Note: The flag only works when calling
    inventory reservation using the customized code in the preceding
    step.
    
       The following is a sample code to call inventory reservation
    without cancellation. The code marked in Blue indicates that it
    will not cancel the reservation.
    
       DoInventoryActionCmd updateFFM =
                    (DoInventoryActionCmd)
    CommandFactory.createCommand(DoInventoryActionCmd.NAME,
                        getStoreId());
    
    updateFFM.setAction(DoInventoryActionCmd.UPDATE_FULFILLMENTCENTE
    R);
                updateFFM.setOrderId(orderId);
    
    updateFFM.setCallerCommandName(DoInventoryActionCmd.GENERIC_CALL
    ER_CMD);
                updateFFM.setFlushNeeded(iNewQuantity);
    
    updateFFM.setUniqueOrderitemIdList(iUniqueOrderitemIdList);
                updateFFM.setATPParms(iATPParms);
                updateFFM.setContinue(getContinue());
    
    
    getCommandContext().getRequestProperties().put(OrderConstants.IN
    VENTORY_RESERVATION_CANCEL, "false");
                updateFFM.setCommandContext(getCommandContext());
    
                updateFFM.execute();
    -------------------------------------------------------------
    The latest available maintenance information can be obtained
    from the Recommended Fixes for WebSphere Commerce technote:
    http://www.ibm.com/support/docview.wss?rs=3046&uid=swg21261296
    

Temporary fix

Comments

APAR Information

  • APAR number

    JR47397

  • Reported component name

    WC BUS EDITION

  • Reported component ID

    5724I3800

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    YesSpecatt / New Function

  • Submitted date

    2013-08-01

  • Closed date

    2013-12-02

  • Last modified date

    2013-12-02

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    WC BUS EDITION

  • Fixed component ID

    5724I3800

Applicable component levels

  • R700 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSYSYL","label":"WebSphere Commerce Enterprise"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
02 December 2013