Guides / Pipelines · Production
Pipelines · Production

Oracle Fusion to Azure or Databricks with BICC: a production checklist

What it takes to run 200+ PVOs every week without silent gaps — ordering, network load, delete detection and verifying every delivery.

9 min read · FusionConvergeX engineering

Getting one PVO out of Oracle Fusion is easy. Running a few hundred of them on a schedule — into more than one environment, without anyone noticing a gap weeks later — is a different problem. This is the checklist we use.

1. Model your PVOs as groups with dependencies

Reference data (business units, ledgers, suppliers, projects) should land before the transactions that point at it. Organize PVOs into groups with explicit depends_on relationships, then fire them in dependency levels. Group-level dependencies are more reliable than per-PVO ones — real PVO-to-PVO references are full of cycles.

2. Fire in waves, not all at once

Firing every PVO at the same moment creates a burst of thousands of simultaneous uploads. On one weekly run that burst tripped a network firewall and a large share of pushes failed. Two fixes together cut peak connections from thousands to dozens:

3. Push to every environment, archive only on full success

If the same extract goes to DEV, TEST and QA, treat the set as one delivery: only mark a run complete (and move it out of the landing area) when every file reached every destination. A partial push should return an error so monitoring fires and the event can be retried.

4. Verify every run end-to-end

After the last wave, compare three views of the run: what was planned, what BICC fired, and what was delivered. Anything fired-but-not-delivered, or still sitting in the landing bucket, is a problem. Send one report every run — if the report doesn't arrive, that's a signal too.

Watch for duplicate names. Different modules have PVOs with the same short name (for example two InvoiceLineExtractPVOs in Payables and Project Billing). Match deliveries on the fully qualified PVO name, never on a folder name, or your checker will report false gaps.

5. Alert on the first error

A monitoring alarm that only fires after five minutes of continuous errors will miss a partial push — that's usually a single burst. Alert on any error, and make the message say what it most likely means.

6. Detect deletes separately

Incremental extracts only see inserts and updates. BICC's Active Primary Key Extract job type returns the current set of primary keys for a PVO; compare it with what you've loaded to find deleted rows, and soft-delete them downstream.

7. Keep credentials out of the pipeline

8. Report row counts every run

A per-PVO status and row-count email (with a CSV attached) after each run gives data owners confidence and catches anomalies — like a daily-rate PVO suddenly extracting 35,000 rows every run because its watermark froze.

See it on your own Fusion data

The free SQL editor queries tables and PVOs, and the catalog shows every PVO's columns and underlying SQL.

Request free access