com.ibm.commerce.inventory.commands

Class DOMDoInventoryActionCmdImpl

  • All Implemented Interfaces:
    com.ibm.commerce.command.CacheableECCommand, ECCommand, ECTargetableCommand, TaskCommand, DoInventoryActionCmd, com.ibm.websphere.cache.Sizeable, com.ibm.websphere.command.CacheableCommand, com.ibm.websphere.command.Command, com.ibm.websphere.command.CommandCaller, com.ibm.websphere.command.TargetableCommand, java.io.Serializable

    Deprecated. 

    public class DOMDoInventoryActionCmdImpl
    extends TaskCommandImpl
    implements DoInventoryActionCmd
    This is the default implementation of the DoInventoryActionCmd task command.

    This is the base interface for the inventory component. With this command, the Order component can ignore the inventory model and only needs to call this task command with required inventory operations. This command is based on the current store's inventorySystem configuration to determine the low-level task command.

    There are 10 identified usages as an interface between the order command and interface command. Different parameters are required for every usage.


    -------------------------------------------------------------------------------

    action=GET_DEFAULT_ATP_PARAMETER, this usage is used when the order command needs to build the default ATP (Available To Promise) parameter to perform inventory operations. During different phases in the order shopping flow, different default inventory behaviors are expected. Therefore, it must build a different ATPParameter. Different store implementations could request different inventory behaviors by passing order abbreviations, and those abbreviations are used to build ATPParameter. They could also specify ATPParameter instances to order commands, in which case there is no need to build default ATPParameter. Every time order components need to perform inventory operations, ATPParameter should be set again to inventory component, and order commands need to keep ATPParameter synchronized with the order's changes.

    Parameters:

    Parameter Name Type Descriptions
    istrCallerCommandName String The command name requiring default ATPParameter built
    istrOrderIds String[] The vector of orderId used to resolve the order items to be backordered, reversed, checked, merged, allocated, remerged
    requestProperties TypedProperty The request on inventory operation could be received from commandContext.requestProperties, as well as from requestProperties.


    -------------------------------------------------------------------------------

    action=CHECK_INVENTORY, this usage is used in OrderItemDisplayCmd and OrderPrepareCmd. During OrderItemDisplayCmd, it checks inventory to validate whether the inventory is available. During OrderPrepareCmd, for ATP, the inventory operation depends on the ATPParameter used. For non-ATP, it resolves FFMCENTER_ID and updates it into order item, and sets the inventoryStatus of the checked orderItem to new inventory status "AVL".

    Parameters:

    Parameter Name Type Descriptions
    istrCallerCommandName String The command name needing to check inventory
    istrOrderIds String[] The order unique identifier, check operation checks all order items which belong to this order
    atpParameter ATPParameter For ATP, ATPParemeter is required to determine which inventory operation is needed


    -------------------------------------------------------------------------------

    action=RESOLVE_FULFILLMENTCENTER, for ATP, it gets all eligible FFMCENTER by OrderItemAccessBean. For non-ATP, it resolves FFMCENTER_ID from OrderItemAccessBean or catentry_id and quantity.

    Parameters:

    Parameter Name Type Descriptions
    istrCallerCommandName String The command name needing to check inventory
    items Item[] the order items to be considered when determining fulfillment centers.(required for ATP, optional for non-ATP)
    catEntry_id String Together with quantity and quantityMeasure, specifies the input to resolveFulfillmentCenterCmd
    quantity String Together with catEntry_id and quantityMeasure, specifies the input to resolveFulfillmentCenterCmd, this is a catalog quantity
    quantityMeasure String Together with catEntry_id and quantityMeasure, specifies the input to resolveFulfillmentCenterCmd


    -------------------------------------------------------------------------------

    action=UPDATE_FULFILLMENTCENTER, for ATP, it only checks Inventory without updating FFMCENTER_ID into orderItem, but for non-ATP, it resolves fulfillmentCenter and sets this identifier into OrderItem.

    Parameters:

    Parameter Name Type Descriptions
    istrCallerCommandName String The command name needing to check inventory
    istrOrderIds String[] the order unique identifier,required
    iUniqueOrderitemIdList Hashtable The changed order item. This list is used to get unique catentry, to identify the touched orderItem. It is used when adding order item. Non-ATP only needs it to resolve ffm for those touched order item, optional.
    FlushNeeded Boolean It is used to flush the changes to db for inventory stored procedures. It picks up the changes when new order item(s) have been inserted or order item quantities have changed, optional
    continue String specifies whether to continue if an exception is thrown in resolveFuifillmentCenter,optional
    atpParameter ATPParameter for ATP, ATPParemeter is required to fulfill inventory operation


    -------------------------------------------------------------------------------

    action=ALLOCATE_INVENTORY, for ATP, allocate Inventory(or check Inventory) can occur in order Capture or Order Management. On OrderPrepareCmd, inventory is allocated as defined in ATPParameter, on OrderProcessCmd inventory is forced to allocate or be backordered. To allocate Inventory during OrderItemMoveCmd, we need to allocate inventory for the out-order moved from and for the in-order moved into. For non-ATP, allocate Inventory can only occur on orderProcess. Before non-ATP inventory is allocated, it first checks inventory statuses. If this orderItem has ever been allocated, it compares the allocated quantity with the needed quantity. It takes no action if no change in quantity is needed. Otherwise, first reverse allocated quantity and then update inventory for this order item. Finally, set inventoryStatus as Inventory allocated. For no-Inventory, only inventory status is updated.

    Parameters:

    Parameter Name Type Descriptions
    istrCallerCommandName String The command name needing to check inventory
    astrInOrders String[] The order to be moved into, only used in OrderItemMoveCmd, optional, take no action if missed.
    astrOutOrders String[] the order to be moved from, only used in OrderItemMoveCmd, optional, take no action if missed.
    istrOrderIds String[] the order unique identifier, all order items which belong to this order are allocated during allocation. This parameter is required when allocating inventory.
    atpParameter ATPParameter for ATP, ATPParemeter is required to fulfill inventory operation


    -------------------------------------------------------------------------------

    action=REVERSE_INVENTORY, for ATP, it calls to de-Allocate existing or expected inventory, and sets inventoryStatus as not allocated. orderItem is required. For non-ATP, it de-allocates inventory.

    Parameters:

    Parameter Name Type Descriptions
    orderItem OrderAccessBean The allocated order item, needs to reverse inventory.


    -------------------------------------------------------------------------------

    action=GET_ESTIMATE_AVAILABILITY_DATE, for ATP, it calls CheckInventoryAvailabilityCmd to set the estimated time and shipoffset for non-ATP, it sets the availability time as the current system timestamp plus shippingoffset. Caller must ensure that the inventory is available before this action is called.

    Parameters:

    Parameter Name Type Descriptions
    ihsAllOrderItems OrderItemAccessBean[] The collection of orderItem to get estimated availability date
    ihsOrderItemFulfillmentCentersMaps Hashtable optional for ATP


    -------------------------------------------------------------------------------

    action=RESERVE_INVENTORY, for ATP it calls reserveInventoryCmd, and for non-ATP it calls updateInventoryCmd.

    Parameters:

    Parameter Name Type Descriptions
    iCatEntry_id Long The catalog entry to reserve Inventory on, required.
    iFulfillmentCenterId Integer The fulfillmentCenter which reserve will happen on
    dQuantity Double The catalog quantity which need to reserve
    istrReservationInstance String The description for the reservation
    iReservationType String The reservation type
    iStore_id Long The store which the reservation happen on


    -------------------------------------------------------------------------------

    action=ADJUST_RESERVE_INVENTORY,for ATP it calls AdjustInentoryReservationCmd,and for non-ATP it calls updateInventoryCmd.

    Parameters:

    Parameter Name Type Descriptions
    iReservationId String The reservation unique identifier that need to adjust
    iCatEntry_id Long The catalog entry to reserve Inventory on, required.
    iFulfillmentCenterId Integer The fulfillmentCenter which reserve will happen on
    dQuantity Double The catalog quantity which need to reserve
    iStore_id Long The store which the reservation happen on


    -------------------------------------------------------------------------------

    action=GET_INVENTORYCATALOG, as the column allocatedQuantity and neededQuantity of order items table is inventory quantity. They can use different units of measurement with catalog quantity. A conversion must be performed between those two quantities. For ATP, the column BASEITEM.QUANTITYMEASURE is used in the conversion, however for non-ATP, the column INVENTORY.QUANTITYMEASURE is used in conversion.

    Parameters:

    Parameter Name Type Descriptions
    quantity Double The catalog quantity needing to convert into inventory quantity
    orderitem OrderItemAccessBean The orderItem needing to convert catalog quantity into inventory quantity, the quantity manager needing to get from and to quantity unit from the orderItem.

    This command calls the following TaskCommands:

    This command uses the following AccessBean:

    See Also:
    Serialized Form
    • Field Detail

      • COPYRIGHT

        public static final java.lang.String COPYRIGHT
        Deprecated. 
        The internal copyright field.
        See Also:
        Constant Field Values
      • DOM_INVENTORY

        public static final int DOM_INVENTORY
        Deprecated. 
        Inventory constants for DOM inventory.
        See Also:
        Constant Field Values
    • Constructor Detail

      • DOMDoInventoryActionCmdImpl

        public DOMDoInventoryActionCmdImpl()
        Deprecated. 
    • Method Detail

      • setRequestProperties

        public void setRequestProperties(TypedProperty aRequestProperties)
        Deprecated. 
        This method sets the request properties. The request properties are used to build ATPParameter for ATP. It is not mandatory as we could also get requestProperties from command context.
        Specified by:
        setRequestProperties in interface DoInventoryActionCmd
        Parameters:
        aRequestProperties - request properties.
      • setATPParms

        public void setATPParms(ATPParameters newATPParms)
        Deprecated. 
        This method sets the ATP parameters, this ATPParameters is used to determine the needed inventory operation.
        Specified by:
        setATPParms in interface DoInventoryActionCmd
        Parameters:
        newATPParms - ATPParameters
      • setAction

        public void setAction(int action)
        Deprecated. 
        This method sets the action parameter, this action is used to specify the needed inventory operation. It is mandatory to specify the inventory operation that order component wants to fulfill.
        Specified by:
        setAction in interface DoInventoryActionCmd
        Parameters:
        action -
      • getAction

        public int getAction()
        Deprecated. 
        This method returns the action parameters, this action is used to specify the needed inventory operation
        Specified by:
        getAction in interface DoInventoryActionCmd
        Returns:
        action
      • getCatEntryId

        public java.lang.Long getCatEntryId()
        Deprecated. 
        This method returns the catalog entry unique identifier. For non-ATP, check Inventory/UpdateInventory/ReverseUpdateInventory/ResolveFulfillmentCenter needs this identifier, but it is optional if orderItems_id is set.
        Specified by:
        getCatEntryId in interface DoInventoryActionCmd
        Returns:
        catEntry_id
      • setCatEntryId

        public void setCatEntryId(java.lang.Long catEntry_id)
        Deprecated. 
        This method sets the catalog entry unique identifier. For non-ATP, check Inventory/UpdateInventory/ReverseUpdateInventory/ResolveFulfillmentCenter needs this identifier, but it is optional if orderItems_id is set.
        Specified by:
        setCatEntryId in interface DoInventoryActionCmd
        Parameters:
        catEntry_id -
      • getFulfillmentCenterId

        public java.lang.Integer getFulfillmentCenterId()
        Deprecated. 
        This method returns the fulfillmentCenter parameters It is used for action checkInventory,reverseInventory,resolveFulfillmentCenter,UpdateFulfillmentCenter, but it is optional if order item is set
        Specified by:
        getFulfillmentCenterId in interface DoInventoryActionCmd
        Returns:
        fulfillmentCenter_id
      • setFulfillmentCenterId

        public void setFulfillmentCenterId(java.lang.Integer fulfillmentCenter_id)
        Deprecated. 
        This method sets the fulfillmentCenter parameters to check inventory. It is used for action checkInventory,reverseInventory,resolveFulfillmentCenter,UpdateFulfillmentCenter. But it is optional if orderitem is set.
        Specified by:
        setFulfillmentCenterId in interface DoInventoryActionCmd
        Parameters:
        fulfillmentCenter_id -
      • setOrderItem

        public void setOrderItem(OrderItemAccessBean newOrderItem)
        Deprecated. 
        This method sets orderItem, if this inventory operation is only operated on this orderItem. For action checkInventory,reserveUpdateInventory,updateInventory,ResolveFullfillmentCenter,UpdateFulfillmentCenter,reverseInventory
        Specified by:
        setOrderItem in interface DoInventoryActionCmd
        Parameters:
        newOrderItem - The orderItem to be operated on
      • getOrderItemFulfillmentCentersMaps

        public java.util.Hashtable getOrderItemFulfillmentCentersMaps()
        Deprecated. 
        This method returns lists of fulfillment centers which can ship items specified by the setOrderItems method.
        Specified by:
        getOrderItemFulfillmentCentersMaps in interface DoInventoryActionCmd
        Returns:
        orderItemFulfillmentCentersMap

          key - (Long) The OrderItem identifier, if known. Otherwise, it is a negative number.

          value - (Object[2]) Object[0] is the com.ibm.commerce.order.calculation.Item. Object[1] is a Vector of Integer fulfillment center identifiers.
      • setOrderItemFulfillmentCentersMaps

        public void setOrderItemFulfillmentCentersMaps(java.util.Hashtable orderItemFulfillmentCentersMap)
        Deprecated. 
        This method sets lists of fulfillment centers which can ship items specified by the setOrderItems method. This parameter is optional for action resolveFulfillmentCenter/UpdateFulfillmentCenter
        Specified by:
        setOrderItemFulfillmentCentersMaps in interface DoInventoryActionCmd
        Parameters:
        orderItemFulfillmentCentersMap -

          key - (Long) The OrderItem identifier, if known. Otherwise, it is a negative number.

          value - (Object[2]) Object[0] is the com.ibm.commerce.order.calculation.Item. Object[1] is a Vector of Integer fulfillment center identifiers.
      • getPreferredFulfillmentCenterId

        public java.lang.Integer getPreferredFulfillmentCenterId()
        Deprecated. 
        This method returns the preferred fulfillment center,it is optional for usage ResolveFulfillmentCenter and GetEstimateAvailableTime
        Specified by:
        getPreferredFulfillmentCenterId in interface DoInventoryActionCmd
        Returns:
        newPreferredFulfillmentCenterId the identifier of the preferred fulfillment center.
      • setPreferredFulfillmentCenterId

        public void setPreferredFulfillmentCenterId(java.lang.Integer preferredFulfillmentCenterId)
        Deprecated. 
        This method sets the preferred fulfillment center.
        Specified by:
        setPreferredFulfillmentCenterId in interface DoInventoryActionCmd
        Parameters:
        preferredFulfillmentCenterId - the identifier of the preferred fulfillment center.
      • getShippingModeId

        public java.lang.Integer getShippingModeId()
        Deprecated. 
        This method returns the shipping mode id. This parameter is optional for the action to resolve fulfillmentCenter for non-ATP.
        Specified by:
        getShippingModeId in interface DoInventoryActionCmd
        Returns:
        shippingModeId
      • setShippingModeId

        public void setShippingModeId(java.lang.Integer shippingModeId)
        Deprecated. 
        This method sets the shipping mode id. This parameter is optional for the action to resolve fulfillmentCenter for non-ATP
        Specified by:
        setShippingModeId in interface DoInventoryActionCmd
        Parameters:
        shippingModeId - This parameter is optional for usage resolveFulfillmentCenter
      • getQuantity

        public java.lang.Double getQuantity()
        Deprecated. 
        This method returns quantity to check the inventory.
        Specified by:
        getQuantity in interface DoInventoryActionCmd
        Returns:
        quantity
      • setQuantity

        public void setQuantity(java.lang.Double quantity)
        Deprecated. 
        This method sets a quantity to check the inventory.
        Specified by:
        setQuantity in interface DoInventoryActionCmd
        Parameters:
        quantity - this parameter is mandatory for usage GetInventoryQuantity, optional for non-atp usage checkInventory,reverseUpdateInventory,allocateInventory,resolveFulfillmentCenter,updateFulfillmentCenter
      • getQuantityMeasure

        public java.lang.String getQuantityMeasure()
        Deprecated. 
        This method returns a quantity measure to check the inventory (optional).
        Specified by:
        getQuantityMeasure in interface DoInventoryActionCmd
        Returns:
        quantityMeasure
      • setQuantityMeasure

        public void setQuantityMeasure(java.lang.String quantityMeasure)
        Deprecated. 
        This method sets a quantity measure to check the inventory (optional).
        Specified by:
        setQuantityMeasure in interface DoInventoryActionCmd
        Parameters:
        quantityMeasure -
      • setStoreId

        public void setStoreId(java.lang.Integer storeId)
        Deprecated. 
        This method sets a store id to check the inventory.
        Specified by:
        setStoreId in interface DoInventoryActionCmd
        Parameters:
        storeId - integer
      • getReservationInstance

        public java.lang.String getReservationInstance()
        Deprecated. 
        This method returns the reservation description identifying the instance.
        Specified by:
        getReservationInstance in interface DoInventoryActionCmd
        Returns:
        argReservationInstance reservation description
      • setReservationInstance

        public void setReservationInstance(java.lang.String argReservationInstance)
        Deprecated. 
        This method sets the reservation description identifying the instance.
        Specified by:
        setReservationInstance in interface DoInventoryActionCmd
        Parameters:
        argReservationInstance - reservation description, it is required for reserveInventory
      • getReservationType

        public java.lang.Long getReservationType()
        Deprecated. 
        This method returns the reservation type. The type or purpose of the reservation, such as an auction. The types are user defined and are in the INVRSRVTYP table.
        Specified by:
        getReservationType in interface DoInventoryActionCmd
        Returns:
        argReservationType reservation type
      • setReservationType

        public void setReservationType(java.lang.Long argReservationType)
        Deprecated. 
        This method sets the reservation type. The type or purpose of the reservation, such as an auction. The types are user defined and are in the INVRSRVTYP table.
        Specified by:
        setReservationType in interface DoInventoryActionCmd
        Parameters:
        argReservationType - reservation type
      • getReserveId

        public java.lang.Long getReserveId()
        Deprecated. 
        This method returns the reservation identifier created after executing this command.
        Specified by:
        getReserveId in interface DoInventoryActionCmd
        Returns:
        The new Reservation id.
      • getContinue

        public java.lang.String getContinue()
        Deprecated. 
        This method returns whether to continue when there is exception thrown in ResolveFulfillmentCenter
        Specified by:
        getContinue in interface DoInventoryActionCmd
        Returns:
        strContinue
      • setContinue

        public void setContinue(java.lang.String strContinue)
        Deprecated. 
        This method sets whether to continue
        Specified by:
        setContinue in interface DoInventoryActionCmd
        Parameters:
        strContinue - it is optional for usage resolveFulfillmenter for non-ATP
      • getUnitOfMeasure

        public java.lang.String getUnitOfMeasure()
        Deprecated. 
        This method returns the unit of measure
        Specified by:
        getUnitOfMeasure in interface DoInventoryActionCmd
        Returns:
        unitOfMeasure
      • setUnitOfMeasure

        public void setUnitOfMeasure(java.lang.String unitOfMeasure)
        Deprecated. 
        This method sets the unit of measure
        Specified by:
        setUnitOfMeasure in interface DoInventoryActionCmd
        Parameters:
        unitOfMeasure - it is
      • getCallerCommandName

        public java.lang.String getCallerCommandName()
        Deprecated. 
        This method returns the callerCommandName
        Specified by:
        getCallerCommandName in interface DoInventoryActionCmd
        Returns:
        istrCallerCommandName
      • setCallerCommandName

        public void setCallerCommandName(java.lang.String cmdName)
        Deprecated. 
        This method sets callerCommandName, different callers may have different inventory behaviors. This parameter is optional. However, some actions have different behaviors, such as allocateInventory are different in orderPrepare,orderProcess. Therefore, for some actions, this parameter is required. The following is a list when this parameter is required: For action checkInventory,OrderItemDisplayCmd, OrderPrepareCmd has different behaviours on non-ATP, in OrderPrepare non-ATP needs to set inventoyStatus as AVL. For action allocateInventory,InventoryAllocationCheck,OrderItemMove,OrderPreProcess,OrderProcess has different behaviors For action reverseInventory,OrderProcessCmd has different behaviors with other commands. For action resolveFulfillmentCenter, OrderCalculate has different behaviors with other commands. If callerCommandName is not set, the default behavior follows
        Specified by:
        setCallerCommandName in interface DoInventoryActionCmd
        Parameters:
        cmdName -
      • getOrderId

        public java.lang.String[] getOrderId()
        Deprecated. 
        This method returns orderId, inventory component needs this orderId to get the current situation for order and order item
        Specified by:
        getOrderId in interface DoInventoryActionCmd
        Returns:
        anstrOrderIds
      • setOrderId

        public void setOrderId(java.lang.String[] orderIds)
        Deprecated. 
        This method sets orderId, inventory component needs this orderId to get the current situation for order and order item
        Specified by:
        setOrderId in interface DoInventoryActionCmd
        Parameters:
        orderIds - it is required for usage reverseInventory for ATP in OrderItemBase,allocateInventory for ATP for orderprepare,orderprocess
      • getItems

        public java.util.Vector getItems()
        Deprecated. 
        This method returns Item to resolveFulfillmentcenter
        Specified by:
        getItems in interface DoInventoryActionCmd
        Returns:
        newItems
      • setItems

        public void setItems(java.util.Vector newItems)
        Deprecated. 
        This method sets Item to check inventory
        Specified by:
        setItems in interface DoInventoryActionCmd
        Parameters:
        newItems - it is optional for resolveFulfillmentcenter/updateFulfillmentCenter
      • getNeededQuantity

        public java.lang.Integer getNeededQuantity()
        Deprecated. 
        This method returns the needed quantity, it is converted from catalog quantity

        Specified by:
        getNeededQuantity in interface DoInventoryActionCmd
        Returns:
        Integer
      • setReservationId

        public void setReservationId(java.lang.Long rid)
        Deprecated. 
        This method sets the reservation id for ATP enabled stores. this Id is got from the ReserveInventory command.
        Specified by:
        setReservationId in interface DoInventoryActionCmd
        Parameters:
        rid -
      • getMoveInOrders

        public java.lang.String[] getMoveInOrders()
        Deprecated. 
        This method returns the output order where input order items are moved to.
        Specified by:
        getMoveInOrders in interface DoInventoryActionCmd
        Returns:
        String[]
      • setMoveInOrders

        public void setMoveInOrders(java.lang.String[] inOrders)
        Deprecated. 
        This method sets a destination order for the output order items. If this parameter is not specified, there is no output order. The input order items are simply removed from the source orders specified by the setFromOrders method.
        Specified by:
        setMoveInOrders in interface DoInventoryActionCmd
        Parameters:
        inOrders - String[]
      • getMoveOutOrders

        public java.lang.String[] getMoveOutOrders()
        Deprecated. 
        This method returns the output order where input order items are moved to.
        Specified by:
        getMoveOutOrders in interface DoInventoryActionCmd
        Returns:
        String[]
      • setMoveOutOrders

        public void setMoveOutOrders(java.lang.String[] iabOutOrders)
        Deprecated. 
        This method sets the orders from which order items are moved. This parameter is used to resolve order item abbreviations specified by the setFromOrderItemId method.
        Specified by:
        setMoveOutOrders in interface DoInventoryActionCmd
        Parameters:
        iabOutOrders - String[]
      • getUniqueOrderitemIdList

        public java.util.Hashtable getUniqueOrderitemIdList()
        Deprecated. 
        This method returns the uniqueOrderItemIdList, this list records the touched order item during order item add/update
        Specified by:
        getUniqueOrderitemIdList in interface DoInventoryActionCmd
        Returns:
        uniqueOrderItemIdList
      • setUniqueOrderitemIdList

        public void setUniqueOrderitemIdList(java.util.Hashtable uniqueOrderItemIdList)
        Deprecated. 
        This method sets the uniqueOrderItemIdList, this list records the touched order item during order item add/update
        Specified by:
        setUniqueOrderitemIdList in interface DoInventoryActionCmd
        Parameters:
        uniqueOrderItemIdList - this parameter is required for usage updateFillmentcenter
      • getFlushNeeded

        public boolean getFlushNeeded()
        Deprecated. 
        This method returns whether a flush is needed for SP to catch the changes to DB
        Specified by:
        getFlushNeeded in interface DoInventoryActionCmd
        Returns:
        flushNeeded
      • setFlushNeeded

        public void setFlushNeeded(boolean flushNeeded)
        Deprecated. 
        This method sets whether a flush is needed for SP to catch the changes to DB
        Specified by:
        setFlushNeeded in interface DoInventoryActionCmd
        Parameters:
        flushNeeded -
      • validateParameters

        public void validateParameters()
                                throws ECException
        Deprecated. 

        Checks the required parameter to be set beforehand for this task command to execute. Make sure all the required parameters are passed in, or collected from somewhere. As different inventory operations may need different parameters, the required parameters are also checked against the specified action.


          action the inventory action which need to fulfill
        Specified by:
        validateParameters in interface ECCommand
        Overrides:
        validateParameters in class AbstractECTargetableCommand
        Throws:
        ECException - If mandatory parameters are not passed in, throw ECApplicationException specifying _ERR_BAD_MISSING_CMD_PARAMETER
      • performExecute

        public void performExecute()
                            throws ECException
        Deprecated. 
        This method executes the business logic of this command implementation.

          As the facade interface for inventory component, this command checks the operation set by order command. It also determines the needed operation based on the store's inventory type. It then forwards to the corresponding task command. To customize this class if new actions are added, override the protected method doMoreAction.



          There are 10 usages which correspond to the following methods:

            buildDefaultATPParameters().

            checkInventory().

            resolveFulfillmentCenter().

            updateFulfillmentCenter().

            allocateInventory().

            reverseInventory().

            getEstimatedAvailabilityDate().

            reserveInventory().

            adjustReserveInventory().

            getInventoryQuantity().

            updateOutOrderItemId().
        Specified by:
        performExecute in interface ECCommand
        Specified by:
        performExecute in interface com.ibm.websphere.command.TargetableCommand
        Overrides:
        performExecute in class AbstractECTargetableCommand
        Throws:
        ECException - thrown when RemoteException, CreateException, NamingException, FinderException is caught in StoreAccessBean
      • reset

        public void reset()
        Deprecated. 
        This method is called after a command is executed to reset its state variables.
        Specified by:
        reset in interface com.ibm.websphere.command.Command
        Overrides:
        reset in class AbstractECTargetableCommand
      • getDefaultATPParms

        public ATPParameters getDefaultATPParms()
        Deprecated. 
        This method returns the default ATP parameters,different caller commands have different default inventory behaviors
        Specified by:
        getDefaultATPParms in interface DoInventoryActionCmd
        Returns:
        ATPParameters
      • getCatEntryIdNotAvailinInv

        public java.util.Vector getCatEntryIdNotAvailinInv()
        Deprecated. 
        This method returns the Vector with Catalog Entry IDs which are not available in the requested amount in inventory
        Specified by:
        getCatEntryIdNotAvailinInv in interface DoInventoryActionCmd
        Returns:
        Vector
      • getFulfillmentCenters

        public java.util.Vector getFulfillmentCenters()
        Deprecated. 
        This method returns the Vector of FulfillmentCenter
        Specified by:
        getFulfillmentCenters in interface DoInventoryActionCmd
        Returns:
        vector
      • isATPParametersIgnorable

        public static boolean isATPParametersIgnorable(TypedProperty ahshATPParameters,
                                                       CommandContext commandContext)
                                                throws ECException
        Deprecated. 
        This method returns true if the ATP parameters are ignorable. That is,

          'check' is specified and resolves to no order item, and

          other ATP parameters are either not specified or resolve to no order item.
        Parameters:
        ahshATPParameters - the ATP parameters.
        commandContext - to check whether the store in the command context is using ATP
        Returns:
        true if the ATP parameters are ignoreable
        Throws:
        ECException
      • getInventorySystem

        public int getInventorySystem()
        Deprecated. 
        Returns:
        Returns the inventorySystem.
      • setInventorySystem

        public void setInventorySystem(int ainventorySystem)
        Deprecated. 
        Parameters:
        ainventorySystem - The inventorySystem to set.