# Oracle EBS 12.2 Upgrade: Custom Code Remediation Effort Calculator

> Source: https://netray.co/tools/oracle-ebs-12-2-custom-code-remediation-effort-calculator
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: Free Tools

## Short answer

Estimate the hours, cost and weeks needed to make custom objects online-patching compliant and retested for EBS 12.2.

## Category

oracle

## Erp

Oracle E-Business Suite

## Audience

- EBS developer
- EBS technical lead
- Upgrade project manager

## Tool

**Kind:** calculator

**Currency:** $

**Inputs:**

#### Custom tables needing editioning view (AD_ZD_TABLE.UPGRADE)

**Key:** tables

**Type:** number

**Default:** 40

**Min:** 0

**Step:** 1

#### Hours per custom table

**Key:** tables_h

**Type:** number

**Default:** 2

**Min:** 0

**Step:** 0.25

**Unit:** h

#### Custom PL/SQL packages

**Key:** pkgs

**Type:** number

**Default:** 200

**Min:** 0

**Step:** 5

#### Hours per package

**Key:** pkgs_h

**Type:** number

**Default:** 0.75

**Min:** 0

**Step:** 0.25

**Unit:** h

#### Readiness report violations (ADZDPSUM / ADZDPMAN / ADZDPAUT)

**Key:** viol

**Type:** number

**Default:** 60

**Min:** 0

**Step:** 1

#### Hours per violation

**Key:** viol_h

**Type:** number

**Default:** 1.5

**Min:** 0

**Step:** 0.25

**Unit:** h

#### Custom forms

**Key:** forms

**Type:** number

**Default:** 30

**Min:** 0

**Step:** 1

#### Hours per form

**Key:** forms_h

**Type:** number

**Default:** 3

**Min:** 0

**Step:** 0.5

**Unit:** h

#### Custom reports (Oracle Reports / XML Publisher)

**Key:** reports

**Type:** number

**Default:** 80

**Min:** 0

**Step:** 1

#### Hours per report

**Key:** reports_h

**Type:** number

**Default:** 1.5

**Min:** 0

**Step:** 0.25

**Unit:** h

#### OAF personalizations / extensions

**Key:** oaf

**Type:** number

**Default:** 25

**Min:** 0

**Step:** 1

#### Hours per OAF item

**Key:** oaf_h

**Type:** number

**Default:** 4

**Min:** 0

**Step:** 0.5

**Unit:** h

#### Custom concurrent programs (retest)

**Key:** cps

**Type:** number

**Default:** 150

**Min:** 0

**Step:** 5

#### Hours per program

**Key:** cps_h

**Type:** number

**Default:** 0.5

**Min:** 0

**Step:** 0.25

**Unit:** h

#### Integrations / interfaces

**Key:** ints

**Type:** number

**Default:** 20

**Min:** 0

**Step:** 1

#### Hours per integration

**Key:** ints_h

**Type:** number

**Default:** 8

**Min:** 0

**Step:** 1

**Unit:** h

#### Test cycle multiplier

**Key:** mult

**Type:** number

**Default:** 1.3

**Min:** 1

**Step:** 0.05

#### Hourly rate

**Key:** rate

**Type:** number

**Default:** 95

**Min:** 0

**Step:** 5

**Unit:** $/h

#### Developers on the team

**Key:** devs

**Type:** number

**Default:** 3

**Min:** 1

**Step:** 1

**Outputs:**

#### Base remediation hours

**Key:** base_hours

**Expr:** tables * tables_h + pkgs * pkgs_h + viol * viol_h + forms * forms_h + reports * reports_h + oaf * oaf_h + cps * cps_h + ints * ints_h

**Format:** hours

#### Total hours with test cycles

**Key:** total_hours

**Expr:** base_hours * mult

**Format:** hours

**Primary:** true

#### Estimated cost

**Key:** cost

**Expr:** total_hours * rate

**Format:** currency

#### Elapsed weeks for the team

**Key:** weeks

**Expr:** total_hours / (devs * 32)

**Format:** weeks

**Description:** Assumes 32 productive hours per developer per week.

#### Database-tier share (tables, packages, violations)

**Key:** db_share

**Expr:** (tables * tables_h + pkgs * pkgs_h + viol * viol_h) / base_hours * 100

**Format:** percent

**Chart:**

#### Total hours vs number of custom PL/SQL packages

**Type:** line

**X:** pkgs

**From:** 0

**To:** 1000

**Steps:** 21

**Series:**

- total_hours

**Disclaimer:** Hours per object are field rules of thumb for planning, not Oracle figures. Replace them with averages from a pilot batch of your own objects.

## Content

**Intro:** This calculator estimates the developer hours, cost and elapsed weeks to make EBS custom code compliant with 12.2 online patching and to retest it. Every hours-per-object default is editable so you can replace the rules of thumb with rates from a pilot batch.

**Sections:**

#### What changes for custom code in 12.2

**Body:** The core difference between EBS 12.1 and 12.2 is online patching: 12.2 uses Oracle Database Edition-Based Redefinition plus a dual application file system so patches are applied to a patch edition while users stay on the run edition. Custom code must follow the same rules as Oracle code. Code objects such as packages, views, synonyms and triggers are editioned. Tables are not editioned, so each custom table needs an editioning view and an APPS synonym, which AD_ZD_TABLE.UPGRADE generates; after later structure changes you run AD_ZD_TABLE.PATCH. Code must reference the editioning view or synonym, not the base table, and must not use DDL patterns that break under editioning. The Oracle developer guide for 12.2 lists these standards in full.

#### How to get the counts

**Body:** Run the Online Patching Readiness Report described in My Oracle Support Doc ID 1531121.1 on your 12.1.3 system before the upgrade. ADZDPSUM.sql gives the summary of schemas and objects, ADZDPMAN.sql lists violations that need manual fixes, and ADZDPAUT.sql lists issues that the enablement process fixes automatically. After enablement, run the Global Standards Compliance Checker, ADZDDBCC.sql, to find remaining violations. Count custom tables from your custom schemas, packages from DBA_OBJECTS for those schemas, forms and reports from your code repository, and concurrent programs from the FND definitions with your custom application short name.

**Bullets:**

- Manual violations (ADZDPMAN) are the ones that drive the violations line
- Automatic fixes (ADZDPAUT) still need retesting, so do not count them as zero
- Register custom schemas with EBS so they are edition-enabled

#### Worked example

**Body:** With the defaults: 40 tables x 2 = 80 h, 200 packages x 0.75 = 150 h, 60 violations x 1.5 = 90 h, 30 forms x 3 = 90 h, 80 reports x 1.5 = 120 h, 25 OAF items x 4 = 100 h, 150 programs x 0.5 = 75 h and 20 integrations x 8 = 160 h. The base is 865 hours; with the 1.3 test multiplier the total is about 1,125 hours, roughly 107,000 at 95 per hour. A team of three developers at 32 productive hours a week needs about 11.7 weeks. The chart shows how package count moves the total; for estates with very large PL/SQL libraries, the database tier dominates.

#### Common mistakes

**Body:** Teams often count only the objects listed in the readiness report and forget that every custom form, report and OAF extension must be retested on the 12.2 technology stack. Other mistakes: running AD_ZD_TABLE.UPGRADE but leaving code that still selects from the base table owner; leaving custom objects in the APPS schema without following the editioning rules; skipping the Global Standards Compliance Checker after enablement; and deploying custom code outside adop in 12.2, so the next fs_clone or cutover loses the change.

**Cta:** If you want an AI assistant that reads your EBS custom code inventory and readiness reports on your own servers and drafts remediation notes, we can set that up.

**Faq:**

#### What is the difference between Oracle EBS 12.1 and 12.2?

**Answer:** 12.2 adds online patching using Edition-Based Redefinition and a dual application file system (fs1 and fs2 plus fs_ne), patched with adop instead of adpatch. It also moves the application tier to WebLogic Server. For custom code this means editioning rules, editioning views on custom tables and deploying changes through patch cycles.

#### What does AD_ZD_TABLE.UPGRADE do?

**Answer:** It generates an editioning view and the corresponding APPS synonym for a custom table so the table can be used safely under online patching. Run it after creating a custom table; after later column changes, run AD_ZD_TABLE.PATCH to regenerate the editioning view.

#### Which readiness reports should we run before the 12.2 upgrade?

**Answer:** The Online Patching Readiness Report in Doc ID 1531121.1: ADZDPSUM.sql for the summary, ADZDPMAN.sql for violations needing manual fixes and ADZDPAUT.sql for those fixed automatically. After Online Patching Enablement, run ADZDDBCC.sql, the Global Standards Compliance Checker, and clear its findings.

#### Are the hours-per-object values Oracle numbers?

**Answer:** No. They are field rules of thumb for planning. Fix a sample of 10 to 20 objects of each type early in the project, measure the real average including retest, and replace the defaults. Complex integrations and OAF extensions vary the most.

## Search terms

oracle ebs upgrade, oracle ebs 12.2 upgrade step by step, oracle ebs upgrade services, oracle ebs 12.2 upgrade guide, difference between oracle ebs 12.1 and 12.2, ebs 12.2 online patching readiness report, ad_zd_table.upgrade custom table

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
