Saturday, March 8, 2025

OIC interview questions



๐Ÿš€ Oracle Integration Cloud (OIC) Gen3 – Interview Q&A & Real-Time Insights

๐Ÿ“… Updated: July 26, 2025
✍️ By: Aks]


Oracle Integration Cloud (OIC) Gen3 is the latest evolution in Oracle’s cloud integration suite, bringing faster runtimes, enhanced observability, and a simplified development experience.

This blog addresses some frequently asked interview questions and real-time use case clarifications for professionals working with OIC Gen3.


๐Ÿ” 1. What is the Difference Between FTP Adapter and File Adapter?

Feature FTP Adapter File Adapter
Use Case Connects to FTP/SFTP servers Accesses on-premise file systems
Deployment Cloud-native Requires OIC Connectivity Agent
Polling Support ✅ Yes ✅ Yes (via agent)
Transfer Type Remote files over network Local or network-shared files
Common Scenario Download/upload files from a bank FTP Reading data files from an on-premise legacy system

๐Ÿ“ฆ 2. What is FBDI Integration?

FBDI (File-Based Data Import) is Oracle Fusion’s standard method to load bulk data via interface tables using CSV/XML templates.

๐Ÿ”ง Typical FBDI Integration Steps:

  1. Generate CSV file based on FBDI template (e.g., Suppliers, Journals).

  2. Upload file to UCM (via ERP Cloud Adapter).

  3. Invoke ERP Import job (e.g., Import Payables Invoices).

  4. Monitor status and fetch results using callback or polling.

๐Ÿง  Tip: Always validate CSV structure and lookup codes before upload.


๐Ÿ”— 3. What Connections Are Required for FBDI Integration?

Connection Purpose
ERP Cloud Adapter Upload to UCM and run import jobs
FTP Adapter (Optional) Retrieve CSV file from a remote location
SOAP Adapter Callback/monitor import job status (if needed)
Email Adapter Send notifications post import

๐Ÿ“‚ 4. Does FTP Adapter Support Polling?

Yes!

The FTP Adapter in OIC Gen3 supports file polling. You can configure:

  • Directory path

  • Polling frequency

  • File patterns (e.g., *.csv)

  • Archival/move after processing

๐Ÿ‘‰ Use Cases: Fetching daily reports, invoices, or orders dropped by external systems.


๐Ÿงฎ 5. How to Calculate the Top 2nd Salary (SQL)?

SELECT MAX(salary) AS second_highest_salary
FROM employees
WHERE salary < (
  SELECT MAX(salary) FROM employees
);

๐Ÿ”Ž This query works by excluding the highest salary and fetching the next max value.


๐Ÿ”„ 6. What is the Difference Between Synchronous and Asynchronous Integration?

Feature Synchronous Asynchronous
Client Waits? ✅ Yes ❌ No
Response Time Immediate Background / Delayed
Use Case Real-time APIs Bulk processing, FBDI, callbacks
Example Get Employee Info by ID Upload journal file, run job, send callback

๐Ÿ”ƒ 7. Can We Convert Scheduled Integration to App-Driven?

๐Ÿšซ No, this is not supported directly.

  • Scheduled integrations are time-triggered and don’t accept external requests.

  • You can recreate the flow logic in a new App-Driven integration.

๐Ÿ”ง Workaround: Copy artifacts and logic manually between integrations.


๐Ÿ” 8. Can We Convert App-Driven to Scheduled Integration?

๐Ÿšซ No, direct conversion is not supported.

  • App-driven integrations are designed to be invoked by APIs or events.

  • Scheduled integrations work on time-based triggers.

๐Ÿ›  You must build a new scheduled integration with similar flow logic.


✨ Bonus Tip: Best Practices for OIC Gen3

  • Use global fault handlers for robust error management.

  • Group related integrations using lookup tables and packages.

  • Schedule data purging for long-running integrations to keep performance optimal.


๐Ÿ“Œ Conclusion

OIC Gen3 offers robust capabilities for hybrid integrations, event-driven orchestration, and bulk data handling via FBDI. Understanding how adapters differ, how to design for sync/async patterns, and when to use scheduled vs app-driven flows is key for both developers and architects.

๐Ÿ”Ž Whether you're preparing for an interview or implementing real-time use cases, mastering these patterns will give you a solid edge in working with Oracle Cloud integrations.



Tuesday, March 4, 2025

OTBi Reports Drill down Report

Here’s a visually enhanced blog post crafted for Blogspot or any modern CMS. It now includes screenshots to illustrate navigation and drilling behavior within OTBI.


๐Ÿ“Š Creating Drill-Down Reports in OTBI (Oracle Fusion)

๐Ÿ—“ Updated: July 26, 2025
✍️ Author: [Aks]


๐Ÿ” What is OTBI Drill‑Down?

Oracle Transactional Business Intelligence (OTBI) offers interactive reporting within Oracle Fusion. With drill-down functionality, users can seamlessly transition from summary figures to detailed data—right from the same dashboard.

community.oracle.com/pro...

This guide shows you how to create interactive drill-downs using Action Links, transforming summary-level reporting into dynamic data discovery.


๐Ÿ’ผ Business Use Case: Supplier Invoices

Imagine a dashboard showing total invoice amounts by supplier. With a drill-down:

  • Clicking a supplier name opens a detailed listing of invoices for that supplier.

  • Enables self-service exploration without navigating multiple screens.


๐Ÿ›  Step-by-Step: Build Drill‑Down in OTBI

Step 1: Summary Report (Summary Report)

  • Select columns like:
    • Supplier Name
    • Invoice Count
    • Invoice Amount

  • Save it as Summary Report


Step 2: Detail Report (Detail Report)

  • Include granular fields:
    • Invoice Number
    • Invoice Date
    • Amount

  • Add filter prompt:

    "Supplier"."Supplier Name" = @{SupplierName}
    
  • Save as Detail Report


Step 3: Configure Action Link in Summary

In Summary Report:

  1. Edit the Supplier Name column.

  2. Go to Column Properties → Interaction.

  3. Set Primary Interaction to Action Links.

  4. Click Add Action Link:

    • Choose Navigate to BI Content

    • Select Detail Report

    • Map Supplier Name to @{SupplierName}

This creates the clickable link—from summary to detail.


✅ Test the Drill

  • Run the Summary Report.

  • Click on a Supplier Name—your Detail Report opens with filtered data.

  • Ensure both reports are saved and reside in shared folders and use the same subject area.


๐Ÿงฏ Troubleshooting Tips

  • Ensure the prompt variable in Detail matches the column name exactly.

  • Both reports must use the same subject area.

  • Confirm the Action Link mapping is correct.

  • Use reports in dashboard view, not edit mode, for links to work properly.


๐Ÿ“ธ Visual Guide: Screens & Routing

  1. Summary with action links on Supplier Name (Image 1)

  2. Editing Action Link settings (Image 2)

  3. Drilled detail report after click (Image 3)

  4. Advanced drill via deep link configuration (Image 4)

These visual cues help navigate to the right settings and confirm linkage results.


๐Ÿ“Œ Tips & Extra Use Cases

  • Extend drill-down to other fields like Business Unit, GL Period, Employee ID.

  • For deeper analytics, create multi-level drill routines (e.g. invoice → payment status).

  • Consider deep links to Fusion application pages for direct navigation—especially for expense reports or project cost details (docs.oracle.com, oracle.com, kaamilant.com, oracle-hub, tangenz.com, docs.oracle.com).


๐Ÿš€ Why Drill‑Down Reports Deliver Value

  • Enables self-service data exploration directly within OTBI.

  • Eliminates manual extracts or duplicate report generation.

  • Streamlines workflows by allowing navigational depth without leaving dashboards.


OIC GEN 3 ISSUES - Fixing NXSD Schema "No Data Found" or "No File to Process" Errors

๐Ÿง  Oracle Integration Cloud – Fixing NXSD Schema "No Data Found" or "No File to Process" Errors

๐Ÿ“… Updated: July 26, 2025
๐Ÿ”ง Category: Oracle Integration / File-Based Integrations
✍️ Author: Aks


⚠️ Problem Statement

You’ve built a file-based integration in OIC or SOA Suite using the NXSD schema (Native Format Builder). But during testing or runtime, you get errors like:

  • “No data found or file is empty”

  • “No file to process”

  • “NXSD parser error – Data is not present in expected format”


๐Ÿงช Common Symptoms

  • The integration completes with warning or faulted status.

  • Logs or activity stream shows:

    JCA-11611: Failed to parse file.
    Reason: Data not present in expected format.
    
  • No records are inserted or mapped.

  • You receive a blank payload or <null> in the target node.


๐Ÿ” Root Cause

These issues almost always boil down to mismatch between your NXSD schema definition and the actual data in the file.

๐Ÿ’ก NXSD (Native eXternal Schema Definition) is used in OIC/SOA to parse flat files (CSV, TXT, fixed-length, etc.). It acts like an XSD for non-XML data.


๐Ÿ› ️ Step-by-Step Fix Guide

✅ 1. Check File Format vs Schema

  • Open your file and compare:

    • Delimiter used (comma, pipe, tab)

    • Number of fields per line

    • Presence of header rows

  • Match these against the NXSD schema (.xsd with NXSD annotations).

๐Ÿ“Ž Example: If your NXSD expects 5 fields but the file contains 6, parsing will fail.


✅ 2. Validate NXSD Schema in JDeveloper or OIC

  • If using JDeveloper:

    • Right-click NXSD file → Run Native Format Tester

    • Load sample data → See if parsing works

  • In OIC, download and test file locally or review logs from the Activity Stream.


✅ 3. Set Correct Record Delimiter and Field Count

In NXSD definition:

  • Check recordSeparator, e.g., \n, \r\n

  • Ensure each <element> tag matches a field in the row

  • If the file has blank lines or extra separators, parsing may break

<nsxsd:element name="Employee">
  <nsxsd:field name="EmpId"/>
  <nsxsd:field name="Name"/>
  <nsxsd:field name="Salary"/>
</nsxsd:element>

✅ 4. Use IgnoreEmptyLines="true" (Optional)

Add this attribute to <nxsd:format> if your file has blank lines:

<nxsd:format name="MyFormat" type="delimited" delimiter="|" ignoreEmptyLines="true" />

✅ 5. Watch for Header Rows

If your file contains headers, you must skip them:

<nxsd:format name="Header" skipLines="1" ... />

Alternatively, handle this in OIC using the file adapter configuration (uncheck “First row as header”).


✅ 6. Validate File Encoding

  • Ensure your file is UTF-8 encoded (especially if created in Excel or external systems)

  • Use Notepad++ or VS Code to confirm encoding


✅ 7. Use File Test Flow

If you're unsure, create a dummy integration that reads the file and logs its content. This helps isolate whether the error is with:

  • File reading

  • NXSD parsing

  • Mapping logic


๐Ÿ”„ Example: Fix for a 3-Column CSV with Pipe Delimiter

✅ Input File

101|John Smith|65000
102|Lisa Wong|72000

❌ Common Mistake in NXSD

Using comma , instead of pipe |:

<nxsd:format delimiter="," />

✅ Corrected NXSD Snippet

<nxsd:format delimiter="|" recordSeparator="\n" />
<nxsd:element name="Employee">
  <nxsd:field name="EmpId"/>
  <nxsd:field name="Name"/>
  <nxsd:field name="Salary"/>
</nxsd:element>

๐Ÿ“‹ Summary Table

Issue Possible Fix
File is blank Check if file is being dropped correctly
File delimiter mismatch Update NXSD with correct `delimiter="
Unexpected number of fields Match schema elements with actual columns
Blank lines in file Use ignoreEmptyLines="true"
File includes headers Use skipLines="1" or handle via File Adapter UI
Encoding issues Convert file to UTF-8

๐ŸŽฏ Conclusion

NXSD schema parsing issues can be frustrating but are often caused by small misconfigurations. By validating your file structure, NXSD definitions, and adapter settings, you can quickly isolate and fix the issue.

✅ Always test your schema with sample data and use logging and tracing to confirm what’s being parsed. 

Oracle Fusion Forms Personalization using Sandbox

๐Ÿงญ Introduction Oracle Fusion Cloud supports no-code UI personalization using Sandbox and Structure tools. Known as Form Personalization ...