Oracle EBS Pending Transactions SQL for Inventory Period Close
Inventory period close in Oracle EBS stops when pending or uncosted transactions remain before the period end. This generator gives you SQL to count them by source, list the errored rows, and check the period status, so you can clear them before close day.
Fill in
1. Pending counts by source
SELECT 'MTL_MATERIAL_TRANSACTIONS_TEMP' AS source, COUNT(*) AS pending_rows
FROM mtl_material_transactions_temp
WHERE organization_id = 207
AND transaction_date < TO_DATE('2026-10-31', 'YYYY-MM-DD') + 1
UNION ALL
SELECT 'MTL_TRANSACTIONS_INTERFACE', COUNT(*)
FROM mtl_transactions_interface
WHERE organization_id = 207
AND transaction_date < TO_DATE('2026-10-31', 'YYYY-MM-DD') + 1
UNION ALL
SELECT 'WIP_MOVE_TXN_INTERFACE', COUNT(*)
FROM wip_move_txn_interface
WHERE organization_id = 207
AND transaction_date < TO_DATE('2026-10-31', 'YYYY-MM-DD') + 1
UNION ALL
SELECT 'WIP_COST_TXN_INTERFACE', COUNT(*)
FROM wip_cost_txn_interface
WHERE organization_id = 207
AND transaction_date < TO_DATE('2026-10-31', 'YYYY-MM-DD') + 1
UNION ALL
SELECT 'MTL_MATERIAL_TRANSACTIONS (uncosted)', COUNT(*)
FROM mtl_material_transactions
WHERE organization_id = 207
AND transaction_date < TO_DATE('2026-10-31', 'YYYY-MM-DD') + 1
AND costed_flag IN ('N', 'E');2. Errored inventory interface rows
SELECT transaction_interface_id,
inventory_item_id,
transaction_date,
process_flag,
error_code,
error_explanation
FROM mtl_transactions_interface
WHERE organization_id = 207
AND transaction_date < TO_DATE('2026-10-31', 'YYYY-MM-DD') + 1
ORDER BY transaction_date;3. Uncosted material transactions
SELECT mmt.transaction_id,
mmt.transaction_date,
mmt.inventory_item_id,
mmt.transaction_type_id,
mmt.transaction_quantity,
mmt.costed_flag
FROM mtl_material_transactions mmt
WHERE mmt.organization_id = 207
AND mmt.transaction_date < TO_DATE('2026-10-31', 'YYYY-MM-DD') + 1
AND mmt.costed_flag IN ('N', 'E')
ORDER BY mmt.transaction_date;4. Period status for the organization
SELECT acct_period_id,
period_name,
open_flag,
period_start_date,
schedule_close_date,
period_close_date
FROM org_acct_periods
WHERE organization_id = 207
AND period_start_date <= TO_DATE('2026-10-31', 'YYYY-MM-DD')
ORDER BY period_start_date DESC;Oracle's own Pending Transactions form and the period close pending transactions report remain the system of record. Use this SQL to prepare and triage. Column names are for Release 12 style schemas, so verify them against the eTRM. Resolve rows through the standard forms or resubmit via supported processes, never by deleting rows blindly.
Month-end pending transaction watch
Optional: discuss read-only monitoring of pending and uncosted transactions across your EBS organizations.
Optional. The tool and every export work without this. No spam.
How to use the generator
Enter the organization id and the period end date. Run block one first to see which source has rows. Then use the detail blocks for errored interface rows and uncosted transactions. Work down the sources in order: resolve the interface errors, let the transaction manager and cost processor run, then re-run the counts until each source shows zero.
- Block 1: counts by pending source
- Block 2: errored inventory interface rows
- Block 3: uncosted transactions
- Block 4: period status
Why transactions block the close
The close process needs every transaction dated in the period to be fully processed and costed, so the period balances and general ledger transfer reflect reality. Pending rows may sit in the temp table awaiting the transaction manager, in an interface table with an error, or in the material transactions table with a costed flag that shows the cost worker has not completed. Each has a different fix.
Reading and resolving the results
Rows in the interface with an error code need the underlying cause fixed, such as a closed job, a missing subinventory or an invalid account, and then resubmission through the supported route. Uncosted rows usually point to a cost manager or cost worker that is not running, or to missing cost data. Rows in the temp table often mean a stuck transaction manager or a locked row.
Common mistakes
Teams check only the inventory side and forget WIP interfaces and receiving. Others delete interface rows to make a count go to zero, which loses a real business transaction. Also remember to run the cost processing and transfer programs after clearing rows, because the close checks are rerun at close time.
Frequently Asked Questions
Why can't I close the Oracle inventory period?
The usual reasons are pending transactions in the temp or interface tables, uncosted transactions, unprocessed receiving or WIP activity, or open items in other modules. The Pending Transactions form and the SQL here show which source is blocking.
What does costed_flag N or E mean?
N indicates the transaction is waiting to be costed, and E indicates a costing error. Both stop the period close until the cost processor completes or the error is resolved.
Can I delete rows from MTL_TRANSACTIONS_INTERFACE?
Technically possible, but it discards a real business event. Correct the cause and resubmit, or reverse the activity through a supported transaction. Delete only with documented approval, and keep the data you remove.
Does this cover receiving and purchasing?
Not fully. Receiving transactions and accrual items have their own pending checks, and the receiving interface is separate. Check the Pending Transactions form and receiving reports in addition to this SQL.
If month end triage consumes your team, we can discuss read-only monitoring of pending transactions over your EBS data, built on your own servers.
Related Tools
Oracle EBS Inventory Tables Reference
Searchable lookup of the core Oracle EBS Inventory and Cost Management tables with purpose and key columns, for report writers and technical consultants.
OracleOracle EBS WIP Tables Reference
Lookup of Oracle EBS Work in Process tables with purpose and key columns, covering discrete jobs, operations, requirements, resources and interfaces.
Developer ToolsOracle EBS Onhand Quantity SQL Generator
Fill in organization, item pattern and subinventory to get ready-to-run SQL for onhand by lot, onhand versus reservations, and recent transaction history.
OracleOracle EBS Discrete Manufacturing Go-Live Checklist
A grouped go-live checklist for Oracle Inventory, BOM, WIP and Cost Management covering setup, data, testing and cutover for discrete manufacturers.
More Developer Tools tools
See all- Oracle EBS BOM Explosion SQL Generator
- Oracle EBS Public PL/SQL API Reference (OM, INV, PO, AP, AR, TCA, FND)
- Oracle EBS Forms Personalization Tables and Trigger Events Reference
- Oracle EBS Forms FRM Error Codes Reference (FRM-92101, FRM-40735)
- Oracle EBS XML Publisher RTF Template Syntax Reference
- Oracle EBS OE_ORDER_PUB.PROCESS_ORDER Script Generator
- Oracle EBS FND_REQUEST.SUBMIT_REQUEST Code Generator
- Oracle EBS PL/SQL Concurrent Program Generator (Package plus FND_PROGRAM Registration)
- Oracle EBS Concurrent Program Parameters and Responsibility SQL Generator
New to Oracle E-Business Suite? Start with the Oracle E-Business Suite guide and toolkit, or plan with Oracle EBS Roadmap Planner, Training Path Builder, ERP Certification Study Planner.
Keep exploring
Free tools
- Oracle EBS Inventory Period Close ChecklistA step-by-step checklist for closing the Oracle Inventory accounting period, including WIP, receiving and cost transactions.
- Oracle EBS GL Period Close ChecklistA month-end close sequence for Oracle General Ledger and the subledgers that feed it, with critical steps marked.
- Oracle EBS WIP Job Close Variance WorksheetEditable worksheet to review material and resource variances per discrete job before running the close, with variance percent and totals.
ERP fixes and how-tos
- How to Close an Inventory Accounting Period in Oracle EBSClose an Oracle EBS Inventory accounting period: clear pending transactions, run the pending transactions report, close via Inventory Accounting Periods, transfer to GL.
- Fix Oracle EBS Uncosted Material Transactions Blocking Period ClosePeriod close blocked by uncosted material transactions? Find rows with COSTED_FLAG N or E, read the ERROR_EXPLANATION, fix costing setup and rerun the Cost Manager in EBS.
- Oracle Fusion Period Close: A Practical ChecklistClose an Oracle Fusion accounting period cleanly: run subledger close, Create Accounting, reconciliation, and use Close Monitor before setting the period Closed.
AI on your ERP
- AI for Oracle EBS in Industrial Manufacturing: WIP, MRP, and BOM Questions Answered DirectlyAI for Oracle E-Business Suite in industrial manufacturing: WIP jobs, BOMs, MRP, inventory and purchasing answered in plain English, private and read-only.
- AI for the Oracle Fusion Financial Close: Journals, Subledgers and FluxAI for the Oracle Fusion period close: subledger status, journal exceptions, intercompany breaks and flux commentary, on data you control with approvals in Fusion.
Integrations
- How to build a mobile app for Oracle E-Business SuiteBuild a shop-floor or field mobile app for Oracle E-Business Suite: barcode scanning, WIP and inventory moves, approvals and offline use over ISG and supported APIs.
- How to use ChatGPT with Oracle E-Business SuiteUsing ChatGPT with Oracle E-Business Suite: export vs live access, custom GPT actions over ISG REST, enterprise data controls and when to keep data on-prem.