Oracle EBS and Fusion Cloud Coexistence Patterns

Type: ERP Integration System: Oracle EBS (12.2) + Fusion Cloud ERP (25A) Confidence: 0.82 Sources: 6 Verified: 2026-03-09 Freshness: 2026-03-09

TL;DR

System Profile

This card covers the technical architecture and integration patterns for running Oracle E-Business Suite 12.2 and Oracle Fusion Cloud ERP simultaneously during a phased migration. It addresses data synchronization, master data governance, cross-system transaction flow, and reporting consolidation.

SystemRoleAPI SurfaceDirection
Oracle E-Business Suite 12.2Legacy ERP (modules being retired)PL/SQL, ISG SOAP/REST, Business EventsBidirectional
Oracle Fusion Cloud ERP 25ATarget ERP (modules going live)REST API, SOAP, FBDI, Business EventsBidirectional
Oracle Integration Cloud Gen 3Integration hubEBS Adapter, ERP Cloud AdapterOrchestrator
Unified Data WarehouseConsolidated reportingBIP, OTBI, ODIInbound from both

API Surfaces & Capabilities

Integration PatternOIC ComponentDirectionLatencyVolumeUse When
Event-driven syncEBS Adapter (Business Events)EBS → FusionSecondsLow-mediumMaster data changes trigger updates
Scheduled pollOIC Scheduler + EBS AdapterEBS → FusionMinutesMedium-highBatch sync at intervals
REST-to-RESTERP Cloud Adapter → EBS ISGFusion → EBSSecondsLowFusion events needing EBS processing
FBDI bulk loadOIC File Adapter + ERP RESTEBS → FusionHoursHighInitial loads and reconciliation
Business EventsERP Cloud AdapterFusion → EBSSecondsLow-mediumFusion events triggering EBS processing

Rate Limits & Quotas

Per-Request Limits

Limit TypeValueSystemNotes
EBS ISG concurrent sessions50 (default)EBSConfigurable
Fusion REST POST max records500Fusion CloudUse FBDI for higher volumes
OIC flow timeout (sync)300 secondsOICUse async for long operations
OIC Agent connections10 concurrentOIC AgentPer instance; deploy multiple for HA
FBDI concurrent imports5Fusion CloudCoordinate scheduling

Rolling / Daily Limits

Limit TypeValueWindowNotes
OIC message packs5K-50K/monthMonthlyBidirectional coexistence doubles consumption
EBS ISG daily API callsNo hard limitN/AConstrained by server capacity
Fusion Cloud REST APIFair-use throttlingPer podShared across all integrations

Authentication

FlowSystemMethodManaged ByNotes
EBS inboundEBS (ISG)Username/passwordOIC ConnectionStored in OIC secure vault
EBS outboundEBS → OICBusiness Event subscriptionOIC EBS AdapterAgent-based
Fusion inboundFusion CloudOAuth 2.0 JWT BearerOIC ERP Cloud AdapterAutomatic token management
Fusion outboundFusion → OICBusiness Event subscriptionOIC ERP Cloud AdapterNative cloud adapter

Authentication Gotchas

Constraints

Integration Pattern Decision Tree

START — Running EBS and Fusion Cloud in coexistence
├── Which modules are in each system?
│   ├── Financials in Fusion, Procurement in EBS
│   │   ├── AP Invoices → EBS → OIC → Fusion GL
│   │   └── Supplier master → EBS is source of truth
│   ├── Procurement in Fusion, Financials in EBS
│   │   ├── PO/Invoice → Fusion → OIC → EBS GL
│   │   └── Supplier master → Fusion is source of truth
│   └── HCM in Fusion, ERP in EBS
│       ├── Employee → Fusion HCM → OIC → EBS HR
│       └── Payroll → Fusion → OIC → EBS GL
├── What data needs to sync?
│   ├── Master data → Designate source of truth + OIC flow
│   ├── Transactional data → One-way from source module
│   └── Reference data → Sync before go-live; event-driven after
├── Sync frequency?
│   ├── Real-time (< 30s) → OIC event-driven
│   ├── Near-real-time (1-15 min) → OIC scheduled poll
│   └── Batch (hourly/daily) → OIC scheduled + FBDI
└── Conflict resolution?
    ├── Source-of-truth wins
    ├── Last-write-wins (timestamp)
    └── Manual review queue

Quick Reference

Coexistence Integration Flows by Module Split

Module SplitKey Data FlowsSync PatternSource of TruthCritical Timing
Financials in Fusion, Procurement in EBSAP invoices → GL journalsBatch (hourly)EBS for suppliers, Fusion for GLBefore period close
Procurement in Fusion, Financials in EBSPO → Invoice → GLEvent-driven + batchFusion for suppliers, EBS for GLBefore payment run
SCM in EBS, Financials in FusionInventory transactions → GLBatch (daily)EBS for items, Fusion for GLBefore inventory close
HCM in Fusion, Payroll in EBSEmployee → Payroll → GLScheduled (daily)Fusion for employeesBefore payroll run
Full parallel runAll master + transactionalBidirectional real-timePer entityContinuous

Step-by-Step Integration Guide

1. Deploy OIC Connectivity Agent

Install the agent on a VM with access to EBS and outbound HTTPS to OIC. [src1]

./oic_agent_installer.sh \
  --agent-group-identifier=EBS_AGENT_GROUP \
  --oic-url=https://<oic-instance>.integration.ocp.oraclecloud.com

Verify: Agent status shows CONNECTED in OIC Console.

2. Configure EBS ISG Services

Deploy and grant required services in ISG so OIC can discover and invoke them. [src4]

BEGIN
  fnd_soa_util.grant_service(
    p_service_id => '<service_id>',
    p_grantee_type => 'USER',
    p_grantee_key => 'OIC_INTEGRATION_USER'
  );
END;

Verify: OIC EBS Adapter connection test succeeds.

3. Create OIC Integration Flow for Master Data Sync

Build a scheduled integration polling EBS for changed entities and syncing to Fusion. [src1]

Verify: Test record created in EBS appears in Fusion within sync interval.

4. Implement Cross-Reference ID Mapping

Create mapping table linking EBS and Fusion IDs for shared entities. [src5]

CREATE TABLE erp_xref (
  xref_id NUMBER GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
  entity_type VARCHAR2(50) NOT NULL,
  ebs_id VARCHAR2(100) NOT NULL,
  fusion_id VARCHAR2(100),
  sync_status VARCHAR2(20) DEFAULT 'PENDING',
  last_synced TIMESTAMP,
  source_system VARCHAR2(10) NOT NULL,
  CONSTRAINT uq_xref UNIQUE (entity_type, ebs_id)
);

Verify: SELECT COUNT(*) FROM erp_xref WHERE sync_status = 'SYNCED' shows records after first sync.

Code Examples

Python: Cross-System Supplier Sync

# Input:  EBS supplier changes, Fusion REST endpoint
# Output: Synced supplier records with cross-reference mapping

def sync_suppliers(last_sync_time):
    ebs_resp = requests.get(f"{EBS_URL}/suppliers",
        params={"modifiedAfter": last_sync_time.isoformat()}, auth=EBS_AUTH)
    for supplier in ebs_resp.json().get("items", []):
        fusion_id = lookup_xref("SUPPLIER", supplier["VendorId"])
        if fusion_id:
            requests.patch(f"{FUSION_URL}/suppliers/{fusion_id}",
                json=map_fields(supplier), headers=FUSION_HEADERS)
        else:
            resp = requests.post(f"{FUSION_URL}/suppliers",
                json=map_fields(supplier), headers=FUSION_HEADERS)
            save_xref("SUPPLIER", supplier["VendorId"], resp.json()["SupplierId"])

cURL: Test Cross-System Connectivity

# Test EBS ISG
curl -s -w "\nHTTP: %{http_code}\n" \
  "http://<ebs-host>:<port>/webservices/rest/supplier/v1/suppliers?limit=1" \
  -u "<user>:<password>"

# Test Fusion Cloud
curl -s -w "\nHTTP: %{http_code}\n" \
  "https://<pod>.fa.us2.oraclecloud.com/fscmRestApi/resources/latest/suppliers?limit=1" \
  -H "Authorization: Bearer $FUSION_TOKEN"

Data Mapping

Cross-System Entity Mapping

EntityEBS TableFusion REST ResourceKey MappingConflict Resolution
SupplierAP_SUPPLIERS/suppliersVENDOR_ID → SupplierIdSource-of-truth wins
CustomerHZ_PARTIES + HZ_CUST_ACCOUNTS/accountsCUST_ACCOUNT_ID → PartyIdSource-of-truth wins
ItemMTL_SYSTEM_ITEMS_B/inventoryItemsINVENTORY_ITEM_ID → ItemIdEBS master during transition
GL AccountGL_CODE_COMBINATIONS/ledgerAccountsCODE_COMBINATION_ID → AccountIdFusion master for GL
EmployeePER_ALL_PEOPLE_F/workers (HCM)PERSON_ID → PersonIdHCM source always

Data Type Gotchas

Error Handling & Failure Points

Common Error Codes

CodeSystemMeaningResolution
OIC-CONN-AGENT-001OICAgent unreachableRestart agent; check firewall
401FusionOAuth token expiredCheck IDCS app is active
ISG-AUTH-FAILEBSISG auth failureReset integration user password
DUPLICATE_KEYFusionRecord existsCheck xref table; use upsert
JBO-25013FusionRow lock contentionQueue + serial processing

Failure Points in Production

Anti-Patterns

Wrong: Direct database replication without transformation

# BAD — Table structures are incompatible between EBS and Fusion
Oracle GoldenGate: EBS.AP_SUPPLIERS → Fusion.POZ_SUPPLIERS
# Data models are completely different

Correct: API-mediated synchronization through OIC

# GOOD — OIC handles field mapping, ID xref, error handling
EBS (ISG REST) → OIC (Transform) → Fusion (REST API)

Wrong: Overlapping document number sequences

# BAD — Both systems generate PO-2026-001
# Creates reconciliation nightmares

Correct: Non-overlapping number ranges

# GOOD — EBS: PO-E-000001, Fusion: PO-F-000001
# Clear system origin in every document number

Wrong: No source-of-truth designation

# BAD — Both systems accept updates independently
# Sync overwrites one change with the other

Correct: Single source of truth per entity

# GOOD — Suppliers mastered in EBS until Procurement migrates
# EBS: Full CRUD | Fusion: Read-only (synced from EBS)

Common Pitfalls

Diagnostic Commands

# Check OIC Agent status
curl -s "https://<oic-url>/ic/api/integration/v1/monitoring/agents" \
  -H "Authorization: Bearer $OIC_TOKEN" | jq '.items[] | {name, status}'

# Check failed OIC integration flows
curl -s "https://<oic-url>/ic/api/integration/v1/monitoring/instances?status=FAILED&limit=10" \
  -H "Authorization: Bearer $OIC_TOKEN" | jq '.items[] | {flowName, status, startTime}'

# Check cross-reference table health
# SELECT entity_type, sync_status, COUNT(*) FROM erp_xref GROUP BY entity_type, sync_status;

Version History & Compatibility

ComponentVersionStatusCoexistence Impact
OIC Generation 3CurrentGARecommended for new integrations
OIC EBS Adapter24.10CurrentSupports EBS 12.2 ISG REST + SOAP + Events
OIC ERP Cloud Adapter24.10CurrentSupports Fusion 25A REST + Events
EBS 12.2 ISGRUP 12.2.12+SupportedLatest RUP recommended

When to Use / When Not to Use

Use WhenDon't Use WhenUse Instead
Running EBS and Fusion simultaneously during phased migrationPlanning initial migration strategyoracle-ebs-to-fusion-migration/2026
Need real-time data sync between EBS and FusionOne-time data migration onlyFBDI bulk load
Module-by-module cutover spanning 6-24 monthsBig-bang cutoverStandard migration guide

Important Caveats

Related Units