IBM Support

A throwback on the much needed Hotsku implementation during the holiday season.

Technical Blog Post


Abstract

A throwback on the much needed Hotsku implementation during the holiday season.

Body

HOTSku  is enable by defining the property yfs.yfs.hotsku.useHotSKUFeature=Y in customer_overrides.properties file .

Ensure to enabled Hotsku parameters to avoid any performance degradation.  

The behind the scenes with Hotsku parameter enabled:

The Item turns hot once it meets the conditions set in customer overrides. Product will lock Item Inventory table once to register inventory availability. Once Inventory availability is registered then Item’s supply or demand update will not require lock on Item Inventory table. Current picture of availability will be maintained locally at JVM level. Any further availability request will be addressed through this local availability picture.
Hot Item works through YFS_INVENTORY_SUPPLY_ADDNL and YFS_INVENTORY_DEMAND_ADDNL i.e. insert any new supply and demand in them. Inventory consolidation agent runs continuously, this agent runs at a regular interval, picks records from additional table, sum up the supply/demand and update them in normal supply/demand table.

 

JVM will continue to check if local availability of Item has dropped below threshold level (decided by hotSku properties). If yes, then Item lock will be required. Hot SKU feature works at JVM level. Other JVM where Item may not be hot will read updated supply and demand by doing union between normal supply/demand table and additional supply/demand table.

Three Usage Scenarios of Hot SKU feature comprise of Not Enabled, Small Orders, Large Orders.

HOT SKU determination Logic works in two different formats based on configurations

  • Hot SKU Feature with lock request timeout
  • Hot SKU Feature without lock request timeout

 

In 9.4 version, three new Hot SKU control parameters are introduced to enable inventory locking only low availability which inturn improves the performance of API’s.

yfs.hotsku.lockOnlyOnLowAvailability determines whether locking should be avoided until availability gets low. By default, the property assumes that the availability is checked for the first time and all the items have high availability. If this property is set to Y, then, it is assumed that the availability is high and lock will be avoided. If the property is set to Y, then, the availability calculation will not lock the YFS_INVENTORY_ITEM if the INV_INVENTORY_ITEM_LOCK doesn’t exist for the demand type.

yfs.hotsku.assumeUnavailableOnLockTimeout determines whether an item should be assumed unavailable if in case the lock cannot be acquired. This property is applicable only when yfs.hotsku.lockOnlyOnLowAvailability is set to Y. If the yfs.hotsku.useTimeOutLocking property is set to Y and yfs.hotsku.assumeUnavailableOnLockTimeout is set to Y, it will be assumed that there is no inventory available for this item if a timeout occurs. Inventory will be assumed unavailable for this sourcing rule detail. If there are multiple sourcing rule details, then normal expansion will continue and lock will be attempted again.

yfs.hotsku..lockItemOnInventoryChanges determines whether an item should be assumed unavailable if the lock cannot be acquired. This property is applicable only when yfs.hotsku.useTimeOutLocking property is set to Y. If the yfs.hotsku.useTimeOutLocking property is set to Y, it is assumed that there is no inventory available for this item if a timeout occurs. Inventory is assumed unavailable for this sourcing rule detail. If there are multiple sourcing rule details, then normal expansion will continue and lock will be attempted again.
 

Below published Technotes should come in handy for HotSku related issues:

1. Inventory locking conditions for HOT SKU wrt time-sensitive and lot controlled items
2. Attempts to run consolidateToShipment transaction locks YFS_INVENTORY_ITEM in IBM Sterling Order Management.
3. Does adding item to skipLockInventoryListItem property ensure that there is no locking ( initial locking which HotSKu required) on that item the first time?

4. How to enable HOT SKU Feature for time sometimes tagged controlled Item in Sterling Order Management?
5. How do you clear the stale data of YFS_INVENTORY_TAG in IBM Sterling Order Management?

 

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SS6PEW","label":"Sterling Order Management"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}},{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SS6PEW","label":"Sterling Order Management"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

UID

ibm11124541