Tuesday, September 16, 2025

OIC - Building a Utility Service in OIC to Reprocess Failed Files

📌 Use Case

In many OIC (Oracle Integration Cloud) projects, integrations involve file-based processing where files are picked from an inbound location and processed further.

However, some files may fail due to validation issues, network errors, or downstream service unavailability. Typically, failed files are moved into an error folder.

Instead of manually moving and reprocessing files, we can create a reusable utility App-Driven Orchestration in OIC that:

  • Takes input parameters: Interface ID, File Name, and File Processing Date
  • Identifies inbound and error folders from a lookup using the Interface ID
  • Lists all failed files in the error folder
  • Moves files back to the inbound folder
  • Calls the next integration service dynamically (via absolute endpoint URI)
  • Passes the required parameters to retry the file processing automatically

This makes reprocessing automated, consistent, and faster.


🛠️ Solution Steps

1. Create Lookup for Folder Paths

  • Define a Lookup in OIC with mappings:
    • Interface ID → Inbound Folder Path → Error Folder Path
  • Example:
    Payroll_IFC | /u01/inbound/payroll | /u01/error/payroll
    HCM_IFC     | /u01/inbound/hcm     | /u01/error/hcm
    

2. Design the App-Driven Orchestration (Utility Service)

  • Triggered by a REST endpoint that takes:
    • Interface ID
    • File Name
    • File Processing Date


3. Fetch Folder Paths from Lookup

  • Use OIC Lookup functions to fetch Error Folder and Inbound Folder based on the provided Interface ID.

4. List Files in Error Folder

  • Call FTP / File Adapter to list files from the error folder.
  • Apply filter by File Name + Date if provided.

5. Move Files from Error → Inbound

  • For each matching file:
    • Use File Adapter (Read/Write) or FTP Move operation
    • Move file from the error folder to the inbound folder

6. Call the Next Integration

  • Configure an HTTP Adapter to call the downstream OIC service (absolute endpoint).
  • Pass parameters like:
    • File Name
    • Processing Date
    • Interface ID
  • This re-triggers the main integration flow as if the file was newly dropped in inbound.


7. Handle Errors and Logging

  • Add tracking:
    • Success → File reprocessed successfully
    • Failure → Log reason (e.g., file not found, service unavailable)
  • Store logs in OIC Activity Stream or custom log file.

✅ Benefits

  • Fully automated reprocessing of failed files
  • No manual intervention needed
  • Reusable utility → works across multiple integrations
  • Lookup-driven → easy to extend for new interfaces


No comments:

Post a Comment

Featured Post

OIC - OIC Utility to Reprocess Failed Real-Time Integration JSON Payloads

📌 Use Case In real-time OIC integrations, JSON payloads are exchanged with external systems via REST APIs. When such integrations fail (du...