PL/SQLintermediate

CUSTOM.pll and Forms Personalization

Explain the two supported mechanisms for customizing Oracle Forms-based screens in EBS without modifying seeded forms

CUSTOM.pll is a special Oracle Forms library that EBS calls at well-defined trigger points (WHEN-NEW-FORM-INSTANCE, WHEN-NEW-BLOCK-INSTANCE, WHEN-VALIDATE-RECORD, etc.) across every Forms-based screen in the system, giving developers a single, supported, patch-safe place to inject custom logic — like defaulting a field, enforcing extra validation, or hiding a menu item — without ever touching Oracle's original .fmb form files.

CUSTOM.pll is like giving a stagehand a master remote control that can react to any cue in the script (full programmability), while Forms Personalization is like sticky notes taped to specific scenes saying 'change the lighting color here' — simpler, safer, but limited to what the sticky-note format allows.

Key Concepts

1
Forms Personalization, introduced as a lighter-weight alternative, allows functional/technical users to declaratively define conditions and actions (set property, execute built-in, message) through a UI-driven rules engine, without writing or compiling any PL/SQL code at all. Personalizations are scoped to a specific form, function, responsibility, or even a single user, and are stored as metadata rather than compiled code, making them easier to migrate between instances (FNDLOAD) and safer across patches.
Forms Personalization
2
The choice between the two is largely about complexity and skillset: CUSTOM.pll is more powerful (full PL/SQL, can call any built-in or package), but requires Forms compilation and library attachment; Forms Personalization is faster to build and safer for simple UI tweaks (making a field required, changing a prompt, conditionally hiding a button) but has more limited expressive power.
3
Interviewers commonly ask when to choose CUSTOM.pll versus Forms Personalization versus core code modification (never, except via approved BUG fixes) — testing whether the candidate understands the customization governance hierarchy Oracle recommends.