Wednesday, October 29, 2025

Understanding ESU and ASU Process in JD Edwards – How Object Installation Decisions Are Made


In Oracle JD Edwards EnterpriseOne, Software Updates play a critical role in keeping environments stable, secure, and up to date. Two key components of this update mechanism are:

  • ESU (Electronic Software Update)
  • ASU (Application Software Update)

A common question for administrators and developers is:

How does JDE decide whether an object should be added, replaced, or skipped during an ESU/ASU installation?

This blog explains the internal logic behind that decision and how the system uses key tables such as F96400 and F9672.

What are ESU and ASU?

ESU (Electronic Software Update)

ESU delivers fixes or enhancements for specific objects in JD Edwards applications.

ASU (Application Software Update)

ASU is a broader update mechanism that may include multiple ESUs and object-level changes.

Both follow similar object comparison logic during installation.

Key Tables Used in Decision Making

JD Edwards uses two important tables during the ESU/ASU process:

1. F96400 (SGESUDM)

  • Stores ESU object metadata
  • Contains update date for the incoming ESU object
  • Field of interest: SGESUDM

2. F9672 (SUSUDATE)

  • Stores software update history
  • Tracks previously applied objects in the environment
  • Field of interest: SUSUDATE

Core Decision Logic

The system determines whether an object should be:

  • Added
  • Replaced
  • Merged (legacy only, removed in 64-bit systems)

Decision Rule:

If SGESUDM > SUSUDATE → Object is REPLACED

In simple terms:

  • If the incoming ESU object is newer → Replace existing object
  • If the dates are equal or older → No replacement or conditional handling

Important Notes

1. F9861 is NOT used

The ESU installation process does not check F9861 to decide object installation.


2. MERGE Option Removed in 64-bit

In modern JD Edwards environments:

  • Only ADD and REPLACE are supported
  • MERGE functionality has been removed

SQL to Identify All Objects That Will Be Replaced

Before applying an ESU (example: UN9), you can identify impacted objects using:

SELECT 
T1.SGOBNM,
T1.SGESUP,
T1.SGESUDM,
T2.SUOBNM,
T2.SUPKGNAME,
T2.SUSUDATE,
T2.SUPATHCD
FROM JDESY920.F96400 T1
JOIN JDESY920.F9672 T2
ON T1.SGOBNM = T2.SUOBNM
WHERE T1.SGESUP = 'UN9'
AND T2.SUPATHCD = 'PD920'
AND T1.SGESUDM > (
SELECT MAX(T3.SUSUDATE)
FROM JDESY920.F9672 T3
WHERE T3.SUOBNM = T1.SGOBNM
AND T3.SUPATHCD = 'PD920'
);

What this shows:

  • Objects that will be REPLACED
  • New ESU objects not yet applied
  • Impact scope before deployment

Object-Level Comparison Example

Example 1 – Replace Scenario

SELECT SUOBNM, SUPKGNAME, SUSUDATE, SUPATHCD
FROM JDESY920.F9672
WHERE SUPATHCD = 'DV920'
AND SUOBNM = 'B9600186';
SELECT SGOBNM, SGESUP, SGESUDM
FROM JDESY920.F96400
WHERE SGESUP = 'UN9'
AND SGOBNM = 'B9600186';

Interpretation:

If:

SGESUDM > SUSUDATE

👉 Object will be REPLACED


Why This Logic Matters

Understanding ESU decision logic helps:

  • Avoid unexpected object overwrites
  • Predict deployment impact
  • Reduce downtime during ESU application
  • Improve change management planning
  • Support audit and compliance requirements

Common Use Case Before Applying ESU (UN9 Example)

Before installing ESU package like UN9, administrators should:

  1. Extract ESU package
  2. Install in Planner Environment
  3. Run comparison SQL
  4. Identify:
    • Objects to be replaced
    • New objects to be added
    • No-change objects

Reference Oracle Support Documents

  • E1: ESU Install Process Under the Covers (Doc ID: 2388199.2)
  • How to Force Merge or Re-Merge Objects (Doc ID: 790705.1)
  • Why Objects Are Merged vs Replaced (Doc ID: 660444.1)
  • Net Change Functionality of Software Updates (Doc ID: 651812.1)

Final Thoughts

The ESU/ASU process in Oracle JD Edwards EnterpriseOne is driven by a simple but powerful rule set based on object metadata comparison.

At the core:

SGESUDM (incoming ESU) vs SUSUDATE (existing system)

Understanding this logic allows technical teams to:

  • Predict update impact accurately
  • Avoid production surprises
  • Improve deployment confidence