Introduction
In any implementation of SCM Tables in Oracle Fusion Cloud, understanding the data model is not optional—it’s critical. Whether you are building reports, integrations, or troubleshooting issues, SCM tables form the backbone of how data flows across Procurement, Inventory, Order Management, and Supply Planning.
From a consultant’s perspective, most real-world challenges—like missing transactions, incorrect costing, or integration failures—can be traced back to how data is stored and linked across these tables.
This blog gives you a deep, implementation-focused understanding of SCM tables in Oracle Fusion (26A), covering key tables, relationships, and practical usage scenarios.
What are SCM Tables in Oracle Fusion?
SCM tables in Oracle Fusion are database objects that store transactional and master data for supply chain processes.
Unlike legacy systems where direct DB access was common, in Fusion:
- Tables are secured and abstracted
- Access is primarily through:
- OTBI (Oracle Transactional BI)
- BI Publisher (BIP)
- REST APIs
- Oracle Integration Cloud
However, understanding tables is still essential for:
- Debugging issues
- Designing reports
- Building integrations
- Data migration validation
Key SCM Modules and Their Core Tables
Let’s break this down module-wise, which is how consultants typically approach real projects.
1. Inventory Management Tables
Inventory is the foundation of SCM. These tables store item, on-hand, and transaction data.
| Table Name | Description |
|---|---|
| INV_MATERIAL_TXNS | Stores all inventory transactions |
| INV_ONHAND_QUANTITIES_DETAIL | Tracks on-hand quantities |
| MTL_SYSTEM_ITEMS_B | Item master data |
| INV_ORG_PARAMETERS | Inventory organization setup |
Consultant Insight:
If a client says “stock is not reflecting correctly,” your first check is:
- INV_ONHAND_QUANTITIES_DETAIL
- Then reconcile with INV_MATERIAL_TXNS
2. Procurement Tables
Procurement deals with purchase orders, suppliers, and requisitions.
| Table Name | Description |
|---|---|
| PO_HEADERS_ALL | Purchase order header |
| PO_LINES_ALL | Purchase order lines |
| PO_DISTRIBUTIONS_ALL | Accounting distributions |
| POZ_SUPPLIERS | Supplier master |
Real Example:
In a project, a PO was approved but not visible in receiving. Root cause:
- PO_HEADERS_ALL status mismatch
- Missing distribution in PO_DISTRIBUTIONS_ALL
3. Order Management Tables
These tables handle sales orders and fulfillment.
| Table Name | Description |
|---|---|
| DOO_HEADERS_ALL | Sales order header |
| DOO_LINES_ALL | Sales order lines |
| DOO_FULFILL_LINES_ALL | Fulfillment tracking |
Consultant Tip:
Always check DOO_FULFILL_LINES_ALL when:
- Orders are stuck in “Awaiting Shipping”
- Or fulfillment errors occur
4. Costing Tables
Critical for finance integration and inventory valuation.
| Table Name | Description |
|---|---|
| CST_COST_HISTORY | Cost history records |
| CST_ITEM_COSTS | Item cost details |
| CST_TRANSACTION_COSTS | Transaction costing |
Real Scenario:
Client sees wrong inventory valuation:
- Validate CST_ITEM_COSTS
- Compare with INV_MATERIAL_TXNS
5. Receiving Tables
Used during goods receipt process.
| Table Name | Description |
|---|---|
| RCV_SHIPMENT_HEADERS | Shipment details |
| RCV_SHIPMENT_LINES | Line-level data |
| RCV_TRANSACTIONS | Receiving transactions |
Real-World Use Cases of SCM Tables
Use Case 1: Debugging Missing Inventory
Scenario:
User claims stock is not visible.
Approach:
- Check INV_MATERIAL_TXNS → Was transaction created?
- Check INV_ONHAND_QUANTITIES_DETAIL → Updated or not?
- Validate organization in INV_ORG_PARAMETERS
Use Case 2: Purchase Order Not Reflecting in Reports
Scenario:
PO created but not showing in BI report.
Approach:
- Validate PO_HEADERS_ALL status
- Check join with PO_LINES_ALL
- Confirm security via data roles
Use Case 3: Integration Failure in OIC
Using Oracle Integration Cloud:
Scenario:
Sales order integration fails.
Debugging Steps:
- Check DOO_HEADERS_ALL for record creation
- Validate payload mapping
- Compare API vs table data
Architecture / Technical Flow of SCM Tables
In modern Oracle Fusion (26A), the flow is:
- User Action (UI / API)
- Business Logic Layer (Fusion Services)
- Data Stored in Tables
- Exposed via:
- OTBI
- BIP
- REST APIs
- Oracle Cloud Infrastructure services
Important Note:
You cannot directly query tables in SaaS, but:
- BI Publisher uses data models based on these tables
- OTBI uses subject areas mapped to tables
Prerequisites to Work with SCM Tables
Before working with SCM tables, ensure:
- Access to:
- BI Publisher
- OTBI
- Knowledge of:
- Table relationships
- Keys (Primary/Foreign)
- Required roles:
- BI Administrator
- SCM Analyst
Step-by-Step: Accessing SCM Table Data via BI Publisher
Since direct DB access is restricted, consultants use BIP.
Step 1 – Navigate to BI Publisher
Navigator → Tools → Reports and Analytics
Step 2 – Create Data Model
- Click “Create” → Data Model
- Select “SQL Query”
Step 3 – Write Query
Example:
poh.segment1 PO_NUMBER,
pol.line_num,
pol.item_description
FROM
po_headers_all poh,
po_lines_all pol
WHERE
poh.po_header_id = pol.po_header_id;
Step 4 – Save Data Model
- Validate SQL
- Save in custom folder
Step 5 – Create Report
- Use data model
- Add layout (Excel/PDF)
Testing SCM Table Data
Example Test Scenario
Test Case: Create a Purchase Order
Steps:
- Create PO in UI
- Run BIP report
Expected Results:
- Entry in PO_HEADERS_ALL
- Corresponding lines in PO_LINES_ALL
Validation Checks:
- Status = Approved
- Supplier linked correctly
Common Errors and Troubleshooting
1. Data Not Visible in Reports
Cause:
- Security roles missing
Fix:
- Assign correct data roles
2. Duplicate Records
Cause:
- Incorrect joins
Fix:
- Use proper keys (PO_HEADER_ID)
3. Performance Issues
Cause:
- Large tables like INV_MATERIAL_TXNS
Fix:
- Use filters (date, org_id)
4. Missing Transactions
Cause:
- Background process failure
Fix:
- Check ESS jobs
Best Practices for Working with SCM Tables
1. Always Use Primary Keys
Avoid joins on:
- Names
- Descriptions
Use:
- IDs (PO_HEADER_ID, INVENTORY_ITEM_ID)
2. Filter Data Efficiently
Bad Practice:
Good Practice:
3. Understand Table Relationships
Example:
- PO_HEADERS_ALL → PO_LINES_ALL → PO_DISTRIBUTIONS_ALL
4. Use OTBI When Possible
- Faster
- Secure
- No SQL required
5. Leverage APIs Instead of Tables for Integrations
In modern implementations:
- Prefer REST APIs over direct table logic
- Especially when using Oracle Integration Cloud
Summary
Understanding SCM tables in Oracle Fusion is a foundational skill for any consultant working on real-time implementations.
While Oracle Fusion abstracts database access, table knowledge remains essential for:
- Troubleshooting issues
- Designing reports
- Supporting integrations
- Validating business transactions
A practical consultant always thinks in terms of:
- “Which table stores this data?”
- “What is the relationship?”
- “How can I validate this issue?”
For deeper reference, always review Oracle’s official documentation:
https://docs.oracle.com/en/cloud/saas/index.html
FAQs
1. Can we directly access SCM tables in Oracle Fusion?
No, direct database access is restricted. You must use:
- BI Publisher
- OTBI
- APIs
2. Which table is most important in Inventory?
INV_MATERIAL_TXNS is critical as it stores all inventory transactions.
3. How do integrations use SCM data?
Integrations typically use REST APIs or services exposed via
Oracle Integration Cloud instead of directly accessing tables.