IBM Support

Enhancement to prevent locking of yfs_inventory_item table during availability check available in version 9.4 FP 24

Technical Blog Post


Abstract

Enhancement to prevent locking of yfs_inventory_item table during availability check available in version 9.4 FP 24

Body

A new property yfs.hotsku.useGranularLockingForItem introduced in version 9.4 FP 24.
This property has to be used along with the in addition to existing properties introduced for Optimistic Lock Avoidance - yfs.hotsku.lockOnlyOnLowAvailability and yfs.hotsku.assumeUnavailableOnLockTimeout.

 

Here is a brief overview of the existing properties - yfs.hotsku.lockOnlyOnLowAvailability and yfs.hotsku.assumeUnavailableOnLockTimeout.
These properties help -
- Enable inventory locking on low availability
- Avoid supply or the demand updates from locking the YFS_INVENTORY_ITEM record
Please refer to the below links to learn more about yfs.hotsku.lockOnlyOnLowAvailability and yfs.hotsku.assumeUnavailableOnLockTimeout.
https://www.ibm.com/support/knowledgecenter/SS6PEW_9.4.0/com.ibm.help.om.newfeatures.doc/c_OMS_OLA.html
https://www.ibm.com/support/knowledgecenter/en/SS6PEW_9.4.0/com.ibm.help.perf.manage.doc/c_FND_PM_Optimisticlockavoidance.html

 

The property yfs.hotsku.lockOnlyOnLowAvailability determines whether locking should be avoided until availability becomes low.
If this property is set to Y, then, it is assumed that the availability is high and lock is avoided until availability becomes low. The availability calculation does not lock the YFS_INVENTORY_ITEM record unless a corresponding record INV_INVENTORY_ITEM_LOCK exists in INV_INVENTORY_ITEM_LOCK for the demand type.

 

With the above property set to Y, there can sometimes be situations where records are locked when not necessary and vice versa. One store may have high inventory and remove INV_INVENTORY_ITEM_LOCK records; while another store may have low inventory and insert lock records.

 

To address this, the new property (yfs.hotsku.useGranularLockingForItem) introduced will create lock records for a ship node - Item combination.
Whenever availability at a ship node is low, a lock record will be inserted for that Item-ship node. When deciding whether to lock ,a decision is made based on whether the nodes are being used or not.

 

Once nodes are read for availability and determined to be high, those lock records will be removed. If availability goes to zero, lock record will remain.
With this feature, we are no longer locking inventory item, and only locking [shipNode-Item lock record ] when availability becomes low for item at ship node. To enable Granular Locking, please set property yfs.hotsku.useGranularLockingForItem to Y and yfs.hotsku.assumeUnavailableOnLockTimeout=Y

 

[{"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

ibm11124517