PURPOSE
-------
The purpose of this document is to understand how and when the table
MTL_ONHAND_QUANTITIES_DETAIL table is populated and what processes cause records to be
inserted, updated, deleted and maintained.
TEXT
----
The inltuq module populates the MTL_ONHAND_QUANTITIES_DETAIL
calls this module affects the onhand quantity.
in what is termed "stack logic."
for each receipt into Inventory (Misc. Receipt, Purchase Order Receipt, or
Work In Process) and is maintained at the level of control you have established
on the system. For instance, subinventory/locator/lot/serial/revision controls.
out of Inventory occurs, instead of writing a row out to MTL_ONHAND_QUANTITIES
table, the amount is deducted from the rows of receipts available for that item
at that level of control.
An example of this would explain the calculation better.
number 123 in subinventory "Finished Goods."
part - 50 & 100 - for 150 total quantity of onhand.
At this point, you have two rows in MTL_ONHAND_QUANTITIES_DETAIL:
Now you receive a Sales Order for a total quantity of 75 and need to deplete
Inventory by this amount.
You bring the Receipt #1 to zero, and the system deletes it (50), and still
need to use 25 from Receipt #2.
looks like this:
Zero quantity rows are deleted from this table.
their own row unless you allow negative balances in your organization and all
onhand quantities are depleted.
Basically, transactions that update Inventory onhand quantity must pass through
the MTL_MATERIAL_TRANSACTIONS_TEMP table whether they originate inside Inventory,
Purchasing, or WIP, or are passed through the MTL_TRANSACTIONS_INTERFACE from
Oracle Order Management, Oracle Work in Process, 3rd party software, or legacy
data.
that the inltuq module is called and the MTL_ONHAND_QUANTITIES_DETAIL table is
then populated.
The on hand quantity updates only after records are successfully processed
through the MTL_MATERIAL_TRANSACTIONS_TEMP table in Inventory.
into the MTL_MATERIAL_TRANSACTIONS table using the application.
conducting miscellaneous transactions populates MTL_MATERIAL_TRANSACTIONS_TEMP.
Once in this table the transaction manager picks up records to process.
records pass validation and all required data is correct, the record is deleted
from the MTL_MATERIAL_TRANSACTIONS_TEMP table and a corresponding record is
inserted in both the MTL_ONHAND_QUANTITIES_DETAIL table and MTL_MATERIAL_TRANSACTIONS
table.
This follows the stack process.
quantity goes to zero, the record is deleted from the MTL_ONHAND_QUANTITIES_DETAIL table