Inventory management yfs.properties

To override properties in the Inventory Management category of the yfs.properties file, use the customer_overrides.properties file.

The following table describes the Inventory Management yfs.properties.

Property Values Description
yfs.capacity.IgnoreCacheBelowThreshold Valid values = 0 - 100

Default = 0

Set this property to an integer value from 0 to 100 to ignore loading of data from capacity cache, when dayCapacityPercentage is less than the threshold value.
yfs.inventory.sortandlock Valid values = Y or N Setting this property to Y prevents deadlocking on YFS_Inventory_Item table during order creation and when synchronizing changes from a shipment back to the order. This parameter is only used if the order contains a logical kit, or when a shipment contains shipment lines from different orders. Setting this property to Y results in a holding lock on YFS_Inventory_Item table for longer period. So, this may degrade overall system performance. Because of this reason, you should set this property to Y only if you are getting excessive deadlocks on YFS_Inventory_Item table.

Example:

yfs.inventory.sortandlock = Y

yfs.hotsku.useHotSKUFeature Valid values = Y or N

Default = N

Set this property to Y to use the Hot SKU feature.

Example:

yfs.hotsku.useHotSKUFeature=N

For more information, see Hot SKU control parameters.

yfs.nodecapacity.lock Valid values = Y or N

Default = N

Set this property to Y to enable locking for node capacity availability checks.

Example:

yfs.nodecapacity.lock = Y

yfs.nodecapacity.threshold Valid values = 0 - 100 Specifies the availability threshold in percentage before beginning to lock for availability checks.

Example:

yfs.nodecapacity.threshold = 3

yfs.nodecapacity.timeout Integer

A value of 0 means wait indefinitely

Indicates the amount of time in seconds before giving up on a lock and assuming that capacity is unavailable.

Example:

yfs.nodecapacity.timeout = 5

yfs.RealisticQuantityForInfiniteInventory

Recommended value: 99999 - 9999999

Valid value: Any value

Default: By default, this property is not set.

This property is applicable for all items processed by the RTAM. There is a maximum quantity for the RTAM, to search for Inventory. The maximum quantity for RTAM by default is 2147483647, if not changed in the RealisticQuantityForInfiniteInventory property. As the name suggests Realistic Quantity For Infinite Inventory, means what is the realistic quantity as per the business flows, which is considered as infinite.

This is verified by the alert generated by the RTAM for AlertLevel=0, AlertQuantity=<Infinite>. Onhand quantity cannot be greater than 99999.

If quantity of item is greater than 99999, then this property value must be updated accordingly. The Recommended value is 9999999.

yfs.balanceShortageAcrossNodes

yfs.considerUnassignedDemands

Valid values = Y or N

Default = N

In Release 9.5 (and later), these properties are deprecated and replaced by Distribution Group priority levels.

These properties should only be changed as a group. If you set the value of both these properties to Y, Real Time Availability Monitor (RTAM) correctly handles all the unassigned demands, for example, backorder.

yfs.loadInventoryMismatch.maxNumRecordsPerBatch <number of inventory mismatch records>

Default = 1000

Set this property to define the maximum number of inventory mismatch records to be processed in one batch.

Example:

yfs.loadInventoryMismatch.maxNumRecordsPerBatch=1000

Note: This property is used only when the BatchSize is not passed in the loadInventoryMismatch() API input.
yfs.purge.MergeDemandSupplyMultiRec Valid values = true, false

Default = false

When using the Hot SKU Optimistic Lock Avoidance functionality, demand or supply tables can have multiple records for unique supply or unique demand key, that is with all matching attributes. Set this property to true to merge these records before purging.

Only those records that are qualifying for demand or supply purge can be merged.
yfs.synchLoadedInventory.onInvMismatchEventListSize <number of inventory mismatch records>

Default = 1000

Set this property to define the maximum number of inventory mismatch records to be included in one event.

Example:

yfs.synchLoadedInventory.onInvMismatchEventListSize=1000

yfs.<enterprisecode>.yfs.shipnodeinclause.threshold <number of eligible shipnodes>

Default = 999

Set this property to define the threshold value of eligible ship nodes for inclause. When the value of eligible ship nodes exceeds the threshold value, the queries on the supply and demand tables skip the shipnode_key inclause and perform memory filter for availability.
yfs.Hotsku.useAvailabilityAcrossNodes Valid values = Y or N

Default = Y

While determining whether hot item still needs to be locked, system considers availability across all nodes requested instead of individual nodes. And compare the consolidated availability across all nodes with the high availability threshold.

If consolidated inventory is 0, system avoids locking. If consolidated inventory is low, system locks the sku even though it may be considered hot. If consolidated inventory is high, locking is avoided.

All agents and APIs that update demand/supply and check availability is impacted by this property (ex: reservations, order creation/modifications, scheduling, release). This property does not change actual availability calculation, instead it just impacts decision whether to lock an item. There is a slight chance that multiple threads can schedule or allocate against a node with low availability. This could result into backorder from the node (no pick) from DC or Store. In such case, order would get rescheduled to another location based on availability and sourcing decisions.

yfs.nodecapacity.considerSlotEndTime Valid values = Y or N This property determines whether the expected shipment date calculation is based on the start timestamp or end timestamp of the chosen slot. If set to Y, the expected ship date is calculated based on the consumed slots end timestamp. If set to N the expected ship date is be calculated based on slot start timestamp or minimum ship date of the generated choice whichever is later.
yfs.hotsku.updateInventoryAfterAPIOutput Valid values = Y or N

Default = N

This property controls when inventory database updates happen during a transaction. Set this property to Y to commit the inventory updates to the database after the API output and at the end of the transaction. If this property is set to N, then inventory updates are only committed to the database at the end of the transaction. By default, this property is set to N and it is only applicable when yfs.hotsku.lockItemOnInventoryChanges is N.
yfs.synchLoadedInventory.MultiRec Valid values = Y or N For Hot SKU Optimistic Lock Avoidance (OLA) functionality, there is a possibility of multiple supply records being created for Item-Node-Date-SupplyType. The inventory sync process in such cases does not consider all records leading to incorrect inventory availability picture. When this property is set to Y, the syncLoadedInventory API considers multiple supply records.
yfs.persitCapacityAdjustments Valid values = true or false

Default = false

Set the value of this property to True to push capacity updates to end of transaction, thus reducing the lock contention on resource pool consumption table.
Note: Ensure that this property is consistent across all JVMs.
yfs.capacity.useMassAdjustCapacityDriver Valid values = true or false

Default = false

Set the value of this property to True to push database updates for capacity consumption on the commit event of a transaction. This reduces the lock contention on YFS_RES_POOL_CAPCTY_CONSMPTN table. For this enhancement, set the yfs.persitCapacityAdjustments property to true.
Note: Ensure that this property is consistent across all JVMs.
yfs.aggregateSupplyOfNonRequestedTagForGTIN Valid values =Y or N

Default = Y

Set the value of this property to N so that the application does not read the aggregated supply of non-requested tag for GTIN items.