📌 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