What do the transaction mode (like transaction_mode = 8) numbers mean
in the pending transactions table (MTL_MATERIAL_TRANSACTIONS_TEMP)?
Goal
What do the transaction mode numbers mean in the pending transactions
table (MTL_MATERIAL_TRANSACTIONS_TEMP)?
Solution
The pending transactions can be found in the pending transactions form
available from Inventory > Transactions > Pending Transactions or by
looking directly in the pending transactions table
(MTL_MATERIAL_TRANSACTIONS_TEMP). The
transaction modes have the following meanings:
Transaction Mode Number / Description
NULL or 1: Online Processing
2: Concurrent Processing
3: Background Processing
8: Internal Processing (Not
visible in the pending transactions form)
Explanation
Here is an explanation of each:
NULL or 1: Online Processing
Online processing is used by the Oracle Applications to immediately
process records. This does not require that a concurrent program be run. The
Transaction Manager does not process transactions marked for online processing.
2: Concurrent Processing
Transactions marked as concurrent transaction mode are processed by a
dedicated transaction worker to explicitly process a set of transactions. The
Transaction Manager does not process transactions marked for concurrent
processing.
3: Background Processing
Interface transactions marked for Background processing will be picked
up by the transaction manager polling process and assigned to a transaction
worker. These transactions will not be processed unless the transaction manager
is running.
8: Internal Processing
Transaction mode 8 is not a mode normally visible to the user as it is
used for internal processing.
Transactions with this mode are not visible in the Pending transactions
form. Transaction_mode of 8 is used internally to identify if records came from
the interface table to the pending table or came directly into the pending
table.
** If you find stuck transactions with a mode of 8, you should log a
Service Request with Oracle Support to get assistance processing these
records. This is often caused by
transactions that exist both in the transaction open interface and in the
pending transactions table. In such a
case, the transaction open interface records would be removed and the pending
transactions would be processed by resetting the transaction mode to 3:
Background Processing.
Identification
The following script can be used to identify the corrupted records in
case the duplicate scripts do not return any data:
SELECT msi.segment1, tmp.PROCESS_FLAG, tmp.LOCK_FLAG,
tmp.TRANSACTION_MODE, tmp.ERROR_CODE, tmp.transaction_quantity,
to_char(tmp.transaction_date,'dd-mm-yyyy hh24:mi:ss')
FROM mtl_material_transactions_temp tmp, mtl_system_items_b msi
WHERE transaction_mode = 8
AND tmp.inventory_item_id = msi.inventory_item_id
AND msi.organization_id = &organization_id
No comments:
Post a Comment