Wednesday, February 18, 2026

Common Datadog Mapping Mistakes in OIC Integrations

During recent reviews of Datadog error logging for OIC integrations, the following common mapping issues were identified. These need to be addressed to ensure accurate monitoring, correct ticket routing, and proper error categorization.

🔎 Observed Common Mistakes

  1. Environment is populated as DEV/SIT/NA in OIC SIT test. It should be strictly set to SIT when testing in SIT.
  2. Either Source or Target marked as NA.
  3. RICEF ID is missing.
  4. Different application names used in Source, such as: CCS vs Oracle CCS ,PPM vs Oracle PPM
  5. Instance ID logged is not the actual service where the error happened, but rather the Datadog logging service ID.
  6. Error Severity is missing. (In past days, all entries showed severity as "Error". The team should clearly distinguish between Info vs Error.)
  7. Error Type is missing or incorrectly populated.
  8. Values other than Technical or Business are used. Currently, all executions are logged as Technical error. Data validation errors should be categorized under Business Error, otherwise all tickets will be routed to the OIC team.
  9. Short Description or Error Description is missing. ErrorDescription should contain a detailed message, but some entries contain only a custom summary.
  10. Created By user field is not properly populated. It should indicate: OIC user (if triggered internally), or API key user (if invoked from external API).
  11. Error Categorization not clearly defined: TECHNICAL ERROR vs BUSINESS ERROR.


Tuesday, February 17, 2026

OIC - Smart Error Categorization in Oracle Integration Cloud (OIC): Business vs Technical Errors

In enterprise integrations, not all errors are the same.

Some errors are due to business rules, while others are technical/system failures.

If we don’t categorize them properly, monitoring tools like Datadog or ServiceNow will show noisy, unclear alerts.

This blog explains how to design a clean and scalable error classification framework in OIC.

🎯 Why Error Categorization Matters

When invoking any backend service (REST/SOAP API, ERP, DB, File, etc.), failures can occur due to:

❌ Missing mandatory fields

❌ Validation failure

❌ File not found

❌ Endpoint down

❌ Timeout / network issue

❌ Authentication failure

If we treat everything as “technical error”, business users get confused.

If we treat everything as “business error”, support teams struggle.

So we need a structured approach.

🟢 Step 1: Define Error Types

1️⃣ Business Errors

These occur due to functional validation or business rule violations.

Examples:

Mandatory field missing

Invalid data format

Duplicate record

File not found (expected business file missing)

Validation failure from downstream API

👉 These should be thrown as custom business faults using Throw New Fault in OIC.

Example:

Error Code: MANDATORY_FIELD_ERROR

Error Type: BUSINESS

Severity: MEDIUM

2️⃣ Technical Errors

These occur due to system/infrastructure failures.

Examples:

500 Internal Server Error

Connection timeout

Authentication failure

Network issue

Service unavailable

👉 These are generally caught in Global Fault Handler and categorized as technical errors.

Example:

Error Code: ENDPOINT_TIMEOUT

Error Type: TECHNICAL

Severity: HIGH

🛠 Step 2: Throw Business Errors in OIC

When invoking a business API:

Add a Scope

Inside the scope → Add service invocation

In the fault handler:

Check response error

Use Throw New Fault

Set custom error key (like FILE_NOT_FOUND_ERROR)

This clearly separates business failure from system failure.


🗂 Step 3: Use Lookup for Centralized Error Mapping

Create a Lookup Table in OIC:

Error Key Error Type Reason Severity errorcode if needed

MANDATORY_FIELD_ERROR BUSINESS Mandatory field missing MEDIUM

FILE_NOT_FOUND_ERROR BUSINESS Expected file not available HIGH

ENDPOINT_TIMEOUT TECHNICAL Service timeout HIGH

DEFAULT_TECH_ERROR TECHNICAL Unknown system failure CRITICAL

🔎 Step 4: Match Thrown Error with Lookup

When sending error details to monitoring tools:

Capture thrown error key

Call Lookup

If match found:

Pull error type

Pull severity

Pull reason

If no match found:

Default to DEFAULT_TECH_ERROR

This ensures:

Standardized error reporting

Controlled severity levels

Clean dashboards in Datadog / ServiceNow

📡 Step 5: Send Structured Error to Monitoring Tools

Payload Example:

{

  "integrationName": "CustomerSync",

  "errorCode": "MANDATORY_FIELD_ERROR",

  "errorType": "BUSINESS",

  "severity": "MEDIUM",

  "reason": "Customer email is missing",

  "timestamp": "2026-02-17T10:30:00"

}

This helps:

Business team → Understand validation issues

Support team → Identify system failures quickly

Monitoring tools → Trigger correct alerts

🏗 Recommended Architecture Pattern

✔ Use Throw New Fault for business errors

✔ Use Global Fault Handler for technical errors

✔ Maintain centralized Error Lookup Table

✔ Always send structured payload to monitoring tools

✔ Keep default fallback for unknown errors

🚀 Benefits of This Approach

  • Clear separation of Business vs Technical issues
  • Cleaner observability in Datadog / ServiceNow
  • Standardized error governance
  • Reusable across all integrations
  • Easy to maintain and scale

✅ Final Thought

In OIC, error handling should not be reactive — it should be designed intentionally.

By combining:

Scoped fault handling

Custom business faults

Centralized lookup mapping

Structured monitoring payload

You build a robust enterprise-grade integration framework.


Sunday, February 15, 2026

Microsoft Excel -Auditing an Excel Worksheet

Working...

Excel provides powerful Formula Auditing tools to help you understand, debug, and validate formulas.

You’ll find these under:

Formulas Tab → Formula Auditing Group

1️⃣ Tracing Precedents in Excel Formulas

🔎 What Are Precedents?

Precedents are the cells that provide data to a formula.

Example:

If cell C1 = A1 + B1,

Then A1 and B1 are precedents of C1.

How to Trace Precedents:

Select the cell containing the formula.

Go to Formulas tab.

Click Trace Precedents.

🔹 Blue arrows will appear pointing from input cells to the formula cell.

➕ Extra Tips:

Click again to trace multiple levels.

Use Remove Arrows to clear them.

If the arrow is dotted, it may refer to another worksheet.

2️⃣ Tracing Dependents in Excel Formulas

🔎 What Are Dependents?

Dependents are cells that use the selected cell in their formulas.

Example:

If C1 = A1 + B1,

Then C1 is dependent on A1.

How to Trace Dependents:

Select the input cell.

Go to Formulas tab.

Click Trace Dependents.

🔹 Arrows will point from the selected cell to formulas that depend on it.

This is very useful when:

Updating key values

Checking impact before deleting data

Understanding calculation flow

3️⃣ Working with the Watch Window

👀 What is Watch Window?

The Watch Window allows you to monitor important cells without scrolling across sheets.

✅ How to Use:

Go to Formulas tab.

Click Watch Window.

Click Add Watch.

Select the cell(s) to monitor.

Click Add.

You’ll see:

Workbook

Sheet

Cell

Current Value

Formula

💡 Best Use Cases:

  • Monitoring totals
  • Watching KPIs
  • Debugging large financial models
  • Tracking values across multiple sheets

4️⃣ Showing Formulas Instead of Results

Sometimes you need to view formulas instead of calculated values.

✅ Method 1:

Press Ctrl + ` (grave accent key)

✅ Method 2:

Go to Formulas tab

Click Show Formulas

This will:

Display formulas in all cells

Expand column widths automatically

Press again to return to normal view.

🎯 Why Formula Auditing Is Important

  • ✔ Helps detect errors
  • ✔ Improves spreadsheet transparency
  • ✔ Makes financial models easier to validate
  • ✔ Prevents accidental data corruption
  • ✔ Supports audit and compliance checks


Tuesday, February 10, 2026

OIC - OIC Scheduled Integrations: Does Ad-Hoc Run Impact Scheduled Run Parameters?

When working with Scheduled Integrations in Oracle Integration Cloud (OIC), a common doubt is:

If I run the integration manually (Ad-Hoc / Run Now), will it impact the scheduled StartTime / EndTime values?

Correct Answer (Based on Testing)

No — Ad-Hoc run does NOT impact scheduled parameter values.

There is no direct relationship between Ad-Hoc execution and Scheduled execution parameter persistence.

📌 How It Actually Works

1️⃣ Scheduled Run

Triggered automatically by OIC Scheduler

Uses stored schedule parameter values

Follows recurrence (15 min / hourly / daily etc.)

Parameter continuity works only within scheduled executions

2️⃣ Ad-Hoc Run (Run Now)

Triggered manually from OIC Console

You may override parameters at runtime

Executes independently of scheduler

Does NOT modify schedule configuration

Any values entered during Ad-Hoc run are used only for that execution.

🔍 Important Clarification

Earlier confusion usually comes from watermark/rotation logic like:

StartTime = EndTime

EndTime = sysdate

If your integration updates values internally, that affects the current run execution only.

It does NOT update the scheduler’s stored parameters.

The next scheduled run will still use the originally configured schedule parameters.

📊 Final Behavior Summary

Scenario | Impacts Next Scheduled Run?

Ad-Hoc run (no changes) | ❌ No

Ad-Hoc run (override values) | ❌ No

Scheduled run | ✅ Uses its own stored schedule values

Internal variable assignment for adhoc run ,| ❌ Does not change scheduler config

🎯 Final Conclusion

✔ Ad-Hoc run is completely independent

✔ It does NOT update scheduler stored parameters

✔ Scheduled runs continue with configured values

✔ No cross-impact between Ad-Hoc and Scheduled runs


OIC - Rolling Date Window Using Schedule Parameters in Oracle OIC

📌 Use Case

In many OIC scheduled integrations, we need to: 

Process data between StartTime and EndTime

After successful run:

Move EndTime to StartTime

Reset EndTime

Use current timestamp for next execution

This ensures:

No duplicate processing

No missing data

Smooth incremental extraction

Example:

Run 1 → Process: Jan 01 – Jan 02

Run 2 → Process: Jan 02 – Jan 03

Run 3 → Process: Jan 03 – Jan 04

This is called a Rolling Date Window.

🛠 Solution Steps in OIC

Step 1️⃣ – Create Schedule Parameters

  1. Go to Schedule → Parameters
  2. Create: StartTime , EndTime
  3. Set initial default values.

Step 2️⃣ – Capture Current Time (Timezone Adjusted)

Use Assign action:

format-dateTime(string(adjust-dateTime-to-timezone(current-dateTime(), dayTimeDuration('PT8H'))),'[Y0001]-[M01]-[D01]T[H01]:[m01]:[s01].[H001]Z')

This: Gets current time Adjusts to required timezone (HK example PT8H)

Formats to ISO timestamp

Store it in: Var_CurrentHKDateTime

Step 3️⃣ – Use Stitch (Conditional Logic)

Condition:

EndTime != ""

When EndTime exists:

Use existing StartTime & EndTime

Otherwise:

Set EndTime = Current Timestamp

Step 4️⃣ – Rotate the Values (Important Step)

After successful processing:

Use Assign:

StartTime = EndDate

EndTime = ""

This is called:

🔄 Parameter Rotation

🔁 Rolling Window Shift

📦 Incremental Date Rotation Logic

🎯 Benefits

✅ Prevents duplicate data

✅ Enables incremental extraction

✅ Fully dynamic window

✅ No manual parameter update

✅ Works for ERP, HCM, REST, DB polling



Monday, February 9, 2026

OIC - ERP - Automated Payment File Transmission Using ERP PR Process, Manage Transmission Configuration & OIC

🔎 Overview

In Oracle ERP Cloud, the Payment Process Request (PR) generates payment files (ACH/RTGS/FPS/TT, etc.).

Using Manage Transmission Configurations, ERP securely sends the payment file to an OIC SFTP server. An event is generated, which OIC subscribes to. OIC then downloads, transforms, and forwards the file to the target bank or external system.

This architecture ensures secure, automated, and event-driven payment file processing.

📌 Use Case

🎯 Business Scenario

  • Organization runs Payment Process Request (PR) in ERP.
  • Payment file must be transmitted to bank in specific format.
  • File transformation required before sending to bank.
  • Need automated, event-driven, secure integration.

🔁 End-to-End Flow

  1. PR process runs in ERP.
  2. ERP generates payment file.
  3. Manage Transmission Configuration pushes file to OIC SFTP.
  4. ERP raises transmission event.
  5. OIC subscribes to event.
  6. OIC downloads file from SFTP.
  7. OIC transforms file (mapping/formatting).
  8. OIC sends file to target bank SFTP/API.

Solution Architecture & Steps

🟢 Step 1: Configure Payment Process Request (PR) in ERP

Navigate to:

Navigate to: Setup and Maintenance →Manage Payement Process Profiles

Ensure payment format is configured.

Associate transmission configuration with payment format.

✔ Validate payment file is generated successfully.


🟢 Step 2: Configure Manage Transmission Configuration in ERP

Navigate to: Setup and Maintenance → Manage Transmission Configurations

Configure:

Protocol → Secure File Transfer Protocol (SFTP)

Host → OIC SFTP endpoint

Port → 22

Username/Authentication

Remote Directory

Assign this configuration to payment format.

✔ Test connection.




🟢 Step 3: File Transmission from ERP to OIC SFTP

Once PR completes:

ERP automatically transmits file to OIC SFTP.

Transmission status updates to “Completed”.

An ERP business event is generated.

Navigations >> Payables >> Payments >> task >> submit payment process request >> choose which payement profile option.

🟢 Step 4: OIC Event Subscription

In Oracle Integration Cloud:

Create integration using ERP Adapter (Business Event Trigger)

Subscribe to Payment Transmission event

Event contains metadata such as:

File name

Transmission status

Payment reference

Filtering based on Payment profiles:



🟢 Step 5: Download File from OIC SFTP

Inside main OIC orchestration:

Use SFTP Adapter

Read file from inbound directory

Store file in staging variable



🟢 Step 6: Transform File

Use Mapper

Convert ERP format to Bank-specific format

Apply:

Header changes

Footer calculation

Field reformatting

Encoding changes (if required)

🟢 Step 7: Send to Target System

Based on bank requirement:

Push via SFTP

OR

Call Bank API

OR

Send via secure socket

Log response and update tracking.



🏗️ Architecture Diagram (Logical View)

ERP PR

Manage Transmission Config (SFTP)

OIC SFTP

ERP Event

OIC Event Subscription

Main OIC Orchestration

Transform

Target Bank

🔐 Security Considerations

✔ Use SSH key-based authentication

✔ Restrict IP whitelisting

✔ Use separate inbound/outbound directories

✔ Enable encryption if bank requires PGP

✔ Mask sensitive payment data in logs

🏆 Benefits

Fully automated payment transmission

Event-driven architecture

Secure file handling

Flexible transformation capability

Reduced manual intervention

Clear monitoring in ERP & OIC

🔚 Conclusion

By integrating Payment Process Request → Manage Transmission Configuration → OIC Event Subscription → Transformation → Bank Delivery, organizations can build a robust and secure payment automation framework.

This approach ensures scalability, traceability, and compliance with banking standards.


OIC ERP - Manual Purge of Interface Tables for Import Costs in Oracle ERP Cloud

🔎 Overview

When running Import Costs in Oracle ERP Cloud (Cost Management), interface tables store staging data. If not cleaned regularly, they grow large and affect performance.

This guide explains how to manually purge interface tables directly from ERP (no automation, no OIC).

📌 When to Manually Purge?

  • After successful Import Costs completion
  • When interface table size becomes large
  • When facing slow import performance
  • During period-end cleanup

Steps to Manually Purge from ERP

Step 1️⃣: Navigate to Scheduled Processes

Go to Tools → Scheduled Processes

Step 2️⃣: Click “Schedule New Process”

Click Schedule New Process

Search for: Purge Interface Tables

Select and click OK


Step 3️⃣: Enter Required Parameters

  • Import process name
  • Start Load Request Id
  • End Load Request Id

Step 4️⃣: Submit the Process

  • Click Submit
  • Monitor the job status
  • Wait for status = Succeeded

Step 5️⃣: Validate

Run Import Costs again (if required)

Confirm performance improvement

Ensure no business impact

⚠️ Precautions

❌ Do NOT purge unprocessed or error records

❌ Do NOT purge current-day active imports

✔ Always coordinate with Functional Team

✔ Prefer non-business hours for purge

🎯 Result

Manual purge helps:

Reduce interface table size

Improve Import Costs performance

Maintain ERP stability

Avoid long-running ESS jobs

Featured Post

Common Datadog Mapping Mistakes in OIC Integrations

During recent reviews of Datadog error logging for OIC integrations, the following common mapping issues were identified. These need to be a...