Legacy platform

Real-time Availability Monitor performance enhancements

The Real-time Availability Monitor can slow down if too many inventory alerts and inventory item records exist in the database. To reduce this performance impact, the database tables that store this information can be cleaned.

Inventory alerts, alert details, and alert detail relationship records that can safely be removed for performance reasons include inventory items, and the associated nodes and distribution groups that are no longer required to be monitored.

Once inventory items become stale based on the purge lead time and there are no records in other tables referencing those items, no other process should have the need for the items. If another process runs for an item concurrently with the inventory purge agent, it might result in either supply or demand records, without having the corresponding inventory item record or NPE in the other process. For the monitorItemAvailability API , a distribution group that is set up for the Real-time Availability Monitor is passed as an overridden distribution group.

Inventory purge logic

The inventory purge agent is enhanced to check if there are inventory items whose modify timestamp satisfies the lead days of Inventory purge criteria. If the modify timestamp of the inventory item record satisfies the lead days of Inventory purge criteria, the purge agent will lock the inventory item record and further checks if the inventory item is eligible for purge.

The inventory item will not be eligible for purge if there are records for it in any of the following tables:
  • YFS_INVENTORY_SUPPLY
  • YFS_INVENTORY_SUPPLY_ADDNL
  • YFS_INVENTORY_SUPPLY_TEMP
  • YFS_INVENTORY_DEMAND
  • YFS_INVENTORY_DEMAND_ADDNL
  • YFS_INVENTORY_TAG
  • YFS_INVENTORY_NODE_CONTROL
  • YFS_IBA_TRIGGER
  • YFS_ITEM_NODE_VELOCITY_DUMP
  • YFS_ITEM_NODE_VELOCITY
  • YFS_GLOBAL_SERIAL_NUM
  • YFS_INVENTORY_RESERVATION
  • YFS_INV_OWN_TRANSFER_RCD
Or, if there are pending records in the following tables:
  • YFS_INVENTORY_PENDING_ADJ
  • YFS_INVENTORY_MATCH
Or, if there are not yet posted records in the following tables:
  • YFS_INVENTORY_SHIPMENT
  • YFS_INVENTORY_RECEIPT

If the inventory item is not eligible for purge, the purge agent updates its modify timestamp to the current timestamp.

If records do not exist in any of the preceding tables for an inventory item, the inventory item is eligible for purge and the purge agent purges its records from the following tables:
  • YFS_INVENTORY_ACTIVITY
  • YFS_INVENTORY_ALERTS
  • YFS_INVENTORY_ALERT_DETAIL
  • INV_ALERT_DTL_RELATIONSHIP
  • INV_INVENTORY_ITEM_LOCK
  • YFS_INVENTORY_PENDING_ADJ
  • YFS_INVENTORY_ITEM_NODE_COST
  • YFS_INVENTORY_MATCH
  • YFS_INVENTORY_SHIPMENT
  • YFS_INVENTORY_RECEIPT
  • YFS_INVENTORY_ITEM

Full synchronization enhancements

When the Real-time Availability Monitor is in full synchronization mode, performance suffers when too many inventory alerts and inventory items records occur.

The Real-time Availability Monitor in full synchronization mode is enhanced to purge inventory alerts, alert details and alert detail relationship records of the following items:
  1. Ship node and distribution groups that are no longer required to be monitored.
  2. Items that are no longer required to be monitored.